configure.ac 15.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, 21dev)
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

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

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

67
dnl disable deprecation warning, to silence some harmless BGL-related warnings
68 69 70 71 72 73 74 75 76
[CXXFLAGS="-Wno-deprecated ${CXXFLAGS}"]

dnl set default visibility
[CXXFLAGS="-fvisibility=default -fvisibility-inlines-hidden ${CXXFLAGS}"]

dnl set default optimizations
[CXXFLAGS="-O3 ${CXXFLAGS}"]

dnl OpenMP
77
AC_DEFINE([OPENMP_MIN_THRESH], 300, [default minimum number of vertices for parallel loops])
78
AC_MSG_CHECKING(whether to enable parallel algorithms with openmp)
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
AC_ARG_ENABLE([openmp], [AS_HELP_STRING([--disable-openmp],[disable openmp [default=enabled] ])],
              if test $enableval = yes; then
                  [AC_MSG_RESULT(yes)]
                  [USING_OPENMP=yes]
                  [AX_OPENMP([], [USING_OPENMP=no]
                                 [OPENMP_CXXFLAGS="-Wno-unknown-pragmas"])]
              else
                  [AC_MSG_RESULT(no)]              
                  [USING_OPENMP=no]
                  [OPENMP_CXXFLAGS="-Wno-unknown-pragmas"]
              fi,
              [USING_OPENMP=yes]
              [AX_OPENMP([], [USING_OPENMP=no]
                             [OPENMP_CXXFLAGS="-Wno-unknown-pragmas"])])
if test ${USING_OPENMP} = yes; then
    AC_DEFINE([USING_OPENMP], 1, [using openmp])
fi
[CXXFLAGS="${OPENMP_CXXFLAGS} ${CXXFLAGS}"]
97

Tiago Peixoto's avatar
Tiago Peixoto committed
98
[USING_CAIRO=yes]
99
AC_MSG_CHECKING(whether to enable cairo drawing)
Tiago Peixoto's avatar
Tiago Peixoto committed
100
AC_ARG_ENABLE([cairo], [AS_HELP_STRING([--disable-cairo],[disable cairo drawing [default=enabled] ])],
101 102 103 104 105 106 107
              if test $enableval = no; then
                 [USING_CAIRO=no]
                 [AC_MSG_RESULT(no)]
              else
                 [AC_MSG_RESULT(yes)]
              fi,
              [AC_MSG_RESULT(yes)])
Tiago Peixoto's avatar
Tiago Peixoto committed
108

109 110
dnl Override prefix with default value if not set
if test "x${prefix}" = "xNONE"; then
111
   prefix=${ac_default_prefix}
112
fi
113

Tiago Peixoto's avatar
Tiago Peixoto committed
114 115 116 117
dnl Checks for programs.

dnl Checks for libraries.
dnl expat
118 119 120 121
AX_LIB_EXPAT()
if test "$HAVE_EXPAT" = "no"; then
    AC_MSG_ERROR([expat library not found])
fi
Tiago Peixoto's avatar
Tiago Peixoto committed
122

123
dnl python
124
AM_PATH_PYTHON([2.7])
125 126 127 128
AC_SUBST(PYTHON_VERSION)
PYTHON_FULL_VERSION=[`${PYTHON} -c "import sys; print(sys.version.split()[0])"`]
AC_SUBST(PYTHON_FULL_VERSION)
AC_PYTHON_DEVEL([== '${PYTHON_FULL_VERSION}'])
129

130 131
# default directory for submodules
[MOD_DIR="${PYTHON_SITE_PKG}"]
Tiago Peixoto's avatar
Tiago Peixoto committed
132 133 134 135
AC_ARG_WITH([python-module-path],
            [AS_HELP_STRING([--with-python-module-path=DIR],
                            [directory where python module will be installed
                             [default=auto-detected]])],
136 137 138 139 140
            MOD_DIR=$withval)

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

141
dnl boost
142
AX_BOOST_BASE([[1.54.0]])
143 144 145 146 147 148 149 150
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
151 152 153 154
AX_BOOST_REGEX
if test "$BOOST_REGEX_LIB" = ""; then
   AC_MSG_ERROR([No usable boost::regex found])
fi
155 156
AX_BOOST_COROUTINE
if test "$BOOST_COROUTINE_LIB" = ""; then
Tiago Peixoto's avatar
Tiago Peixoto committed
157
   AC_MSG_WARN([No usable boost::coroutine found! Some functionality will be disabled in the library.])
158
fi
Tiago Peixoto's avatar
Tiago Peixoto committed
159 160 161 162
AX_BOOST_GRAPH
if test "$BOOST_GRAPH_LIB" = ""; then
   AC_MSG_ERROR([No usable boost::graph found])
