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, 13dev)
6

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

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
14
AC_CANONICAL_TARGET
Tiago Peixoto's avatar
Tiago Peixoto committed
15
AC_CONFIG_SRCDIR(src)
16
17
AM_INIT_AUTOMAKE([foreign])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
Tiago Peixoto's avatar
Tiago Peixoto committed
18
AM_PROG_CC_C_O
19
AC_CONFIG_HEADERS([config.h])
Tiago Peixoto's avatar
Tiago Peixoto committed
20
AC_CONFIG_MACRO_DIR([m4])
Tiago Peixoto's avatar
Tiago Peixoto committed
21

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

Tiago Peixoto's avatar
Tiago Peixoto committed
33
34
35
36
# pkg-config generation
PKG_PROG_PKG_CONFIG
PKG_INSTALLDIR

Tiago Peixoto's avatar
Tiago Peixoto committed
37
AX_CXX_COMPILE_STDCXX_14([ext],[mandatory])
38

39
dnl turn on warnings
40
[CXXFLAGS="-Wall -Wextra -ftemplate-backtrace-limit=0 ${CXXFLAGS}"]
41

Tiago Peixoto's avatar
Tiago Peixoto committed
42
43
44
dnl Checks for options

dnl Turn debugging on or off
45
AC_MSG_CHECKING(whether to enable debug info)
46

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

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

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

Tiago Peixoto's avatar
Tiago Peixoto committed
67
AC_MSG_CHECKING(whether to enable function inlining...)
68

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

Tiago Peixoto's avatar
Tiago Peixoto committed
83
84
AM_CONDITIONAL(NO_INLINE, test $NO_INLINE = yes)

85
AC_MSG_CHECKING(whether to enable optimizations)
86

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

99
AC_MSG_CHECKING(whether to enable symbol visibility manipulation)
100

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


114
[NO_GRAPH_FILTERING=no]
115
116
117
118
119
120
121
122
123
124
125
126
# 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)]
#         )
127

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

Tiago Peixoto's avatar
Tiago Peixoto committed
148
[USING_CAIRO=yes]
149
AC_MSG_CHECKING(whether to enable cairo drawing)
Tiago Peixoto's avatar
Tiago Peixoto committed
150
151
152
153
154
155
156
157
158
159
160
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)]
        )

161
162
163
164
dnl Override prefix with default value if not set
if test "x${prefix}" = "xNONE"; then
  prefix=${ac_default_prefix}
fi
165

Tiago Peixoto's avatar
Tiago Peixoto committed
166
167
168
169
170
171
172
173
174
175
176
177
178
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)

179
dnl python
180
181
182
183
184
185
186
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)
187
[TEMP_CPPFLAGS="${CPPFLAGS}"]
188
AC_PYTHON_DEVEL([== '${PYTHON_FULL_VERSION}'])
189
190
191
[CPPFLAGS="${CPPFLAGS} ${PYTHON_CPPFLAGS}"]
[LDFLAGS="${LDFLAGS} ${PYTHON_LDFLAGS}"]

192
193
# default directory for submodules
[MOD_DIR="${PYTHON_SITE_PKG}"]
Tiago Peixoto's avatar
Tiago Peixoto committed
194
195
196
197
AC_ARG_WITH([python-module-path],
            [AS_HELP_STRING([--with-python-module-path=DIR],
                            [directory where python module will be installed
                             [default=auto-detected]])],
198
199
200
201
202
203
            MOD_DIR=$withval)
echo "graph-tool will be installed at: ${MOD_DIR}"

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

204
205
206
207
208
echo "==========================="
echo "Using python version: ${PYTHON_FULL_VERSION}"
echo "==========================="


209
dnl boost
210
AX_BOOST_BASE([[1.54.0]])
211
212
213
214
215
216
217
218
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
219
220
221
222
AX_BOOST_REGEX
if test "$BOOST_REGEX_LIB" = ""; then
   AC_MSG_ERROR([No usable boost::regex found])
fi
223
224
AX_BOOST_COROUTINE
if test "$BOOST_COROUTINE_LIB" = ""; then
Tiago Peixoto's avatar
Tiago Peixoto committed
225
   AC_MSG_WARN([No usable boost::coroutine found! Some functionality will be disabled in the library.])
226
fi
Tiago Peixoto's avatar
Tiago Peixoto committed
227
228
229
230
AX_BOOST_GRAPH
if test "$BOOST_GRAPH_LIB" = ""; then
   AC_MSG_ERROR([No usable boost::graph found])
fi
231

232
[CPPFLAGS="${CPPFLAGS} ${BOOST_CPPFLAGS}"]
Tiago Peixoto's avatar
Tiago Peixoto committed
233

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

Tiago Peixoto's avatar
Tiago Peixoto committed
252
dnl Checks for header files.
253
254

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

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

282
283
284
285
286
dnl cgal
AC_CHECK_HEADER([CGAL/version.h],
                [],
                [AC_MSG_ERROR([CGAL headers not found])])

287

Tiago Peixoto's avatar
Tiago Peixoto committed
288
289
290
291
292
293
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)
294
   AX_PYTHON_MODULE(cairo)
295
296
297
298
   [OLD_CXXFLAGS="${CXXFLAGS}"]
   [OLD_CPPFLAGS="${CPPFLAGS}"]
   [CXXFLAGS="${CXXFLAGS} ${CAIROMM_CFLAGS}"]
   [CPPFLAGS="${CPPFLAGS} ${CAIROMM_CFLAGS}"]
