configure.ac 14.7 KB
Newer Older
Tiago Peixoto's avatar
Tiago Peixoto committed
1
2
dnl Process this file with autoconf to produce a configure script.

3
dnl graph-tool package version number
Tiago Peixoto's avatar
Tiago Peixoto committed
4
m4_define(graph_tool_version_major, 2)
Tiago Peixoto's avatar
Tiago Peixoto committed
5
m4_define(graph_tool_version_minor, 2)
Tiago Peixoto's avatar
Tiago Peixoto committed
6
m4_define(graph_tool_version_micro, 45dev)
7

Tiago Peixoto's avatar
Tiago Peixoto committed
8
AC_INIT([graph-tool],[graph_tool_version_major().graph_tool_version_minor().graph_tool_version_micro()],[http://graph-tool.skewed.de/tickets], [graph-tool], [http://graph-tool.skewed.de])
9
10
11
12
13
14
15
16

GRAPH_TOOL_VERSION_MAJOR=graph_tool_version_major()
GRAPH_TOOL_VERSION_MINOR=graph_tool_version_minor()
GRAPH_TOOL_VERSION_MICRO=graph_tool_version_micro()
AC_SUBST(GRAPH_TOOL_VERSION_MAJOR)
AC_SUBST(GRAPH_TOOL_VERSION_MINOR)
AC_SUBST(GRAPH_TOOL_VERSION_MICRO)

Tiago Peixoto's avatar
Tiago Peixoto committed
17
AC_CANONICAL_TARGET
Tiago Peixoto's avatar
Tiago Peixoto committed
18
AC_CONFIG_SRCDIR(src)
19
20
AM_INIT_AUTOMAKE([foreign])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
Tiago Peixoto's avatar
Tiago Peixoto committed
21
AM_PROG_CC_C_O
22
AC_CONFIG_HEADERS([config.h])
Tiago Peixoto's avatar
Tiago Peixoto committed
23
AC_CONFIG_MACRO_DIR([m4])
Tiago Peixoto's avatar
Tiago Peixoto committed
24

25
AC_SEARCH_LIBS([strerror],[cposix])
Tiago Peixoto's avatar
Tiago Peixoto committed
26
AC_SUBST(CXXFLAGS,$CXXFLAGS)
27
AC_USE_SYSTEM_EXTENSIONS
Tiago Peixoto's avatar
Tiago Peixoto committed
28
AC_PROG_CXX
29
AC_LANG([C++])
Tiago Peixoto's avatar
Tiago Peixoto committed
30
31
AC_PROG_CC_STDC
AC_HEADER_STDC
Tiago Peixoto's avatar
Tiago Peixoto committed
32
AC_DISABLE_STATIC
33
LT_INIT
Tiago Peixoto's avatar
Tiago Peixoto committed
34
35
AC_PROG_INSTALL

36
dnl turn on warnings
37
[CXXFLAGS="-Wall -Wextra -ftemplate-backtrace-limit=0 ${CXXFLAGS}"]
38

Tiago Peixoto's avatar
Tiago Peixoto committed
39
40
41
42
dnl Checks for options

dnl Turn debugging on or off
AC_MSG_CHECKING(whether to enable debug info...)
43

Tiago Peixoto's avatar
Tiago Peixoto committed
44
AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug],[compile debug information [default=disabled] ])],
45
46
        if test $enableval = yes; then
           [AC_DEFINE([DEBUG], 1, [compile debug info])]
47
           [CXXFLAGS="${CXXFLAGS} -ggdb3"]
48
49
           [AC_MSG_RESULT(yes)] 
        else
50
           [CXXFLAGS="${CXXFLAGS} -DNDEBUG"]
51
52
           [AC_MSG_RESULT(no)]
        fi
53
54
55
        ,
        [CXXFLAGS="${CXXFLAGS} -DNDEBUG"]
        [AC_MSG_RESULT(no)]
Tiago Peixoto's avatar
Tiago Peixoto committed
56
57
        )