fi
163

164 165 166 167 168
[BOOST_LIBS="${BOOST_IOSTREAMS_LIB} -l${BOOST_PYTHON_LIB} ${BOOST_REGEX_LIB} ${BOOST_COROUTINE_LIB}"]

dnl GNU MP library (needed by CGAL)
AC_CHECK_LIB(gmp, __gmpz_init, ,
             [AC_MSG_ERROR([GNU MP not found (CGAL dependency), see https://gmplib.org/])])
169
dnl CGAL
170
AX_LIB_CGAL_CORE([], AC_MSG_ERROR([CGAL library not found.]))
171
[CGAL_FLAGS="-frounding-math"]
172
AC_MSG_CHECKING(whether to enable cgal debbuging with valgrind)
173
AC_ARG_ENABLE([cgal-valgrind], [AS_HELP_STRING([--enable-cgal-valgrind],[enable CGAL valgrind debugging [default=disabled] ])],
174 175 176 177 178 179 180
              if test $enableval = yes; then
                 [AC_MSG_RESULT(yes)]
                 [CGAL_FLAGS="${CGAL_FLAGS} -DCGAL_DISABLE_ROUNDING_MATH_CHECK=ON"]
              else
                 [AC_MSG_RESULT(no)]    
              fi,
              [AC_MSG_RESULT(no)])
181
AC_SUBST(CGAL_FLAGS)
182

Tiago Peixoto's avatar
Tiago Peixoto committed
183
dnl Checks for header files.
184 185

dnl numpy
186
AX_PYTHON_MODULE(numpy, fatal)
187
[NUMPY_DIR=`$PYTHON -c "import numpy; print(numpy.get_include())"`]
188
AC_ARG_WITH([numpy], [AS_HELP_STRING([--with-numpy=DIR],[directory where numpy is installed
189
                      [default=auto-detected] ])],
190
            NUMPY_DIR=$withval)
191
[NUMPY_CPPFLAGS="-I${NUMPY_DIR}"]
192 193 194

[CPPFLAGS_TEMP=${CPPFLAGS}]
[CPPFLAGS=${PYTHON_CPPFLAGS} ${CPPFLAGS}]
195
AC_CHECK_HEADER([${NUMPY_DIR}/numpy/arrayobject.h],
196
                [],
197 198
                [AC_MSG_ERROR([Numpy extension header not found])],
                [#include "Python.h"])
Tiago Peixoto's avatar
Tiago Peixoto committed
199 200 201
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.])])
202
[CPPFLAGS=${CPPFLAGS_TEMP}]
203

Tiago Peixoto's avatar
Tiago Peixoto committed
204 205 206 207 208 209
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)
210
   AX_PYTHON_MODULE(cairo)
211 212 213 214 215 216
   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
217 218
   [CPPFLAGS_TEMP=${CPPFLAGS}]
   [CPPFLAGS="${CAIROMM_CPPFLAGS} ${CAIROMM_CFLAGS} ${PYTHON_CPPFLAGS} ${CPPFLAGS}"]
219
   AC_DEFINE_UNQUOTED([PYCAIRO_HEADER], <${PYCAIRO_HEADER}>, [pycairo header file])
220 221
   AC_CHECK_HEADER(${PYCAIRO_HEADER},
                   [],
222
                   [AC_MSG_ERROR([pycairo headers not found])])
223
   [CPPFLAGS=${CPPFLAGS_TEMP}]
Tiago Peixoto's avatar
Tiago Peixoto committed
224 225
fi

226
dnl sparsehash
227 228
[SPARSEHASH_PREFIX=sparsehash]
AC_ARG_WITH([sparsehash-prefix], [AS_HELP_STRING([--with-sparsehash-prefix=prefix],
229 230
                                                 [include directory prefix for sparsehash
                                                  [default=sparsehash] ])],
231 232
            [SPARSEHASH_PREFIX=$withval])

233
[USING_SPARSEHASH=yes]
234
AC_MSG_CHECKING(whether to enable sparsehash)
235 236 237 238 239 240 241 242 243
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)])
244

