configure.ac 5.12 KB
Newer Older
Adam Mercer's avatar
Adam Mercer committed
1
AC_PREREQ([2.63])
Adam Mercer's avatar
Adam Mercer committed
2
AC_INIT([LALSuite],[6.73],[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 \
Duncan Macleod's avatar
Duncan Macleod committed
14
  tar-pax \
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
    # export precious environment variables
75
    uppercase[]_LIBS="${lalsuite_abs_top_builddir}/lowercase/lib/lib[]lowercase.la"
76
    uppercase[]_CFLAGS="-I${lalsuite_abs_top_builddir}/lowercase/include"
77
    uppercase[]_DATA_PATH="${lalsuite_abs_top_srcdir}/lowercase/lib:${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/lib/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/lib/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
])