Tiago Peixoto's avatar
Tiago Peixoto committed
58
dnl enable c++11
59
old_cxxflags="$CXXFLAGS"
Tiago Peixoto's avatar
Tiago Peixoto committed
60
[CXXFLAGS="${CXXFLAGS} -std=gnu++11"]
61
62
63
64
65
AC_MSG_CHECKING([whether C++ compiler supports -std=gnu++11])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
    [AC_MSG_RESULT([yes])],
    [AC_MSG_RESULT([no])]
    [CXXFLAGS="${old_cxxflags} -std=gnu++0x"])
Tiago Peixoto's avatar
Tiago Peixoto committed
66
67

dnl set template depth
68
[CXXFLAGS="${CXXFLAGS} -ftemplate-depth-250"]
Tiago Peixoto's avatar
Tiago Peixoto committed
69

70
dnl disable deprecation warning, to silence some harmless BGL-related warnings
71
[CXXFLAGS="${CXXFLAGS} -Wno-deprecated -Wno-unknown-pragmas"]
72

Tiago Peixoto's avatar
Tiago Peixoto committed
73
AC_MSG_CHECKING(whether to enable function inlining...)
74

75
[NO_INLINE=no]
76
AC_ARG_ENABLE([inline], [AS_HELP_STRING([--disable-inline],[disable inline functions [default=enabled] ])],
Tiago Peixoto's avatar
Tiago Peixoto committed
77
78
        if test $enableval = no; then
           [AC_DEFINE([NO_INLINE], 1, [disable function inlining])]
79
           [CXXFLAGS="${CXXFLAGS} -fno-inline -fno-default-inline"]
80
81
           [NO_INLINE=yes]
           [AC_MSG_RESULT(no)]
Tiago Peixoto's avatar
Tiago Peixoto committed
82
83
84
85
86
87
        else
           [AC_MSG_RESULT(yes)]
        fi
        ,
        [AC_MSG_RESULT(yes)]
        )
88

Tiago Peixoto's avatar
Tiago Peixoto committed
89
90
91
AM_CONDITIONAL(NO_INLINE, test $NO_INLINE = yes)

AC_MSG_CHECKING(whether to enable optimizations...)
92

93
AC_ARG_ENABLE([optimization], [AS_HELP_STRING([--disable-optimization],[disable optimization [default=enabled] ])],
94
95
        if test $enableval = no; then
           [AC_MSG_RESULT(no)]
96
        else
97
           [CXXFLAGS="${CXXFLAGS} -O3"]
98
99
           [AC_MSG_RESULT(yes)]
        fi
Tiago Peixoto's avatar
Tiago Peixoto committed
100
        ,
101
        [CXXFLAGS="${CXXFLAGS} -O3"]
102
        [AC_MSG_RESULT(yes)]
Tiago Peixoto's avatar
Tiago Peixoto committed
103
104
        )

Tiago Peixoto's avatar
Tiago Peixoto committed
105
AC_MSG_CHECKING(whether to enable symbol visibility manipulation...)
106

107
AC_ARG_ENABLE([visibility], [AS_HELP_STRING([--disable-visibility],[disable symbol visibility manipulation [default=enabled] ])],
108
109
        if test $enableval = yes; then
           [CXXFLAGS="${CXXFLAGS} -fvisibility=default -fvisibility-inlines-hidden"]
110
111
           [AC_MSG_RESULT(yes)]
        else
112
           [AC_MSG_RESULT(no)]
113
        fi
114
        ,
Tiago Peixoto's avatar
Tiago Peixoto committed
115
        [CXXFLAGS="${CXXFLAGS} -fvisibility=default -fvisibility-inlines-hidden"]
116
        [AC_MSG_RESULT(yes)]
117
118
119
        )