245
if test "$USING_SPARSEHASH" = "yes"; then
246 247 248
   PKG_CHECK_MODULES(SPARSEHASH, [libsparsehash],
                     AC_DEFINE([HAVE_SPARSEHASH], [1], [Using google's sparsehash]),
                     [AC_MSG_RESULT([not found by pkgconfig, trying default...])])
249
   AC_SUBST(SPARSEHASH_CFLAGS)
250 251
   AC_DEFINE_UNQUOTED([SPARSEHASH_PREFIX], [${SPARSEHASH_PREFIX}],
                      [Sparsehash include prefix])
252
   AC_DEFINE_UNQUOTED([SPARSEHASH_INCLUDE(f)], [<${SPARSEHASH_PREFIX}/f>],
253
                      [Sparsehash include macro])
254
   AC_CHECK_HEADER([${SPARSEHASH_PREFIX}/dense_hash_set], [],
255 256
                   [AC_MSG_ERROR([sparsehash headers not found])])
fi
257

Tiago Peixoto's avatar
Tiago Peixoto committed
258 259 260
dnl Checks for typedefs, structures, and compiler characteristics.
dnl Checks for library functions.

261
dnl Checks for Additional stuff.
Tiago Peixoto's avatar
Tiago Peixoto committed
262 263 264

dnl Set PACKAGE PREFIX
if test "x${prefix}" = "xNONE"; then
265
   packageprefix=${ac_default_prefix}
Tiago Peixoto's avatar
Tiago Peixoto committed
266
else
267
   packageprefix=${prefix}
Tiago Peixoto's avatar
Tiago Peixoto committed
268 269 270 271
fi

dnl Set PACKAGE DATA & DOC DIR
packagedatadir=share/${PACKAGE}
272
packagedocdir=doc/${PACKAGE}
Tiago Peixoto's avatar
Tiago Peixoto committed
273 274 275 276 277 278 279 280 281 282 283 284


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}"
285 286 287 288 289 290

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

293 294 295 296 297 298 299 300 301 302
# 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}])

303 304
dnl Subst PYTHON_DIR.
AC_DEFINE_UNQUOTED([INSTALL_PREFIX],"${prefix}", [python prefix])
Tiago Peixoto's avatar
Tiago Peixoto committed
305
AC_DEFINE_UNQUOTED([PYTHON_DIR], "${PYTHON_SITE_PKG}", [The directory name for the site-packages subdirectory of the standard Python install tree.])
306 307

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

311 312
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
313

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

AC_DEFINE_UNQUOTED([COPYRIGHT],
Tiago Peixoto's avatar
Tiago Peixoto committed
317
    "Copyright (C) 2006-2017 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.",
318
        [copyright info])
319

320
# git information
321 322
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])
323

324 325 326
# GCC version
AC_DEFINE([GCC_VERSION], [(__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)], [GCC version value])

327
# set automake variables
Tiago Peixoto's avatar
Tiago Peixoto committed
328

329 330 331 332 333 334
# global CPP flags
AC_SUBST(CPPFLAGS)

# global CXX flags
AC_SUBST(CXXFLAGS)

335 336
# extra CPP flags for submodules
[MOD_CPPFLAGS="${PYTHON_CPPFLAGS} ${BOOST_CPPFLAGS} ${NUMPY_CPPFLAGS} ${EXPAT_CFLAGS} -I\$(top_srcdir)/src/boost-workaround -DHAVE_CONFIG_H -I\$(top_srcdir)/src/graph -I\$(top_builddir)"]
Tiago Peixoto's avatar
Tiago Peixoto committed
337 338
AC_SUBST(MOD_CPPFLAGS)

339 340
# extra LIBADD flags for submodules
[MOD_LIBADD="${PYTHON_LIBS} ${BOOST_LIBS} ${EXPAT_LIBS} ${EXPAT_LDFLAGS}"]
Tiago Peixoto's avatar
Tiago Peixoto committed
341 342 343 344
AC_SUBST(MOD_LIBADD)

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

347
# MacOS needs different options
348
if [[ `echo ${target_os} | grep -c -e "^darwin"` == 1 ]]; then
349 350
   [MOD_LDFLAGS="-module -dynamiclib"]
fi
Tiago Peixoto's avatar
Tiago Peixoto committed
351

Tiago Peixoto's avatar
Tiago Peixoto committed
352 353
AC_SUBST(MOD_LDFLAGS)

Tiago Peixoto's avatar
Tiago Peixoto committed
354
AX_CREATE_PKGCONFIG_INFO([graph-tool-py${PYTHON_VERSION}.pc], [],
355
                         [${PYTHON_LIBS} -l${BOOST_PYTHON_LIB}],
Tiago Peixoto's avatar
Tiago Peixoto committed
356
                         [graph-tool Python library],
357
                         [-ftemplate-depth-250 ${PYTHON_CPPFLAGS} ${BOOST_CPPFLAGS} ${SPARSEHASH_CFLAGS} ${NUMPY_CPPFLAGS} -I${MOD_DIR}/include -I${MOD_DIR}/include/boost-workaround],
Tiago Peixoto's avatar
Tiago Peixoto committed
358
                         [])
Tiago Peixoto's avatar
Tiago Peixoto committed
359

