configure.ac 15.3 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, 18dev)
6

7
8
9
10
11
AC_INIT([graph-tool],
        [graph_tool_version_major().graph_tool_version_minor()],
        [http://graph-tool.skewed.de/issues],
        [graph-tool],
        [http://graph-tool.skewed.de])
12
13
14
15
16
17

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

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

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

Tiago Peixoto's avatar
Tiago Peixoto committed
37
38
39
40
# pkg-config generation
PKG_PROG_PKG_CONFIG
PKG_INSTALLDIR

Tiago Peixoto's avatar
Tiago Peixoto committed
41
AX_CXX_COMPILE_STDCXX_14([ext],[mandatory])
42

43
dnl turn on warnings
44
[CXXFLAGS="-Wall -Wextra -ftemplate-backtrace-limit=0 ${CXXFLAGS}"]
45

Tiago Peixoto's avatar
Tiago Peixoto committed
46
47
48
dnl Checks for options

dnl Turn debugging on or off
49
AC_MSG_CHECKING(whether to enable debug info)
50

Tiago Peixoto's avatar
Tiago Peixoto committed
51
AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug],[compile debug information [default=disabled] ])],
52
53
        if test $enableval = yes; then
           [AC_DEFINE([DEBUG], 1, [compile debug info])]
54
           [CXXFLAGS="${CXXFLAGS} -ggdb3"]
55
56
           [AC_MSG_RESULT(yes)] 
        else
57
           [CXXFLAGS="${CXXFLAGS} -DNDEBUG"]
58
59
           [AC_MSG_RESULT(no)]
        fi
60
61
62
        ,
        [CXXFLAGS="${CXXFLAGS} -DNDEBUG"]
        [AC_MSG_RESULT(no)]
Tiago Peixoto's avatar
Tiago Peixoto committed
63
64
        )

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

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

Tiago Peixoto's avatar
Tiago Peixoto committed
71
AC_MSG_CHECKING(whether to enable function inlining...)
72

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

Tiago Peixoto's avatar
Tiago Peixoto committed
87
88
AM_CONDITIONAL(NO_INLINE, test $NO_INLINE = yes)

89
AC_MSG_CHECKING(whether to enable optimizations)
90

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

103
AC_MSG_CHECKING(whether to enable symbol visibility manipulation)
104

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


118
[NO_GRAPH_FILTERING=no]
119
120
121
122
123
124
125
126
127
128
129
130
# 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)]
#         )
131

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

Tiago Peixoto's avatar
Tiago Peixoto committed
153
[USING_CAIRO=yes]
154
AC_MSG_CHECKING(whether to enable cairo drawing)
Tiago Peixoto's avatar
Tiago Peixoto committed
155
156
157
158
159
160
161
162
163
164
165
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)]
        )

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

Tiago Peixoto's avatar
Tiago Peixoto committed
171
172
173
174
175
176
177
178
179
180
181
182
183
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)

184
dnl python
185
186
187
188
189
190
191
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)
192
[TEMP_CPPFLAGS="${CPPFLAGS}"]
193
AC_PYTHON_DEVEL([== '${PYTHON_FULL_VERSION}'])
194
195
196
[CPPFLAGS="${CPPFLAGS} ${PYTHON_CPPFLAGS}"]
[LDFLAGS="${LDFLAGS} ${PYTHON_LDFLAGS}"]

197
198
# default directory for submodules
[MOD_DIR="${PYTHON_SITE_PKG}"]
Tiago Peixoto's avatar
Tiago Peixoto committed
199
200
201
202
AC_ARG_WITH([python-module-path],
            [AS_HELP_STRING([--with-python-module-path=DIR],
                            [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.54.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
229
AX_BOOST_COROUTINE
if test "$BOOST_COROUTINE_LIB" = ""; then
Tiago Peixoto's avatar
Tiago Peixoto committed
230
   AC_MSG_WARN([No usable boost::coroutine found! Some functionality will be disabled in the library.])
231
fi
Tiago Peixoto's avatar
Tiago Peixoto committed
232
233
234
235
AX_BOOST_GRAPH
if test "$BOOST_GRAPH_LIB" = ""; then
   AC_MSG_ERROR([No usable boost::graph found])
fi
236

237
[CPPFLAGS="${CPPFLAGS} ${BOOST_CPPFLAGS}"]
Tiago Peixoto's avatar
Tiago Peixoto committed
238

239
240
dnl CGAL
AC_CHECK_LIB(CGAL,main)
241
[CGAL_LIBADD="-lCGAL -lgmp"]
242
AC_SUBST(CGAL_LIBADD)
243
[CGAL_FLAGS="-frounding-math"]
244
AC_MSG_CHECKING(whether to enable cgal debbuging with valgrind)
245
246
247
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)]
248
           [CGAL_FLAGS="${CGAL_FLAGS} -DCGAL_DISABLE_ROUNDING_MATH_CHECK=ON"]
249
        else
250
           [AC_MSG_RESULT(no)]    
251
252
253
254
        fi
        ,
        [AC_MSG_RESULT(no)]
        )
255
AC_SUBST(CGAL_FLAGS)
256

Tiago Peixoto's avatar
Tiago Peixoto committed
257
dnl Checks for header files.
258
259

dnl numpy
260
AX_PYTHON_MODULE(numpy, fatal)
261
dnl [NUMPY_DIR="${PYTHON_SITE_PKG}/numpy"]
262
[NUMPY_DIR=`$PYTHON -c "import numpy; print(numpy.get_include())"`]
263
AC_ARG_WITH([numpy], [AS_HELP_STRING([--with-numpy=DIR],[directory where numpy is installed
264
                      [default=auto-detected] ])],
265
266
            NUMPY_DIR=$withval)
AC_CHECK_HEADER([${NUMPY_DIR}/numpy/arrayobject.h],
267
                [CPPFLAGS="${CPPFLAGS} -I${NUMPY_DIR}"],
268
269
                [AC_MSG_ERROR([Numpy extension header not found])],
                [#include "Python.h"])
Tiago Peixoto's avatar
Tiago Peixoto committed
270
271
272
273
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.])])
  
