configure.ac 5.12 KB
Newer Older
Adam Mercer's avatar
Adam Mercer committed
1
AC_PREREQ([2.63])
2
AC_INIT([LALSuite],[6.52.1],[lal-discuss@ligo.org])
3
AC_CONFIG_SRCDIR([configure.ac])
4 5
AC_CONFIG_AUX_DIR([gnuscripts])
AC_CONFIG_MACRO_DIR([gnuscripts])
6
AC_PREFIX_DEFAULT(["`pwd`/_inst"])
7
AC_CONFIG_FILES([Makefile wheel/Makefile wheel/setup.py])
8 9 10 11 12 13
AM_INIT_AUTOMAKE([ \
  1.11 \
  foreign \
  subdir-objects \
  color-tests \
  parallel-tests \
14
  tar-ustar \
15 16
  dist-xz \
  no-dist-gzip \
17
])
18

19
LALSUITE_DISTCHECK_CONFIGURE_FLAGS
20

21 22 23
# use silent build rules
AM_SILENT_RULES([yes])

24 25 26 27
# check for programs
AC_PROG_AWK
AC_PROG_SED

28 29 30
LALSUITE_ENABLE_NIGHTLY
LALSUITE_CHECK_PYTHON([2.6])

31 32 33 34 35 36 37 38 39 40 41 42
# provide LAL library enable/disable options
LALSUITE_ENABLE_ALL_LAL
lal=true
LALSUITE_ENABLE_LALFRAME
LALSUITE_ENABLE_LALMETAIO
LALSUITE_ENABLE_LALSIMULATION
LALSUITE_ENABLE_LALBURST
LALSUITE_ENABLE_LALINSPIRAL
LALSUITE_ENABLE_LALPULSAR
LALSUITE_ENABLE_LALINFERENCE
LALSUITE_ENABLE_LALAPPS

43 44 45 46
# configure Doxygen top-level page
LALSUITE_ENABLE_DOXYGEN
LALSUITE_ENABLE_MODULE([DOXYGEN])
AS_IF([test "x${doxygen}" = xtrue],[
47
  AC_CONFIG_FILES([index.html:gnuscripts/lalsuite_index.html.in])
48 49 50 51 52 53 54 55
  AC_SUBST([DOXYGEN_PACKAGE_LINKS],[])
  AM_SUBST_NOTMAKE([DOXYGEN_PACKAGE_LINKS])
  AC_SUBST([DOXYGEN_LAST_PACKAGE],[])
  AM_SUBST_NOTMAKE([DOXYGEN_LAST_PACKAGE])
])
AC_DEFUN([lalsuite_config_doxygen],[
  m4_pushdef([lowercase],m4_translit([[$1]], [A-Z], [a-z]))
  AS_IF([test "x${doxygen}" = xtrue],[
56 57
    DOXYGEN_PACKAGE_LINKS="${DOXYGEN_PACKAGE_LINKS}"' <a target="docframe" href="lowercase/doxygen/out/index.html">$1</a>'
    DOXYGEN_LAST_PACKAGE="lowercase/doxygen/out/index.html"
58 59 60 61
  ])
  m4_popdef([lowercase])
])

62 63
# directories of top-level build and source
lalsuite_abs_top_builddir="`pwd`"
64
lalsuite_abs_top_srcdir='$(abs_top_srcdir)/..'
65 66

# configure a lalsuite package
67
AC_DEFUN([lalsuite_config_subdir],[
68 69
  m4_pushdef([lowercase],m4_translit([[$1]], [A-Z], [a-z]))
  m4_pushdef([uppercase],m4_translit([[$1]], [a-z], [A-Z]))
70

71
  # if $1 is enabled
72 73
  AS_IF([test "x${lowercase}" = xtrue],[

74 75 76
    # export precious environment variables
    uppercase[]_LIBS="${lalsuite_abs_top_builddir}/lowercase/src/lib[]lowercase.la"
    uppercase[]_CFLAGS="-I${lalsuite_abs_top_builddir}/lowercase/include"
77
    uppercase[]_DATA_PATH="${lalsuite_abs_top_srcdir}/lowercase/src:${lalsuite_abs_top_srcdir}/lowercase/test"
78 79
    uppercase[]_OCTAVE_PATH="${lalsuite_abs_top_builddir}/lowercase/octave"
    uppercase[]_PYTHON_PATH="${lalsuite_abs_top_builddir}/lowercase/python"
80 81
    uppercase[]_HTMLDIR="${htmldir}/../lowercase"
    export uppercase[]_LIBS uppercase[]_CFLAGS uppercase[]_HTMLDIR
82
    export uppercase[]_DATA_PATH uppercase[]_OCTAVE_PATH uppercase[]_PYTHON_PATH
83

84 85 86
    # configure Doxygen top-level page
    lalsuite_config_doxygen([$1])

87 88
    # configure $1
    AC_CONFIG_SUBDIRS(lowercase)
89

90
    # set enable string
91 92
    uppercase[]_ENABLE_VAL=ENABLED
  ],[
93
    # set disable string
94 95 96 97 98 99
    uppercase[]_ENABLE_VAL=DISABLED
  ])

  m4_popdef([lowercase])
  m4_popdef([uppercase])
])
100

