Commit 3e214e7f authored by Adam Mercer's avatar Adam Mercer
Browse files

migrate NLTides branch

parent 837952ed
image: docker:latest
variables:
DOCKER_DRIVER: overlay
# GIT_DEPTH: 1
COMMIT: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
BRANCH: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
LAL_DIR: $CI_PROJECT_DIR/opt/lalsuite
stages:
- level0
- level1
- level2
- level3
- level4
- nightly
- container
- tag
before_script:
- ulimit -S -c 0
- export VERBOSE="true"
- export PATH=/usr/lib/ccache:$PATH
- export CCACHE_DIR=${PWD}/ccache
- export PKG_CONFIG_PATH=${LAL_DIR}/lib/pkgconfig
- mkdir -p opt/lalsuite
cache:
key: $CI_JOB_NAME
paths:
- ccache
level0:lal:
image: ligo/lalsuite-dev:jessie
stage: level0
script:
- cd lal
- ./00boot
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make dist
- tar xf lal-*.tar.xz
- cd lal-*
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make -j4 V=1
- make -j4 V=1 check
- make -j4 install
- make -j4 install-html
artifacts:
expire_in: 3h
paths:
- opt/lalsuite
only:
- pushes
level1:lalframe:
image: ligo/lalsuite-dev:jessie
stage: level1
script:
- cd lalframe
- ./00boot
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make dist
- tar xf lalframe-*.tar.xz
- cd lalframe-*
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make -j4 V=1
- make -j4 V=1 check
- make -j4 install
- make -j4 install-html
artifacts:
expire_in: 3h
paths:
- opt/lalsuite
dependencies:
- level0:lal
only:
- pushes
level1:lalmetaio:
image: ligo/lalsuite-dev:jessie
stage: level1
script:
- cd lalmetaio
- ./00boot
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make dist
- tar xf lalmetaio-*.tar.xz
- cd lalmetaio-*
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make -j4 V=1
- make -j4 V=1 check
- make -j4 install
- make -j4 install-html
artifacts:
expire_in: 3h
paths:
- opt/lalsuite
dependencies:
- level0:lal
only:
- pushes
level1:lalsimulation:
image: ligo/lalsuite-dev:jessie
stage: level1
script:
- cd lalsimulation
- ./00boot
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make dist
- tar xf lalsimulation-*.tar.xz
- cd lalsimulation-*
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make -j4 V=1
- make -j4 V=1 check
- make -j4 install
- make -j4 install-html
artifacts:
expire_in: 3h
paths:
- opt/lalsuite
dependencies:
- level0:lal
only:
- pushes
level1:lalxml:
image: ligo/lalsuite-dev:jessie
stage: level1
script:
- cd lalxml
- ./00boot
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make dist
- tar xf lalxml-*.tar.xz
- cd lalxml-*
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make -j4 V=1
- make -j4 V=1 check
- make -j4 install
- make -j4 install-html
artifacts:
expire_in: 3h
paths:
- opt/lalsuite
dependencies:
- level0:lal
only:
- pushes
level2:lalburst:
image: ligo/lalsuite-dev:jessie
stage: level2
script:
- cd lalburst
- ./00boot
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make dist
- tar xf lalburst-*.tar.xz
- cd lalburst-*
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make -j4 V=1
- make -j4 V=1 check
- make -j4 install
- make -j4 install-html
artifacts:
expire_in: 3h
paths:
- opt/lalsuite
dependencies:
- level1:lalmetaio
- level1:lalsimulation
only:
- pushes
level2:lalinspiral:
image: ligo/lalsuite-dev:jessie
stage: level2
script:
- cd lalinspiral
- ./00boot
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make dist
- tar xf lalinspiral-*.tar.xz
- cd lalinspiral-*
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make -j4 V=1
- make -j4 V=1 check
- make -j4 install
- make -j4 install-html
artifacts:
expire_in: 3h
paths:
- opt/lalsuite
dependencies:
- level1:lalframe
- level1:lalmetaio
- level1:lalsimulation
only:
- pushes
level2:lalpulsar:
image: ligo/lalsuite-dev:jessie
stage: level2
script:
- cd lalpulsar
- ./00boot
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make dist
- tar xf lalpulsar-*.tar.xz
- cd lalpulsar-*
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make -j4 V=1
- make -j4 V=1 check
- make -j4 install
- make -j4 install-html
artifacts:
expire_in: 3h
paths:
- opt/lalsuite
dependencies:
- level1:lalxml
only:
- pushes
level2:lalstochastic:
image: ligo/lalsuite-dev:jessie
stage: level2
script:
- cd lalstochastic
- ./00boot
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make dist
- tar xf lalstochastic-*.tar.xz
- cd lalstochastic-*
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make -j4 V=1
- make -j4 V=1 check
- make -j4 install
- make -j4 install-html
artifacts:
expire_in: 3h
paths:
- opt/lalsuite
dependencies:
- level1:lalmetaio
only:
- pushes
level3:laldetchar:
image: ligo/lalsuite-dev:jessie
stage: level3
script:
- cd laldetchar
- ./00boot
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make dist
- tar xf laldetchar-*.tar.xz
- cd laldetchar-*
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make -j4 V=1
- make -j4 V=1 check
- make -j4 install
- make -j4 install-html
artifacts:
expire_in: 3h
paths:
- opt/lalsuite
dependencies:
- level2:lalburst
only:
- pushes
level3:lalinference:
image: ligo/lalsuite-dev:jessie
stage: level3
script:
- cd lalinference
- ./00boot
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make dist
- tar xf lalinference-*.tar.xz
- cd lalinference-*
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make -j4 V=1
- make -j4 V=1 check
- make -j4 install
- make -j4 install-html
artifacts:
expire_in: 3h
paths:
- opt/lalsuite
dependencies:
- level2:lalburst
- level2:lalinspiral
- level2:lalpulsar
only:
- pushes
level4:lalapps:
image: ligo/lalsuite-dev:jessie
stage: level4
script:
- cd lalapps
- ./00boot
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make dist
- tar xf lalapps-*.tar.xz
- cd lalapps-*
- ./configure --enable-swig --enable-doxygen --prefix=${LAL_DIR}
- make -j4 V=1
- make -j4 V=1 check
- make -j4 install
- make -j4 install-html
artifacts:
expire_in: 3h
paths:
- opt/lalsuite
dependencies:
- level2:lalstochastic
- level3:laldetchar
- level3:lalinference
only:
- pushes
nightly:top-level:el7:
image: ligo/lalsuite-dev:el7
stage: nightly
script:
- ./00boot
- ./configure --enable-swig --enable-doxygen
- make -j4 distcheck
only:
- schedules
- web
nightly:top-level:jessie:
image: ligo/lalsuite-dev:jessie
stage: nightly
script:
- ./00boot
- ./configure --enable-swig --enable-doxygen
- make -j4 distcheck
only:
- schedules
- web
nightly:top-level:stretch:
image: ligo/lalsuite-dev:stretch
stage: nightly
script:
- ./00boot
- ./configure --enable-swig --enable-doxygen
- make -j4 distcheck
only:
- schedules
- web
nightly:top-level:trusty:
image: skymoo/ligo-lalsuite-dev:trusty
stage: nightly
script:
- ./00boot
- ./configure --disable-swig --enable-doxygen
- make -j4 distcheck
only:
- schedules
- web
nightly:top-level:xenial:
image: skymoo/ligo-lalsuite-dev:xenial
stage: nightly
script:
- ./00boot
- ./configure --disable-swig --enable-doxygen
- make -j4 distcheck
only:
- schedules
- web
nightly:top-level:buster:
image: skymoo/ligo-lalsuite-dev:buster
stage: nightly
script:
- ./00boot
- ./configure --enable-swig-python --enable-doxygen
- make -j4 distcheck
only:
- schedules
- web
allow_failure: true
nightly:mpi:jessie:
image: ligo/lalsuite-dev:jessie
stage: nightly
script:
- ./00boot
- ./configure --enable-swig --enable-doxygen --enable-mpi
- make -j4 distcheck
only:
- schedules
- web
nightly:openmp:jessie:
image: ligo/lalsuite-dev:jessie
stage: nightly
script:
- ./00boot
- ./configure --enable-swig --enable-doxygen --enable-openmp
- make -j4 distcheck
only:
- schedules
- web
nightly:python3:stretch:
image: ligo/lalsuite-dev:stretch
stage: nightly
script:
- ./00boot
- PYTHON=python3 ./configure --enable-swig --enable-doxygen
- make -j4 distcheck
only:
- schedules
- web
pages:
image: ligo/lalsuite-dev:stretch
stage: nightly
script:
- ./00boot
- ./configure --enable-doxygen --prefix=${LAL_DIR}
- make -j4 install-html
- cp -r ${LAL_DIR}/share/doc public/
artifacts:
paths:
- public
only:
- master@adam-mercer/lalsuite-git-lfs
- schedules
- web
except:
- pushes
dockerize:
stage: container
before_script: []
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build --pull -t $COMMIT -t $BRANCH .
- docker push $COMMIT
dependencies:
- level4:lalapps
only:
- pushes
tagged:
stage: tag
only:
- tags
before_script: []
script:
- docker tag $COMMIT $TAG
- docker push $TAG
FROM ligo/lalsuite-runtime:jessie
COPY /opt/lalsuite /opt/lalsuite
ENV LD_LIBRARY_PATH="/opt/lalsuite/lib" \
OCTAVE_PATH="/opt/lalsuite/lib/x86_64-linux-gnu/octave/3.8.2/site/oct/x86_64-pc-linux-gnu" \
PATH="/opt/lalsuite/bin:${PATH}" \
PKG_CONFIG_PATH="/opt/lalsuite/lib/pkgconfig" \
PYTHONPATH="/opt/lalsuite/lib/python2.7/site-packages" \
# LALSuite
This is the main LALSuite development repository, past development is
captured in the repository below:
https://git.ligo.org/lscsoft/lalsuite-archive
This new repository utilizes [git-lfs](https://wiki.ligo.org/DASWG/GitLFS#Install_the_git_LFS_client) for the managament of large files and as such `git-lfs` needs to be installed and configured to correctly clone this repository. After installing `git-lfs` it can be configured using:
```
$ git lfs install
```
This only needs to be done once for each machine you access the repository. It can then be cloned using:
```
$ git clone git@git.ligo.org:lscsoft/lalsuite.git
```
AC_PREREQ([2.63])
AC_INIT([LALSuite],[6.48.1],[lal-discuss@ligo.org])
AC_INIT([LALSuite],[6.45.1],[lal-discuss@ligo.org])
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_AUX_DIR([gnuscripts])
AC_CONFIG_MACRO_DIR([gnuscripts])
......
# -*- mode: autoconf; -*-
# lalsuite_build.m4 - top level build macros
#
# serial 141
# serial 135
# restrict which LALSUITE_... patterns can appearing in output (./configure);
# useful for debugging problems with unexpanded LALSUITE_... Autoconf macros
......@@ -44,11 +44,6 @@ AC_DEFUN([AC_OUTPUT],[
AC_SUBST(AM_[]uvar,"${AM_[]uvar} ${sys_[]uvar}")
uvar="${uvar_prefix[]uvar}"
])
# append extra values for user variables to be added after configuration
m4_foreach_w([uvar],uvar_list,[
AC_ARG_VAR([POSTCONFIG_]uvar,[Extra ]uvar[ to be added after configuration])
uvar="${uvar} ${POSTCONFIG_[]uvar}"
])
# call original AC_OUTPUT
lalsuite_AC_OUTPUT
])
......@@ -504,32 +499,24 @@ AC_DEFUN([LALSUITE_MULTILIB_LIBTOOL_HACK],[
AC_DEFUN([LALSUITE_DISTCHECK_CONFIGURE_FLAGS],[
# $0: store configure flags for 'make distcheck'
DISTCHECK_CONFIGURE_FLAGS=
eval set x "${ac_configure_args}"
shift
for arg
do
AS_CASE(["${arg}"],
[--enable-*|--disable-*],[
for arg in ${ac_configure_args}; do
case ${arg} in
(\'--enable-*\'|\'--disable-*\')
# save any --enable/--disable arguments
DISTCHECK_CONFIGURE_FLAGS="${DISTCHECK_CONFIGURE_FLAGS} '${arg}'"
],
[--with-*|--without-*],[
DISTCHECK_CONFIGURE_FLAGS="${DISTCHECK_CONFIGURE_FLAGS} ${arg}";;
(\'--with-*\'|\'--without-*\')
# save any --with/--without arguments
DISTCHECK_CONFIGURE_FLAGS="${DISTCHECK_CONFIGURE_FLAGS} '${arg}'"
],
[--*],[
DISTCHECK_CONFIGURE_FLAGS="${DISTCHECK_CONFIGURE_FLAGS} ${arg}";;
(\'--*\')
# skip all other ./configure arguments
:
],
[DISTCHECK_CONFIGURE_FLAGS=*],[
: ;;
(\'DISTCHECK_CONFIGURE_FLAGS=*\')
# append value of DISTCHECK_CONFIGURE_FLAGS
DISTCHECK_CONFIGURE_FLAGS="${DISTCHECK_CONFIGURE_FLAGS} '`expr "X${arg}" : "XDISTCHECK_CONFIGURE_FLAGS=\(.*\)"`'"
],
[*=*],[
DISTCHECK_CONFIGURE_FLAGS="${DISTCHECK_CONFIGURE_FLAGS} "`expr "X${arg}" : "X'DISTCHECK_CONFIGURE_FLAGS=\(.*\)'"`;;
(\'*=*\')
# save any environment variables given to ./configure
DISTCHECK_CONFIGURE_FLAGS="${DISTCHECK_CONFIGURE_FLAGS} '${arg}'"
]
)
DISTCHECK_CONFIGURE_FLAGS="${DISTCHECK_CONFIGURE_FLAGS} ${arg}";;
esac
done
AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
# end $0
......@@ -704,24 +691,10 @@ AC_DEFUN([LALSUITE_CHECK_LIBRARY_FOR_SUPPORT],[
save_CPPFLAGS="${CPPFLAGS}"
LALSUITE_CLEAR_UVARS
CPPFLAGS="${save_CPPFLAGS}"
AS_IF([test "x${LALSUITE_BUILD}" = xtrue],[
for arg in ${lalsuite_libs}; do
AS_CASE([${arg}],
[lalsupport],[:],[
CPPFLAGS="-I${ac_pwd}/../${arg}/src ${CPPFLAGS}"
]
)
done
CPPFLAGS="-DLALSUITE_BUILD ${CPPFLAGS}"
])
AC_MSG_CHECKING([whether $1 has been compiled with $2 support])
AC_COMPILE_IFELSE([
AC_LANG_SOURCE([[
#ifdef LALSUITE_BUILD
#include "$1Config.h"
#else
#include <lal/$1Config.h>
#endif
#ifndef ]uppercase[_$2_ENABLED
#error ]uppercase[_$2_ENABLED is not defined
#endif
......@@ -972,59 +945,12 @@ AC_DEFUN([LALSUITE_ENABLE_BOINC],[
])
AC_DEFUN([LALSUITE_CHECK_BOINC],[
# $0: check for BOINC, and modify compiler for lal library checks
AS_IF([test "${boinc}" = "true"],[
# do compilation checks with c++
AC_LANG_PUSH([C++])
# check for BOINC libraries
AC_SUBST([BOINC_CFLAGS],[""])
AC_SUBST([BOINC_LIBS],["-lboinc_api -lboinc"])
LALSUITE_ADD_FLAGS([C],[${BOINC_CFLAGS}],[${BOINC_LIBS}])
AC_CHECK_LIB([boinc],[boinc_fopen],[:],[AC_MSG_ERROR([could not find the boinc library])])
AC_CHECK_LIB([boinc_api],[boinc_finish],[:],[AC_MSG_ERROR([could not find the boinc_api library])])
# check for BOINC headers
AC_CHECK_HEADERS([boinc/boinc_api.h],[:],[AC_MSG_ERROR([could not find the boinc_api.h header])])
])
# end $0
])
AC_DEFUN([LALSUITE_END_CHECK_BOINC],[
# $0: finish BOINC checks, and restore compiler after lal library checks
m4_pushdef([lowercase],m4_translit(AC_PACKAGE_NAME, [A-Z], [a-z]))
AC_REQUIRE([LALSUITE_CHECK_BOINC])
# $0: check for BOINC support
AS_IF([test "${boinc}" = "true"],[