|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409 |
- # This file is part of GNUnet.
- # (C) 2001-2019 Christian Grothoff (and other contributing authors)
- #
- # GNUnet is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published
- # by the Free Software Foundation; either version 2, or (at your
- # option) any later version.
- #
- # GNUnet is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- # General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with GNUnet; see the file COPYING. If not, write to the
- # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- # Boston, MA 02110-1301, USA.
- #
- #
- # Process this file with autoconf to produce a configure script.
- #
- AC_PREREQ(2.61)
- AC_INIT([gnunet-secushare],[0.11.0],[bug-gnunet@gnu.org])
- AM_INIT_AUTOMAKE
- AC_CONFIG_HEADERS([gnunet_secushare_config.h])
- AC_CONFIG_MACRO_DIR([m4])
- AH_TOP([#define _GNU_SOURCE 1])
-
- AC_ISC_POSIX
- AC_PROG_AWK
- AC_PROG_CC
-
- AC_PROG_CPP
- AC_PROG_INSTALL
- AC_PROG_LN_S
- AC_PROG_MAKE_SET
- AC_LIBTOOL_WIN32_DLL
- AC_PROG_CC
- AM_PROG_CC_STDC
- AC_HEADER_STDC
- AC_CANONICAL_HOST
- AC_SUBST(MKDIR_P)
-
- # dynamic libraries/plugins
- AC_DISABLE_STATIC
- AC_PROG_LIBTOOL
-
- AC_SYS_LARGEFILE
- AC_FUNC_FSEEKO
-
- CFLAGS="-Wall $CFLAGS"
- # use '-fno-strict-aliasing', but only if the compiler can take it
- if gcc -fno-strict-aliasing -S -o /dev/null -xc /dev/null >/dev/null 2>&1;
- then
- CFLAGS="-fno-strict-aliasing $CFLAGS"
- fi
-
-
- # Check system type
- case "$host_os" in
- *darwin* | *rhapsody* | *macosx*)
- AC_DEFINE_UNQUOTED(OSX,1,[This is an OS X system])
- CFLAGS="-no-cpp-precomp $CFLAGS"
- LDFLAGS="-flat_namespace -undefined suppress $LDFLAGS"
- ;;
- linux*)
- AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux system])
- ;;
- freebsd*)
- AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
- AC_DEFINE_UNQUOTED(FREEBSD,1,[This is a FreeBSD system])
- ;;
- openbsd*)
- AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
- AC_DEFINE_UNQUOTED(OPENBSD,1,[This is an OpenBSD system])
- ;;
- netbsd*)
- AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
- AC_DEFINE_UNQUOTED(NETBSD,1,[This is a NetBSD system])
- ;;
- *solaris*)
- AC_DEFINE_UNQUOTED(SOLARIS,1,[This is a Solaris system])
- AC_DEFINE_UNQUOTED(_REENTRANT,1,[Need with solaris or errno doesnt work])
- build_target="solaris"
- ;;
- *arm-linux*)
- AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux system])
- ;;
- *cygwin*)
- AC_DEFINE_UNQUOTED(CYGWIN,1,[This is a Cygwin system])
- AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
- AC_CHECK_LIB(intl, gettext)
- LDFLAGS="$LDFLAGS -no-undefined"
- build_target="cygwin"
- ;;
- *mingw*)
- AC_DEFINE_UNQUOTED(MINGW,1,[This is a MinGW system])
- AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
- AC_DEFINE_UNQUOTED(_WIN32,1,[This is a Windows system])
- AC_CHECK_LIB(intl, gettext)
- LDFLAGS="$LDFLAGS -no-undefined -Wl,--export-all-symbols -lws2_32"
- CFLAGS="-mms-bitfields $CFLAGS"
- build_target="mingw"
- ;;
- *)
- AC_MSG_RESULT(Unrecognised OS $host_os)
- AC_DEFINE_UNQUOTED(OTHEROS,1,[Some strange OS])
- ;;
- esac
-
- AM_CONDITIONAL(MINGW, test "$build_target" = "mingw")
-
- # check for gettext
- AM_GNU_GETTEXT_VERSION([0.18.1])
- AM_GNU_GETTEXT([external])
-
- AC_CHECK_HEADERS([errno.h stdio.h unistd.h locale.h sys/stat.h sys/types.h langinfo.h libintl.h unistd.h stddef.h argz.h sys/socket.h netinet/in.h stdarg.h])
-
- # test for GNUnet core
- gnunet=0
- lookin=${prefix}
- backup_LDFLAGS="$LDFLAGS"
- backup_CPPFLAGS="$CPPFLAGS"
- GNUNET_LDFLAGS=""
- GNUNET_CPPFLAGS=""
- AC_MSG_CHECKING(for GNUnet core)
- AC_ARG_WITH(gnunet,
- [ --with-gnunet=PFX Base of GNUnet installation],
- [AC_MSG_RESULT([$with_gnunet])
- case $with_gnunet in
- no)
- lookin=""
- ;;
- yes)
- lookin="${prefix}"
- ;;
- *)
- lookin="$with_gnunet"
- ;;
- esac
- ],
- [
- AC_MSG_RESULT([--with-gnunet not specified])
- PKG_CHECK_MODULES([GNUNET], [gnunetutil >= 0.9.0], gnunet=1)
- ]
- )
-
- if test "x$gnunet" == "x0" -a ! "x$lookin" == "x"
- then
- AC_MSG_CHECKING(for GNUnet util library in $lookin)
- GNUNET_LDFLAGS="-L${lookin}/lib"
- GNUNET_CPPFLAGS="-I${lookin}/include"
- LDFLAGS="$GNUNET_LDFLAGS $backup_LDFLAGS"
- CPPFLAGS="$GNUNET_CPPFLAGS $backup_CPPFLAGS"
- AC_CHECK_HEADERS([gnunet/gnunet_util_lib.h],
- AC_CHECK_LIB([gnunetutil], [GNUNET_xfree_],
- [
- gnunet=1
- EXT_LIB_PATH="-L${lookin}/lib $EXT_LIB_PATH"
- ]
- ),,[#include <gnunet/platform.h>]
- )
- fi
-
- if test "x$gnunet" == "x0"
- then
- AC_MSG_ERROR([gnunet-ext requires GNUnet])
- fi
-
-
- # gcov compilation
- AC_MSG_CHECKING(whether to compile with support for code coverage analysis)
- AC_ARG_ENABLE([coverage],
- AS_HELP_STRING([--enable-coverage],
- [compile the library with code coverage support]),
- [use_gcov=${enableval}],
- [use_gcov=no])
- AC_MSG_RESULT($use_gcov)
- AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
-
- # should 'make check' run tests?
- AC_MSG_CHECKING(whether to run tests)
- AC_ARG_ENABLE([testruns],
- [AS_HELP_STRING([--disable-testruns], [disable running tests on make check (default is YES)])],
- [enable_tests_run=${enableval}],
- [enable_tests_run=yes])
- AC_MSG_RESULT($enable_test_run)
- AM_CONDITIONAL([ENABLE_TEST_RUN], [test "x$enable_tests_run" = "xyes"])
-
-
-
- # should gnunet-testing be compiled
- AC_MSG_CHECKING(wether to compile gnunet-testing)
- AC_ARG_ENABLE([testing],
- [AS_HELP_STRING([--disable-testing], [do not build gnunet-testing])],
- [enable_testing=${enableval}],
- [enable_testing=yes])
- AC_MSG_RESULT($enable_testing)
- AM_CONDITIONAL([HAVE_TESTING], [test "x$enable_testing" = "xyes"])
-
- # should experimental code be compiled (code that may not yet compile)?
- AC_MSG_CHECKING(whether to compile experimental code)
- AC_ARG_ENABLE([experimental],
- [AS_HELP_STRING([--enable-experimental], [enable compiling experimental code])],
- [enable_experimental=${enableval}],
- [enable_experimental=no])
- AC_MSG_RESULT($enable_experimental)
- AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
-
-
- # Linker hardening options
- # Currently these options are ELF specific - you can't use this with MacOSX
- AC_ARG_ENABLE(linker-hardening,
- AS_HELP_STRING(--enable-linker-hardening, enable linker security fixups),
- [if test x$enableval = xyes; then
- LDFLAGS="$LDFLAGS -z relro -z now"
- fi])
-
-
- SAVE_LDFLAGS=$LDFLAGS
- SAVE_CPPFLAGS=$CPPFLAGS
-
- # test for sqlite
- sqlite=false
- AC_MSG_CHECKING(for SQLite)
- AC_ARG_WITH(sqlite,
- [ --with-sqlite=PFX base of SQLite installation],
- [AC_MSG_RESULT("$with_sqlite")
- case $with_sqlite in
- no)
- ;;
- yes)
- AC_CHECK_HEADERS(sqlite3.h,
- sqlite=true)
- ;;
- *)
- LDFLAGS="-L$with_sqlite/lib $LDFLAGS"
- CPPFLAGS="-I$with_sqlite/include $CPPFLAGS"
- AC_CHECK_HEADERS(sqlite3.h,
- EXT_LIB_PATH="-L$with_sqlite/lib $EXT_LIB_PATH"
- SQLITE_LDFLAGS="-L$with_sqlite/lib"
- SQLITE_CPPFLAGS="-I$with_sqlite/include"
- sqlite=true)
- LDFLAGS=$SAVE_LDFLAGS
- CPPFLAGS=$SAVE_CPPFLAGS
- ;;
- esac
- ],
- [AC_MSG_RESULT([--with-sqlite not specified])
- AC_CHECK_HEADERS(sqlite3.h, sqlite=true)])
- AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue)
- AC_SUBST(SQLITE_CPPFLAGS)
- AC_SUBST(SQLITE_LDFLAGS)
-
- LDFLAGS=$SAVE_LDFLAGS
- CPPFLAGS=$SAVE_CPPFLAGS
-
- # test for postgres
- postgres=false
- # even running the check for postgres breaks emscripten ...
- AS_IF([test "$taler_only" != yes],
- [AX_LIB_POSTGRESQL([9.5],
- [CPPFLAGS="$CPPFLAGS $POSTGRESQL_CPPFLAGS"
- AC_CHECK_HEADERS([libpq-fe.h],
- postgres=true)
- ],
- [AC_MSG_RESULT([no postgres])])])
- AM_CONDITIONAL(HAVE_POSTGRESQL, test x$postgres = xtrue)
-
-
- LDFLAGS=$SAVE_LDFLAGS
- CPPFLAGS=$SAVE_CPPFLAGS
-
- # mysql & windows
- AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
- AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
-
- if test "$build_target" = "mingw"
- then
- CYGWIN_MYSQL_MAGIC="#include <mysql/my_global.h>"
- fi
-
- # test for mysql
- mysql=false
- mysqlfail=false
- SAVE_LDFLAGS=$LDFLAGS
- SAVE_CPPFLAGS=$CPPFLAGS
- AC_MSG_CHECKING(for mysql)
- AC_ARG_WITH(mysql,
- [ --with-mysql=PFX base of MySQL installation],
- [AC_MSG_RESULT([$with_mysql])
- case $with_mysql in
- no)
- ;;
- yes|"")
- AC_CHECK_HEADERS(mysql/mysql.h,
- AC_CHECK_LIB(mysqlclient, mysql_init,
-
- mysql=true), [], [$CYGWIN_MYSQL_MAGIC])
- ;;
- *)
- LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql $LDFLAGS $ZLIBS"
- CPPFLAGS="-I$with_mysql/include $CPPFLAGS"
- AC_CHECK_HEADERS(mysql/mysql.h,
- AC_CHECK_LIB(mysqlclient, mysql_init,
- MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql"
- MYSQL_CPPFLAGS="-I$with_mysql/include"
-
- mysql=true), [], [$CYGWIN_MYSQL_MAGIC])
- ;;
- esac
- ],
- [AC_MSG_RESULT([--with-mysql not specified])
- if test -d "/usr/lib64/mysql"; then
- MYSQL_LIBDIR="/usr/lib64/mysql"
- elif test -d "/usr/lib/mysql"; then
- MYSQL_LIBDIR="/usr/lib/mysql"
- else
- MYSQL_LIBDIR="/usr/lib"
- fi
- LDFLAGS="-L$MYSQL_LIBDIR $LDFLAGS $ZLIBS"
- AC_CHECK_LIB(mysqlclient, mysql_init,
- [AC_CHECK_HEADERS(mysql/mysql.h,
- MYSQL_LDFLAGS="-L$MYSQL_LIBDIR"
- mysql=true
-
- , [], [$CYGWIN_MYSQL_MAGIC])])
- ])
-
- AC_SUBST(MYSQL_LDFLAGS)
- AC_SUBST(MYSQL_CPPFLAGS)
-
- # additional version check for mysql
- AC_ARG_ENABLE(mysql-version-check, [ --disable-mysql-version-check do not check MySQL version],, enable_mysql_version_check=yes)
- if test "$mysql" = "true" -a "x$enable_mysql_version_check" = "xyes"
- then
- AC_MSG_CHECKING(mysql version)
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[$CYGWIN_MYSQL_MAGIC
- #include <mysql/mysql.h>]],
- [[
- #if (MYSQL_VERSION_ID < 40100)
- #error needs at least version >= 4.1
- #endif
- int main () { return 0; }
- ]])
- ],mysql=true,mysql=false)
- if test "$mysql" = "false"
- then
- mysqlfail=true
- AC_MSG_RESULT([fail, >= 4.1 required])
- else
- AC_MSG_RESULT(ok)
- fi
- fi
- AM_CONDITIONAL(HAVE_MYSQL, test x$mysql = xtrue)
- AM_CONDITIONAL(HAVE_MYSQLE, false)
- # restore LIBS
- LIBS=$SAVE_LIBS
- LDFLAGS=$SAVE_LDFLAGS
- CPPFLAGS=$SAVE_CPPFLAGS
-
- if test "$sqlite" = 0 -a "$mysql" = 0
- then
- AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
- fi
-
-
- extra_logging=GNUNET_NO
- AC_ARG_ENABLE([logging],
- AS_HELP_STRING([--enable-logging@<:@=value@:>@],[Enable logging calls. Possible values: yes,no,verbose,veryverbose ('yes' is the default)]),
- [AS_IF([test "x$enableval" = "xyes"], [],
- [test "x$enableval" = "xno"], [AC_DEFINE([GNUNET_CULL_LOGGING],[],[Define to cull all logging calls])],
- [test "x$enableval" = "xverbose"], [extra_logging=GNUNET_YES]
- [test "x$enableval" = "xveryverbose"], [extra_logging=\(GNUNET_YES+1\)])
- ], [])
- AC_DEFINE_UNQUOTED([GNUNET_EXTRA_LOGGING],[$extra_logging],[1 if extra logging is enabled, 2 for very verbose extra logging, 0 otherwise])
-
-
- AC_SUBST(GNUNET_CPPFLAGS)
- AC_SUBST(GNUNET_LDFLAGS)
- LDFLAGS="$backup_LDFLAGS"
- CPPFLAGS="$backup_CPPFLAGS"
-
- AC_DEFINE_DIR([PACKAGE_DATA], [datarootdir], [The directory for installing read-only architecture-independent data])
-
- # Set PACKAGE_SOURCE_DIR in gnunet_ext_config.h.
- packagesrcdir=`cd $srcdir && pwd`
- AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}", [source dir])
-
- AC_OUTPUT([ po/Makefile.in
- Makefile
- pkgconfig/Makefile
- src/Makefile
- src/include/Makefile
- src/multicast/Makefile
- src/multicast/multicast.conf
- src/psycutil/Makefile
- src/psyc/Makefile
- src/psyc/psyc.conf
- src/psycstore/Makefile
- src/psycstore/psycstore.conf
- src/social/Makefile
- src/social/social.conf
- pkgconfig/gnunetmulticast.pc
- pkgconfig/gnunetpsyc.pc
- pkgconfig/gnunetpsycstore.pc
- pkgconfig/gnunetsocial.pc
- ])
|