120
[NO_GRAPH_FILTERING=no]
121
122
123
124
125
126
127
128
129
130
131
132
# AC_MSG_CHECKING(whether to enable graph filtering...)
# AC_ARG_ENABLE([graph-filtering], [AS_HELP_STRING([--disable-graph-filtering],[disable graph filtering [default=enabled] ])],
#         if test $enableval = no; then
#            [AC_DEFINE([NO_GRAPH_FILTERING], 1, [disable graph filtering])]
#            [NO_GRAPH_FILTERING=yes]
#            [AC_MSG_RESULT(no)]
#         else
#            [AC_MSG_RESULT(yes)]
#         fi
#         ,
#         [AC_MSG_RESULT(yes)]
#         )
133

134
135
[USING_OPENMP=yes]
[OPENMP_LDFLAGS=""]
136
AC_MSG_CHECKING(whether to enable parallel algorithms with openmp...)
137
AC_ARG_ENABLE([openmp], [AS_HELP_STRING([--enable-openmp],[enable openmp [default=disabled] ])],
138
139
140
        if test $enableval = yes; then
           [AC_MSG_RESULT(yes)]
           [AC_DEFINE([USING_OPENMP], 1, [using openmp])]
141
           [CXXFLAGS="${CXXFLAGS} -fopenmp"]
142
           [OPENMP_LDFLAGS=" -lgomp "]
143
        else
144
145
           [USING_OPENMP=no]
           [CXXFLAGS="${CXXFLAGS} -Wno-unknown-pragmas"]
146
           [AC_MSG_RESULT(no)]    
147
148
        fi
        ,
149
        [CXXFLAGS="${CXXFLAGS} -Wno-unknown-pragmas"]
150
        [AC_MSG_RESULT(no)]
151
152
153
        )
AC_SUBST(OPENMP_LDFLAGS)

Tiago Peixoto's avatar
Tiago Peixoto committed
154
155
156
157
158
159
160
161
162
163
164
165
166
[USING_CAIRO=yes]
AC_MSG_CHECKING(whether to enable cairo drawing...)
AC_ARG_ENABLE([cairo], [AS_HELP_STRING([--disable-cairo],[disable cairo drawing [default=enabled] ])],
        if test $enableval = no; then
           [USING_CAIRO=no]
           [AC_MSG_RESULT(no)]
        else
           [AC_MSG_RESULT(yes)]
        fi
        ,
        [AC_MSG_RESULT(yes)]
        )

167
168
169
170
dnl Override prefix with default value if not set
if test "x${prefix}" = "xNONE"; then
  prefix=${ac_default_prefix}
fi
171

Tiago Peixoto's avatar
Tiago Peixoto committed
172
173
174
175
176
177
178
179
180
181
182
183
184
dnl Checks for programs.

dnl Checks for libraries.

dnl math library
AC_CHECK_LIB(m,main)

dnl bzip2 compression library
AC_CHECK_LIB(bz2,main)

dnl expat
AC_CHECK_LIB(expat,main)

185
dnl python
186
187
188
189
190
191
192
echo "================"
echo "Detecting python"
echo "================"
AM_PATH_PYTHON([2.6])
AC_SUBST(PYTHON_VERSION)
PYTHON_FULL_VERSION=[`${PYTHON} -c "import sys; print(sys.version.split()[0])"`]
AC_SUBST(PYTHON_FULL_VERSION)
193
[TEMP_CPPFLAGS="${CPPFLAGS}"]
194
AC_PYTHON_DEVEL([== '${PYTHON_FULL_VERSION}'])
195
196
197
[CPPFLAGS="${CPPFLAGS} ${PYTHON_CPPFLAGS}"]
[LDFLAGS="${LDFLAGS} ${PYTHON_LDFLAGS}"]

198
199
# default directory for submodules
[MOD_DIR="${PYTHON_SITE_PKG}"]
200
AC_ARG_WITH([python-module-path], [AS_HELP_STRING([--with-python-module-path=DIR],
201
202
                    [directory where python module will be installed
                                [default=auto-detected] ])],
203
204
205
206
207
208
            MOD_DIR=$withval)
echo "graph-tool will be installed at: ${MOD_DIR}"