101
# lal and lalsupport are always configured
102
lalsuite_config_doxygen([LAL])
103
AC_CONFIG_SUBDIRS(lal)
104
LAL_LIBS="${lalsuite_abs_top_builddir}/lal/src/liblal.la"
105
LAL_CFLAGS="-I${lalsuite_abs_top_builddir}/lal/include"
106
LAL_DATA_PATH="${lalsuite_abs_top_srcdir}/lal/test"
107 108
LAL_OCTAVE_PATH="${lalsuite_abs_top_builddir}/lal/octave"
LAL_PYTHON_PATH="${lalsuite_abs_top_builddir}/lal/python"
109
LAL_HTMLDIR="${htmldir}/../lal"
110
LALSUPPORT_LIBS="${lalsuite_abs_top_builddir}/lal/src/support/liblalsupport.la"
111 112 113 114
LALSUPPORT_CFLAGS="-I${lalsuite_abs_top_builddir}/lal/include"
LALSUPPORT_DATA_PATH="${LAL_DATA_PATH}"
LALSUPPORT_OCTAVE_PATH="${LAL_OCTAVE_PATH}"
LALSUPPORT_PYTHON_PATH="${LAL_PYTHON_PATH}"
115
LALSUPPORT_HTMLDIR="${htmldir}/../lal"
116 117
LALSUITE_BUILD="true"
export LALSUITE_BUILD
118 119
export LAL_LIBS LAL_CFLAGS LAL_DATA_PATH LAL_OCTAVE_PATH LAL_PYTHON_PATH LAL_HTMLDIR
export LALSUPPORT_LIBS LALSUPPORT_CFLAGS LALSUPPORT_DATA_PATH LALSUPPORT_OCTAVE_PATH LALSUPPORT_PYTHON_PATH LALSUPPORT_HTMLDIR
120 121

# configure optional packages
122 123 124 125 126 127 128
lalsuite_config_subdir([LALFrame])
lalsuite_config_subdir([LALMetaIO])
lalsuite_config_subdir([LALSimulation])
lalsuite_config_subdir([LALBurst])
lalsuite_config_subdir([LALInspiral])
lalsuite_config_subdir([LALPulsar])
lalsuite_config_subdir([LALInference])
129 130 131

# optionally configure lalapps
AS_IF([test "x$lalapps" = xtrue],[
132
  lalsuite_config_doxygen([LALApps])
133 134 135 136 137
  AC_CONFIG_SUBDIRS(lalapps)
  LALAPPS_ENABLE_VAL=ENABLED
],[
  LALAPPS_ENABLE_VAL=DISABLED
])
138

139
AC_SUBST([ac_configure_args])
140
AC_OUTPUT
141
AC_MSG_NOTICE([
142 143
==================================================
LALSuite has now been successfully configured:
144

145 146 147 148 149 150 151 152
* LALFrame library support is $LALFRAME_ENABLE_VAL
* LALMetaIO library support is $LALMETAIO_ENABLE_VAL
* LALSimulation library support is $LALSIMULATION_ENABLE_VAL
* LALBurst library support is $LALBURST_ENABLE_VAL
* LALInspiral library support is $LALINSPIRAL_ENABLE_VAL
* LALPulsar library support is $LALPULSAR_ENABLE_VAL
* LALInference library support is $LALINFERENCE_ENABLE_VAL
* LALApps library support is $LALAPPS_ENABLE_VAL
153
* Doxygen documentation is $DOXYGEN_ENABLE_VAL
154 155 156 157 158

and will be installed under the directory:

${prefix}

159 160
Now run 'make' to build LALSuite,
and run 'make install' to install LALSuite.
161
==================================================
162
])