360
AC_CONFIG_FILES([
Tiago Peixoto's avatar
Tiago Peixoto committed
361 362 363
Makefile
src/Makefile
src/graph/Makefile
Tiago Peixoto's avatar
Tiago Peixoto committed
364
src/graph/centrality/Makefile
365
src/graph/clustering/Makefile
366 367
src/graph/correlations/Makefile
src/graph/draw/Makefile
Tiago Peixoto's avatar
Tiago Peixoto committed
368
src/graph/flow/Makefile
369
src/graph/generation/Makefile
370
src/graph/inference/Makefile
371
src/graph/layout/Makefile
372
src/graph/search/Makefile
373 374 375 376
src/graph/spectral/Makefile
src/graph/stats/Makefile
src/graph/topology/Makefile
src/graph/util/Makefile
377
src/graph_tool/Makefile
Tiago Peixoto's avatar
Tiago Peixoto committed
378
])
379
AC_OUTPUT
380

381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424
if test ${TERM}x != x -a ${TERM} != dumb; then
    color () {
        tput setaf $1
    }
    reset () {
        tput sgr0
    }
else
    color () {
        :
    }
    reset () {
        :
    }
fi

echo "$(color 2)================================================================================$(reset)"
echo "$(color 2)                             CONFIGURATION SUMMARY                              $(reset)"
echo "$(color 2)================================================================================$(reset)"
echo -e "$(color 3)Using python version:           $(color 4)${PYTHON_FULL_VERSION}$(reset)"
echo -e "$(color 3)Python interpreter:             $(color 4)${PYTHON}$(reset)"
echo -e "$(color 3)Installation path:              $(color 4)${MOD_DIR}$(reset)\n"

echo -e "$(color 3)C++ compiler (CXX):             $(color 4)${CXX}$(reset)"
echo -e "$(color 3)C++ compiler version:           $(color 4)`${CXX} -dumpversion`$(reset)\n"

echo -e "$(color 3)Prefix:                         $(color 4)${prefix}$(reset)"
echo -e "$(color 3)Pkgconfigdir:                   $(color 4)${pkgconfigdir}$(reset)\n"

echo -e "$(color 3)Python preprocessor flags:      $(color 4)${PYTHON_CPPFLAGS}$(reset)"
echo -e "$(color 3)Python linker flags:            $(color 4)${PYTHON_LIBS}$(reset)"
echo -e "$(color 3)Boost preprocessor flags:       $(color 4)${BOOST_CPPFLAGS}$(reset)"
echo -e "$(color 3)Boost linker flags:             $(color 4)${BOOST_LIBS}$(reset)"
echo -e "$(color 3)Numpy preprocessor flags:       $(color 4)${NUMPY_CPPFLAGS}$(reset)"
echo -e "$(color 3)Sparsehash preprocessor flags:  $(color 4)${SPARSEHASH_CFLAGS}$(reset)"
echo -e "$(color 3)CGAL preprocessor flags:        $(color 4)${CGAL_CPPFLAGS}$(reset)"
echo -e "$(color 3)CGAL linker flags:              $(color 4)${CGAL_LDFLAGS}$(reset)"
echo -e "$(color 3)Expat preprocessor flags:       $(color 4)${EXPAT_CFLAGS}$(reset)"
echo -e "$(color 3)Expat linker flags:             $(color 4)${EXPAT_LDFLAGS} ${EXPAT_LIBS}$(reset)"
echo -e "$(color 3)OpenMP compiler flags:          $(color 4)${OPENMP_CXXFLAGS}$(reset)"
echo -e "$(color 3)Extra CPPFLAGS:                 $(color 4)${CPPFLAGS}$(reset)"
echo -e "$(color 3)Extra CXXFLAGS:                 $(color 4)${CXXFLAGS}$(reset)"
echo -e "$(color 3)Extra LDFLAGS:                  $(color 4)${LDFLAGS}$(reset)\n"
echo -n -e "$(color 3)Using OpenMP:                   "
425
if test ${USING_OPENMP} = yes; then
426
   echo "$(color 5)yes$(reset)"
427
else
428
   echo "$(color 1)no$(reset)"
429
fi
430
echo -n -e "$(color 3)Using sparsehash:               "
431
if test ${USING_SPARSEHASH} = yes; then
432
   echo "$(color 5)yes$(reset)"
433
else
434
   echo "$(color 1)no$(reset)"
435
fi
436
echo -n -e "$(color 3)Using cairo:                    "
437
if test ${USING_CAIRO} = yes; then
438
   echo "$(color 5)yes$(reset)"
439
else
440
   echo "$(color 1)no$(reset)"
441
fi
442
echo -e "$(color 2)================================================================================$(reset)"
443