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