274
dnl scipy
275
AX_PYTHON_MODULE(scipy, fatal)
276
dnl [SCIPY_DIR="${PYTHON_SITE_PKG}/scipy"]
277
[SCIPY_DIR=`$PYTHON -c "import os, scipy; print(os.path.dirname(scipy.__file__))"`]
278
AC_ARG_WITH([scipy], [AS_HELP_STRING([--with-scipy=DIR],[scipy install directory
279
                      [default=auto-detected] ])],
280
            [SCIPY_DIR=$withval])
281
282
283
284
285

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

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

292

Tiago Peixoto's avatar
Tiago Peixoto committed
293
294
295
296
297
298
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)
299
   AX_PYTHON_MODULE(cairo)
300
301
302
303
   [OLD_CXXFLAGS="${CXXFLAGS}"]
   [OLD_CPPFLAGS="${CPPFLAGS}"]
   [CXXFLAGS="${CXXFLAGS} ${CAIROMM_CFLAGS}"]
   [CPPFLAGS="${CPPFLAGS} ${CAIROMM_CFLAGS}"]
304
305
306
307
308
309
310
311
312
   PYTHON_VERSION_MAJOR=$(echo $PYTHON_VERSION | cut -d'.' -f1)
   if test "$PYTHON_VERSION_MAJOR" = "3"; then
      [PYCAIRO_HEADER=pycairo/py3cairo.h]
   else
      [PYCAIRO_HEADER=pycairo/pycairo.h]
   fi
   AC_DEFINE_UNQUOTED([PYCAIRO_HEADER], <${PYCAIRO_HEADER}>, [pycairo header file])
   AC_CHECK_HEADER(${PYCAIRO_HEADER}, [],
                   [AC_MSG_ERROR([pycairo headers not found])])
313
314
   [CXXFLAGS="${OLD_CXXFLAGS}"]
   [CPPFLAGS="${OLD_CPPFLAGS}"]
Tiago Peixoto's avatar
Tiago Peixoto committed
315
316
fi

317
dnl sparsehash
318
319
[SPARSEHASH_PREFIX=sparsehash]
AC_ARG_WITH([sparsehash-prefix], [AS_HELP_STRING([--with-sparsehash-prefix=prefix],
320
321
                    [include directory prefix for sparsehash
                                [default=sparsehash] ])],
322
323
            [SPARSEHASH_PREFIX=$withval])

324
[USING_SPARSEHASH=yes]
325
AC_MSG_CHECKING(whether to enable sparsehash)
326
327
328
329
330
331
332
333
334
335
336
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)]
        )

337
if test "$USING_SPARSEHASH" = "yes"; then
338
339
340
   PKG_CHECK_MODULES(SPARSEHASH, [libsparsehash],
                     AC_DEFINE([HAVE_SPARSEHASH], [1], [Using google's sparsehash]),
                     [AC_MSG_RESULT([not found by pkgconfig, trying default...])])
341
   AC_SUBST(SPARSEHASH_CFLAGS)
342
343
   AC_DEFINE_UNQUOTED([SPARSEHASH_PREFIX], [${SPARSEHASH_PREFIX}],
                      [Sparsehash include prefix])
344
   AC_DEFINE_UNQUOTED([SPARSEHASH_INCLUDE(f)], [<${SPARSEHASH_PREFIX}/f>],
345
                      [Sparsehash include macro])
346
   AC_CHECK_HEADER([${SPARSEHASH_PREFIX}/dense_hash_set], [],
347
348
                   [AC_MSG_ERROR([sparsehash headers not found])])
fi
349

Tiago Peixoto's avatar
Tiago Peixoto committed
350
351
352
dnl Checks for typedefs, structures, and compiler characteristics.
dnl Checks for library functions.

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

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}
364
packagedocdir=doc/${PACKAGE}
Tiago Peixoto's avatar
Tiago Peixoto committed
365
366
367
368
369
370
371
372
373
374
375
376


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}"
377
378
379
380
381
382

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