[MOD_DIR="${MOD_DIR}/graph_tool"]
AC_SUBST(MOD_DIR)

209
210
211
212
213
echo "==========================="
echo "Using python version: ${PYTHON_FULL_VERSION}"
echo "==========================="


214
dnl boost
215
AX_BOOST_BASE([[1.53.0]])
216
217
218
219
220
221
222
223
AX_BOOST_PYTHON
if test "$BOOST_PYTHON_LIB" = ""; then
   AC_MSG_ERROR([No usable boost::python found])
fi
AX_BOOST_IOSTREAMS
if test "$BOOST_IOSTREAMS_LIB" = ""; then
   AC_MSG_ERROR([No usable boost::iostreams found])
fi
224
225
226
227
AX_BOOST_REGEX
if test "$BOOST_REGEX_LIB" = ""; then
   AC_MSG_ERROR([No usable boost::regex found])
fi
228

Tiago Peixoto's avatar
Tiago Peixoto committed
229
230
231
232
AX_BOOST_GRAPH
if test "$BOOST_GRAPH_LIB" = ""; then
   AC_MSG_ERROR([No usable boost::graph found])
fi
233

234
[CPPFLAGS="${CPPFLAGS} ${BOOST_CPPFLAGS}"]
Tiago Peixoto's avatar
Tiago Peixoto committed
235

236
237
dnl CGAL
AC_CHECK_LIB(CGAL,main)
238
[CGAL_LIBADD="-lCGAL -lgmp"]
239
AC_SUBST(CGAL_LIBADD)
240
[CGAL_FLAGS="-frounding-math"]
241
242
243
244
AC_MSG_CHECKING(whether to cgal debbuging with valgrind...)
AC_ARG_ENABLE([cgal-valgrind], [AS_HELP_STRING([--enable-cgal-valgrind],[enable CGAL valgrind debugging [default=disabled] ])],
        if test $enableval = yes; then
           [AC_MSG_RESULT(yes)]
245
       [CGAL_FLAGS="${CGAL_FLAGS} -DCGAL_DISABLE_ROUNDING_MATH_CHECK=ON"]
246
        else
247
           [AC_MSG_RESULT(no)]    
248
249
250
251
        fi
        ,
        [AC_MSG_RESULT(no)]
        )
252
AC_SUBST(CGAL_FLAGS)
253

Tiago Peixoto's avatar
Tiago Peixoto committed
254
dnl Checks for header files.
255
256

dnl numpy
257
AX_PYTHON_MODULE(numpy, fatal)
258
dnl [NUMPY_DIR="${PYTHON_SITE_PKG}/numpy"]
259
[NUMPY_DIR=`$PYTHON -c "import numpy; print(numpy.get_include())"`]
260
AC_ARG_WITH([numpy], [AS_HELP_STRING([--with-numpy=DIR],[directory where numpy is installed
261
                      [default=auto-detected] ])],
262
263
            NUMPY_DIR=$withval)
