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