385
386
387
388
389
390
391
392
393
394
# Allow the pkg-config directory to be set
AC_ARG_WITH(pkgconfigdir,
            AC_HELP_STRING([--with-pkgconfigdir],
            [Use the specified pkgconfig dir (default is libdir/pkgconfig)]),
            [pkgconfigdir=${withval}],
            [pkgconfigdir='${libdir}/pkgconfig'])

AC_SUBST([pkgconfigdir])
AC_MSG_NOTICE([pkgconfig directory is ${pkgconfigdir}])

395
396
dnl Subst PYTHON_DIR.
AC_DEFINE_UNQUOTED([INSTALL_PREFIX],"${prefix}", [python prefix])
Tiago Peixoto's avatar
Tiago Peixoto committed
397
AC_DEFINE_UNQUOTED([PYTHON_DIR], "${PYTHON_SITE_PKG}", [The directory name for the site-packages subdirectory of the standard Python install tree.])
398
399

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

403
404
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
405

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

AC_DEFINE_UNQUOTED([COPYRIGHT],
Tiago Peixoto's avatar
Tiago Peixoto committed
409
    "Copyright (C) 2006-2016 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.",
410
        [copyright info])
411

412
# git information
413
414
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])
415

416
417
418
# GCC version
AC_DEFINE([GCC_VERSION], [(__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)], [GCC version value])

Tiago Peixoto's avatar
Tiago Peixoto committed
419
420
# set some automake variables

421
422
423
424
425
426
# global CPP flags
AC_SUBST(CPPFLAGS)

# global CXX flags
AC_SUBST(CXXFLAGS)

Tiago Peixoto's avatar
Tiago Peixoto committed
427
# CPP flags for submodules
Tiago Peixoto's avatar
Tiago Peixoto committed
428
[MOD_CPPFLAGS="-I\$(srcdir) -I\$(srcdir)/.. -I\$(srcdir)/../../boost-workaround \
Tiago Peixoto's avatar
Tiago Peixoto committed
429
430
431
432
-DHAVE_CONFIG_H"]
AC_SUBST(MOD_CPPFLAGS)

# default LIBADD flags for submodules
Tiago Peixoto's avatar
Tiago Peixoto committed
433
434
[MOD_LIBADD="${PYTHON_LDFLAGS} ${BOOST_IOSTREAMS_LIB} ${BOOST_PYTHON_LIB} \
${BOOST_REGEX_LIB} ${BOOST_COROUTINE_LIB} ${OPENMP_LDFLAGS} -lexpat"]
Tiago Peixoto's avatar
Tiago Peixoto committed
435
436
437
438
AC_SUBST(MOD_LIBADD)

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

441
# MacOS needs different options
442
if [[ `echo ${target_os} | grep -c -e "^darwin"` == 1 ]]; then
443
444
   [MOD_LDFLAGS="-module -dynamiclib"]
fi
Tiago Peixoto's avatar
Tiago Peixoto committed
445

Tiago Peixoto's avatar
Tiago Peixoto committed
446
447
AC_SUBST(MOD_LDFLAGS)

Tiago Peixoto's avatar
Tiago Peixoto committed
448
449
450
451
452
AX_CREATE_PKGCONFIG_INFO([graph-tool-py${PYTHON_VERSION}.pc], [],
                         [${PYTHON_LDFLAGS} -l${BOOST_PYTHON_LIB}],
                         [graph-tool Python library],
                         [-ftemplate-depth-250 ${SPARSEHASH_CFLAGS} ${PYTHON_CPPFLAGS} -I${NUMPY_DIR} ${BOOST_CPPFLAGS} -I${MOD_DIR}/include -I${MOD_DIR}/include/boost-workaround],
                         [])
Tiago Peixoto's avatar
Tiago Peixoto committed
453

454
AC_CONFIG_FILES([
Tiago Peixoto's avatar
Tiago Peixoto committed
455
456
457
Makefile
src/Makefile
src/graph/Makefile
Tiago Peixoto's avatar
Tiago Peixoto committed
458
src/graph/centrality/Makefile
459
src/graph/clustering/Makefile
460
src/graph/community_old/Makefile
461
462
src/graph/correlations/Makefile
src/graph/draw/Makefile
Tiago Peixoto's avatar
Tiago Peixoto committed
463
src/graph/flow/Makefile
464
src/graph/generation/Makefile
465
src/graph/inference/Makefile
466
src/graph/layout/Makefile
467
src/graph/search/Makefile
468
469
470
471
src/graph/spectral/Makefile
src/graph/stats/Makefile
src/graph/topology/Makefile
src/graph/util/Makefile
472
src/graph_tool/Makefile
Tiago Peixoto's avatar
Tiago Peixoto committed
473
])
474
AC_OUTPUT