From 1f59e703d82b47f3aeaf432045a2633c2841169b Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 11 Feb 2019 20:39:36 +0100 Subject: initial import from gnunet.git --- configure.ac | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 configure.ac (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..5276c8b --- /dev/null +++ b/configure.ac @@ -0,0 +1,221 @@ +# 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.0.0],[bug-gnunet@gnu.org]) +AM_INIT_AUTOMAKE([gnunet-secushare], [0.0.0]) +AM_CONFIG_HEADER(gnunet_secushare_config.h) + +AH_TOP([#define _GNU_SOURCE 1]) + +AC_ISC_POSIX +AC_PROG_AWK +AC_PROG_CC + +AC_PROG_MKDIR_P +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 + +# 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 ] + ) +fi + +if test "x$gnunet" == "x0" +then + AC_MSG_ERROR([gnunet-ext requires GNUnet]) +fi + + + +# 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]) + + +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 +]) -- cgit v1.2.3