configure.ac 14.9 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

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
34
LT_INIT
Tiago Peixoto's avatar
Tiago Peixoto committed
35 36
AC_PROG_INSTALL

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

291

Tiago Peixoto's avatar
Tiago Peixoto committed
292 293 294 295 296 297
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)
298
   AX_PYTHON_MODULE(cairo)
299 300 301 302
   [OLD_CXXFLAGS="${CXXFLAGS}"]
   [OLD_CPPFLAGS="${CPPFLAGS}"]
   [CXXFLAGS="${CXXFLAGS} ${CAIROMM_CFLAGS}"]
   [CPPFLAGS="${CPPFLAGS} ${CAIROMM_CFLAGS}"]
303 304 305 306 307 308 309 310 311
   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])])
312 313
   [CXXFLAGS="${OLD_CXXFLAGS}"]
   [CPPFLAGS="${OLD_CPPFLAGS}"]
Tiago Peixoto's avatar
Tiago Peixoto committed
314 315
fi

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

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

336
if test "$USING_SPARSEHASH" = "yes"; then
337 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
   [SPARSEHASH_CFLAGS="${SPARSEHASH_CFLAGS} -DSPARSEHASH_PREFIX=${SPARSEHASH_PREFIX}"]
342
   AC_SUBST(SPARSEHASH_CFLAGS)
343
   AC_DEFINE_UNQUOTED([SPARSEHASH_INCLUDE(f)], [<${SPARSEHASH_PREFIX}/f>],
344
                      [Sparsehash include macro])
345 346
   [CXXFLAGS="${CXXFLAGS} ${SPARSEHASH_CFLAGS}"]
   [CPPFLAGS="${CPPFLAGS} ${SPARSEHASH_CFLAGS}"]
347
   AC_CHECK_HEADER([${SPARSEHASH_PREFIX}/dense_hash_set], [],
348 349
                   [AC_MSG_ERROR([sparsehash headers not found])])
fi
350

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

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

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


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

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

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

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

394 395
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
396

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

AC_DEFINE_UNQUOTED([COPYRIGHT],
Tiago Peixoto's avatar
Tiago Peixoto committed
400
    "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.",
401
        [copyright info])
402

403
# git information
404 405
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])
406

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

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

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

# global CXX flags
AC_SUBST(CXXFLAGS)

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

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

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

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

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

Tiago Peixoto's avatar
Tiago Peixoto committed
439 440 441 442 443
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
444

445
AC_CONFIG_FILES([
Tiago Peixoto's avatar
Tiago Peixoto committed
446 447 448
Makefile
src/Makefile
src/graph/Makefile
Tiago Peixoto's avatar
Tiago Peixoto committed
449
src/graph/centrality/Makefile
450
src/graph/clustering/Makefile
451
src/graph/community/Makefile
452 453
src/graph/correlations/Makefile
src/graph/draw/Makefile
Tiago Peixoto's avatar
Tiago Peixoto committed
454
src/graph/flow/Makefile
455
src/graph/generation/Makefile
456
src/graph/layout/Makefile
457
src/graph/search/Makefile
458 459 460 461
src/graph/spectral/Makefile
src/graph/stats/Makefile
src/graph/topology/Makefile
src/graph/util/Makefile
462
src/graph_tool/Makefile
Tiago Peixoto's avatar
Tiago Peixoto committed
463
])
464
AC_OUTPUT