299
300
   AC_CHECK_HEADER([pycairo/pycairo.h], [],    
               [AC_MSG_ERROR([pycairo headers not found])])
301
302
   [CXXFLAGS="${OLD_CXXFLAGS}"]
   [CPPFLAGS="${OLD_CPPFLAGS}"]
Tiago Peixoto's avatar
Tiago Peixoto committed
303
304
fi

305
dnl sparsehash
306
307
[SPARSEHASH_PREFIX=sparsehash]
AC_ARG_WITH([sparsehash-prefix], [AS_HELP_STRING([--with-sparsehash-prefix=prefix],
308
309
                    [include directory prefix for sparsehash
                                [default=sparsehash] ])],
310
311
            [SPARSEHASH_PREFIX=$withval])

312
[USING_SPARSEHASH=yes]
313
AC_MSG_CHECKING(whether to enable sparsehash)
314
315
316
317
318
319
320
321
322
323
324
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)]
        )

325
if test "$USING_SPARSEHASH" = "yes"; then
326
327
328
329
   PKG_CHECK_MODULES(SPARSEHASH, [libsparsehash],
                     AC_DEFINE([HAVE_SPARSEHASH], [1], [Using google's sparsehash]),
                     [AC_MSG_RESULT([not found by pkgconfig, trying default...])])

330
   [SPARSEHASH_CFLAGS="${SPARSEHASH_CFLAGS} -DSPARSEHASH_PREFIX=${SPARSEHASH_PREFIX}"]
331
   AC_SUBST(SPARSEHASH_CFLAGS)
332
   AC_DEFINE_UNQUOTED([SPARSEHASH_INCLUDE(f)], [<${SPARSEHASH_PREFIX}/f>],
333
                      [Sparsehash include macro])
334
335
   [CXXFLAGS="${CXXFLAGS} ${SPARSEHASH_CFLAGS}"]
   [CPPFLAGS="${CPPFLAGS} ${SPARSEHASH_CFLAGS}"]
336
   AC_CHECK_HEADER([${SPARSEHASH_PREFIX}/dense_hash_set], [],
337
338
                   [AC_MSG_ERROR([sparsehash headers not found])])
fi
339

Tiago Peixoto's avatar
Tiago Peixoto committed
340
341
342
dnl Checks for typedefs, structures, and compiler characteristics.
dnl Checks for library functions.

343
dnl Checks for Additional stuff.
Tiago Peixoto's avatar
Tiago Peixoto committed
344
345
346
347
348
349
350
351
352
353
354
355
356

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}
357
packagedocdir=doc/${PACKAGE}
Tiago Peixoto's avatar
Tiago Peixoto committed
358
359
360
361
362
363
364
365
366
367
368
369


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}"
370
371
372
373
374
375

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

378
379
dnl Subst PYTHON_DIR.
AC_DEFINE_UNQUOTED([INSTALL_PREFIX],"${prefix}", [python prefix])
Tiago Peixoto's avatar
Tiago Peixoto committed
380
AC_DEFINE_UNQUOTED([PYTHON_DIR], "${PYTHON_SITE_PKG}", [The directory name for the site-packages subdirectory of the standard Python install tree.])
381
382

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

386
387
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
388
389
AC_DEFINE_UNQUOTED([PACKAGE_SOURCE_DIR], "${packagesrcdir}", [package source dir])

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

AC_DEFINE_UNQUOTED([COPYRIGHT],
Tiago Peixoto's avatar
Tiago Peixoto committed
393
    "Copyright (C) 2006-2015 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.",
394
        [copyright info])
395

396
# git information
397
398
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])
399

400
401
402
# GCC version
AC_DEFINE([GCC_VERSION], [(__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)], [GCC version value])

Tiago Peixoto's avatar
Tiago Peixoto committed
403
404
# set some automake variables

405
406
407
408
409
410
# global CPP flags
AC_SUBST(CPPFLAGS)

# global CXX flags
AC_SUBST(CXXFLAGS)

Tiago Peixoto's avatar
Tiago Peixoto committed
411
# CPP flags for submodules
Tiago Peixoto's avatar
Tiago Peixoto committed
412
[MOD_CPPFLAGS="-I\$(srcdir) -I\$(srcdir)/.. -I\$(srcdir)/../../boost-workaround \
Tiago Peixoto's avatar
Tiago Peixoto committed
413
414
415
416
-DHAVE_CONFIG_H"]
AC_SUBST(MOD_CPPFLAGS)

# default LIBADD flags for submodules
417
[MOD_LIBADD="${PYTHON_LDFLAGS} -l${BOOST_IOSTREAMS_LIB} -l${BOOST_PYTHON_LIB} \
418
-l${BOOST_REGEX_LIB} ${BOOST_COROUTINE_LIB} ${OPENMP_LDFLAGS} -lexpat"]
Tiago Peixoto's avatar
Tiago Peixoto committed
419
420
421
422
AC_SUBST(MOD_LIBADD)

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

425
# MacOS needs different options
426
if [[ `echo ${target_os} | grep -c -e "^darwin"` == 1 ]]; then
427
428
   [MOD_LDFLAGS="-module -dynamiclib"]
fi
Tiago Peixoto's avatar
Tiago Peixoto committed
429

Tiago Peixoto's avatar
Tiago Peixoto committed
430
431
AC_SUBST(MOD_LDFLAGS)

Tiago Peixoto's avatar
Tiago Peixoto committed
432
433
434
435
436
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
437

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