AC_CHECK_HEADER([${NUMPY_DIR}/numpy/arrayobject.h],
264
                [CPPFLAGS="${CPPFLAGS} -I${NUMPY_DIR}"],
265
266
                [AC_MSG_ERROR([Numpy extension header not found])],
                [#include "Python.h"])
Tiago Peixoto's avatar
Tiago Peixoto committed
267
268
269
270
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include "Python.h" #include "${NUMPY_DIR}/numpy/arrayobject.h" #if NPY_API_VERSION < 0x00000007 #error #endif]])],
                  [],
                  [AC_MSG_ERROR([Numpy is too old. Version 1.7 or above is required.])])
  
271
dnl scipy
272
AX_PYTHON_MODULE(scipy, fatal)
273
dnl [SCIPY_DIR="${PYTHON_SITE_PKG}/scipy"]
274
[SCIPY_DIR=`$PYTHON -c "import os, scipy; print(os.path.dirname(scipy.__file__))"`]
275
AC_ARG_WITH([scipy], [AS_HELP_STRING([--with-scipy=DIR],[scipy install directory
276
                      [default=auto-detected] ])],
277
            [SCIPY_DIR=$withval])
278
279
AC_CHECK_HEADER([${SCIPY_DIR}/weave/scxx/object.h],
                [AC_DEFINE([HAVE_SCIPY], [1], [using scipy's weave])]
280
                [CPPFLAGS="${CPPFLAGS} -I${SCIPY_DIR}"],
281
                [AC_MSG_WARN([Scipy weave/scxx header not found! (Ignore this if python 3 is being used.)])])
282
283
284
285
286

dnl expat
AC_CHECK_HEADER([expat.h],
                [],
                [AC_MSG_ERROR([Expat header not found])])
Tiago Peixoto's avatar
Tiago Peixoto committed
287

288
289
290
291
292
dnl cgal
AC_CHECK_HEADER([CGAL/version.h],
                [],
                [AC_MSG_ERROR([CGAL headers not found])])

293

Tiago Peixoto's avatar
Tiago Peixoto committed
294
295
296
297
298
299
dnl cairo
if test "$USING_CAIRO" = "yes"; then
   PKG_CHECK_MODULES(CAIROMM, [cairomm-1.0], AC_DEFINE([HAVE_CAIROMM], [1],
                     [Cairomm is available]), [])
   AC_SUBST(CAIROMM_CFLAGS)
   AC_SUBST(CAIROMM_LIBS)
300
   AX_PYTHON_MODULE(cairo)
301
302
303
304
   [OLD_CXXFLAGS="${CXXFLAGS}"]
   [OLD_CPPFLAGS="${CPPFLAGS}"]
   [CXXFLAGS="${CXXFLAGS} ${CAIROMM_CFLAGS}"]
   [CPPFLAGS="${CPPFLAGS} ${CAIROMM_CFLAGS}"]
305
306
   AC_CHECK_HEADER([pycairo/pycairo.h], [],    
               [AC_MSG_ERROR([pycairo headers not found])])
307
308
   [CXXFLAGS="${OLD_CXXFLAGS}"]
   [CPPFLAGS="${OLD_CPPFLAGS}"]
Tiago Peixoto's avatar
Tiago Peixoto committed
309
310
fi

311
dnl sparsehash
312
313
[SPARSEHASH_PREFIX=sparsehash]
AC_ARG_WITH([sparsehash-prefix], [AS_HELP_STRING([--with-sparsehash-prefix=prefix],
314
315
                    [include directory prefix for sparsehash
                                [default=sparsehash] ])],
316
317
            [SPARSEHASH_PREFIX=$withval])

318
319
320
321
322
323
324
325
326
327
328
329
330
[USING_SPARSEHASH=yes]
AC_MSG_CHECKING(whether to enable sparsehash...)
AC_ARG_ENABLE([sparsehash], [AS_HELP_STRING([--disable-sparsehash],[disable use of google's sparsehash [default=enabled] ])],
        if test $enableval = no; then
           [USING_SPARSEHASH=no]
           [AC_MSG_RESULT(no)]
        else
           [AC_MSG_RESULT(yes)]
        fi
        ,
        [AC_MSG_RESULT(yes)]
        )

331
if test "$USING_SPARSEHASH" = "yes"; then
332
333
334
335
   PKG_CHECK_MODULES(SPARSEHASH, [libsparsehash],
                     AC_DEFINE([HAVE_SPARSEHASH], [1], [Using google's sparsehash]),
                     [AC_MSG_RESULT([not found by pkgconfig, trying default...])])

336
   [SPARSEHASH_CFLAGS="${SPARSEHASH_CFLAGS} -DSPARSEHASH_PREFIX=${SPARSEHASH_PREFIX}"]
337
   AC_SUBST(SPARSEHASH_CFLAGS)
338
   AC_DEFINE_UNQUOTED([SPARSEHASH_INCLUDE(f)], [<${SPARSEHASH_PREFIX}/f>],
339
                      [Sparsehash include macro])
340
341
   [CXXFLAGS="${CXXFLAGS} ${SPARSEHASH_CFLAGS}"]
   [CPPFLAGS="${CPPFLAGS} ${SPARSEHASH_CFLAGS}"]
342
   AC_CHECK_HEADER([${SPARSEHASH_PREFIX}/dense_hash_set], [],
343
344
                   [AC_MSG_ERROR([sparsehash headers not found])])
fi
345

Tiago Peixoto's avatar
Tiago Peixoto committed
346
347
348
dnl Checks for typedefs, structures, and compiler characteristics.
dnl Checks for library functions.

349
dnl Checks for Additional stuff.
Tiago Peixoto's avatar
Tiago Peixoto committed
350
351
352
353
354
355
356
357
358
359
360
361
362

dnl Set PACKAGE SOURCE DIR in config.h.
packagesrcdir=`cd $srcdir && pwd`

dnl Set PACKAGE PREFIX
if test "x${prefix}" = "xNONE"; then
  packageprefix=${ac_default_prefix}
else
  packageprefix=${prefix}
fi

dnl Set PACKAGE DATA & DOC DIR
packagedatadir=share/${PACKAGE}
363
packagedocdir=doc/${PACKAGE}
Tiago Peixoto's avatar
Tiago Peixoto committed
364
365
366
367
368
369
370
371
372
373
374
375


dnl Subst PACKAGE_DATA_DIR.
NO_PREFIX_PACKAGE_DATA_DIR="${packagedatadir}"
AC_SUBST(NO_PREFIX_PACKAGE_DATA_DIR)
PACKAGE_DATA_DIR="${packageprefix}/${packagedatadir}"
AC_SUBST(PACKAGE_DATA_DIR)

dnl Subst PACKAGE_DOC_DIR.
NO_PREFIX_PACKAGE_DOC_DIR="${packagedocdir}"
AC_SUBST(NO_PREFIX_PACKAGE_DOC_DIR)
PACKAGE_DOC_DIR="${packageprefix}/${packagedocdir}"
376
377
378
379
380
381

if test "x${docdir}" = "xNONE"; then
  PACKAGE_DOC_DIR="${packageprefix}/${packagedocdir}"
else
  PACKAGE_DOC_DIR="${docdir}"
fi
Tiago Peixoto's avatar
Tiago Peixoto committed
382
383
AC_SUBST(PACKAGE_DOC_DIR)

384
385
dnl Subst PYTHON_DIR.
AC_DEFINE_UNQUOTED([INSTALL_PREFIX],"${prefix}", [python prefix])
Tiago Peixoto's avatar
Tiago Peixoto committed
386
AC_DEFINE_UNQUOTED([PYTHON_DIR], "${PYTHON_SITE_PKG}", [The directory name for the site-packages subdirectory of the standard Python install tree.])
387
388

AC_DEFINE_UNQUOTED([CXXFLAGS],"${CXXFLAGS}", [c++ compilation options])
389
AC_DEFINE_UNQUOTED([CPPFLAGS],"${CPPFLAGS}", [c++ preprocessor compilation options])
Tiago Peixoto's avatar
Tiago Peixoto committed
390
AC_DEFINE_UNQUOTED([LDFLAGS],"${LDFLAGS}", [linker options])
391

392
393
AC_DEFINE_UNQUOTED([PACKAGE_DATA_DIR], "${PACKAGE_DATA_DIR}", [package data dir])
AC_DEFINE_UNQUOTED([PACKAGE_DOC_DIR], "${PACKAGE_DOC_DIR}", [package doc dir])
Tiago Peixoto's avatar
Tiago Peixoto committed
394
395
AC_DEFINE_UNQUOTED([PACKAGE_SOURCE_DIR], "${packagesrcdir}", [package source dir])

Tiago Peixoto's avatar
Tiago Peixoto committed
396
AC_DEFINE_UNQUOTED([AUTHOR], "Tiago de Paula Peixoto <tiago@skewed.de>", [program author(s)])
Tiago Peixoto's avatar
Tiago Peixoto committed
397
398

AC_DEFINE_UNQUOTED([COPYRIGHT],
Tiago Peixoto's avatar
Tiago Peixoto committed
399
    "Copyright (C) 2006-2014 Tiago de Paula Peixoto\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.",
400
        [copyright info])
401

402
# git information
403
404
AC_DEFINE([GIT_COMMIT], "esyscmd(git show | head -n 1 | sed 's/commit //' |  grep -o -e '.\{8\}' | head -n 1 |tr -d '\n')", [git HEAD commit hash])
AC_DEFINE([GIT_COMMIT_DATE], "esyscmd(git log -1 | head -n 3 | grep 'Date:' | sed s/'Date:   '// | tr -d '\n')", [git HEAD commit date])
405

406
407
408
# GCC version
AC_DEFINE([GCC_VERSION], [(__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)], [GCC version value])

Tiago Peixoto's avatar
Tiago Peixoto committed
409
410
# set some automake variables

411
412
413
414
415
416
# global CPP flags
AC_SUBST(CPPFLAGS)

# global CXX flags
AC_SUBST(CXXFLAGS)

Tiago Peixoto's avatar
Tiago Peixoto committed
417
# CPP flags for submodules
Tiago Peixoto's avatar
Tiago Peixoto committed
418
[MOD_CPPFLAGS="-I\$(srcdir) -I\$(srcdir)/.. -I\$(srcdir)/../../boost-workaround \
Tiago Peixoto's avatar
Tiago Peixoto committed
419
420
421
422
-DHAVE_CONFIG_H"]
AC_SUBST(MOD_CPPFLAGS)

# default LIBADD flags for submodules
423
424
[MOD_LIBADD="${PYTHON_LDFLAGS} -l${BOOST_IOSTREAMS_LIB} -l${BOOST_PYTHON_LIB} \
-l${BOOST_REGEX_LIB} ${OPENMP_LDFLAGS} -lexpat"]
Tiago Peixoto's avatar
Tiago Peixoto committed
425
426
427
428
AC_SUBST(MOD_LIBADD)

# needed for typeinfo objects to work across DSO boundaries.
# see http://gcc.gnu.org/faq.html#dso
429
[MOD_LDFLAGS="-module -avoid-version -export-dynamic -no-undefined -Wl,-E -Wl,--as-needed"]
Tiago Peixoto's avatar
Tiago Peixoto committed
430

431
# MacOS needs different options
432
if [[ `echo ${target_os} | grep -c -e "^darwin"` == 1 ]]; then
433
434
   [MOD_LDFLAGS="-module -dynamiclib"]
fi
Tiago Peixoto's avatar
Tiago Peixoto committed
435

Tiago Peixoto's avatar
Tiago Peixoto committed
436
437
AC_SUBST(MOD_LDFLAGS)

Tiago Peixoto's avatar
Tiago Peixoto committed
438

439
AC_CONFIG_FILES([
Tiago Peixoto's avatar
Tiago Peixoto committed
440
441
442
Makefile
src/Makefile
src/graph/Makefile
Tiago Peixoto's avatar
Tiago Peixoto committed
443
src/graph/centrality/Makefile
444
src/graph/clustering/Makefile
445
src/graph/community/Makefile
446
447
src/graph/correlations/Makefile
src/graph/draw/Makefile
Tiago Peixoto's avatar
Tiago Peixoto committed
448
src/graph/flow/Makefile
449
src/graph/generation/Makefile
450
src/graph/layout/Makefile
451
src/graph/search/Makefile
452
453
454
455
src/graph/spectral/Makefile
src/graph/stats/Makefile
src/graph/topology/Makefile
src/graph/util/Makefile
456
src/graph_tool/Makefile
Tiago Peixoto's avatar
Tiago Peixoto committed
457
])
458
AC_OUTPUT