# Process this file with autoconf to produce a configure script AC_INIT([trackerd], [1.0.1], [axel@zankasoftware.com]) AC_PREREQ([2.57]) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADER([config.h]) # Include shared macros m4_include([libwired/config.m4]) # Get host AC_CANONICAL_HOST # Get Subversion revision WI_CHECK_SVN_REVISION # These are used in the source code AC_DEFINE([WT_VERSION], ["AC_PACKAGE_VERSION"], [Application version]) AC_DEFINE([WT_PROTOCOL_VERSION], ["1.0"], [Protocol version]) AC_DEFINE([WT_BUGREPORT], ["AC_PACKAGE_BUGREPORT"], [Maintainer's email address]) # These are used in the Makefile AC_SUBST([WT_VERSION], ["AC_PACKAGE_VERSION"]) ####################################################################### # Checks for compilers AC_PROG_CC AC_PROG_INSTALL AC_PROG_MAKE_SET ####################################################################### # configure flags # Check for some other user to use than "wired" AC_MSG_CHECKING([for user]) AC_ARG_WITH([user], AC_HELP_STRING([--with-user=USER], [install files as USER [[wired]]])) if test -n "$with_user"; then wt_user="$with_user" else wt_user="wired" fi perl -e "exit(!defined(getpwnam('$wt_user')))" if test $? = 1; then if test -n "$with_user"; then AC_MSG_ERROR([no such user "$with_user", please set another --with-user]) else wt_user=`perl -e 'print getlogin();'` fi fi AC_MSG_RESULT([$wt_user]) AC_DEFINE_UNQUOTED([WT_USER], ["$wt_user"], [User name]) AC_SUBST([WT_USER], ["$wt_user"]) # Check for some other group to use than "daemon" AC_MSG_CHECKING([for group]) AC_ARG_WITH([group], AC_HELP_STRING([--with-group=GROUP], [install files as GROUP [[daemon]]])) if test -n "$with_group"; then wt_group="$with_group" else wt_group="daemon" fi perl -e "exit(!defined(getgrnam('$wt_group')))" if test $? = 1; then if test -n "$with_group"; then AC_MSG_ERROR([no such group "$with_group", please set another --with-group]) else wt_group=`perl -e 'print ((getgrgid(((getpwnam(getlogin()))[[3]])))[[0]]);'` fi fi AC_MSG_RESULT([$wt_group]) AC_DEFINE_UNQUOTED([WT_GROUP], ["$wt_group"], [Group name]) AC_SUBST([WT_GROUP], ["$wt_group"]) # Check for warnings AC_MSG_CHECKING([for warning flags]) AC_ARG_ENABLE([warnings], AC_HELP_STRING([--enable-warnings], [enable warnings])) if test -n "$enable_warnings"; then WI_INCLUDE_WARNING_FLAG([-W]) WI_INCLUDE_WARNING_FLAG([-Wall]) WI_INCLUDE_WARNING_FLAG([-Wno-unknown-pragmas]) WI_INCLUDE_WARNING_FLAG([-Wno-unused-parameter]) WI_INCLUDE_WARNING_FLAG([-Wsign-compare]) WI_INCLUDE_WARNING_FLAG([-Wstrict-prototypes]) WI_INCLUDE_WARNING_FLAG([-Wmissing-prototypes]) WI_INCLUDE_WARNING_FLAG([-Wmissing-declarations]) WI_INCLUDE_WARNING_FLAG([-Wredundant-decls]) AC_MSG_RESULT([$WARNFLAGS]) else AC_MSG_RESULT([none]) fi # Check for fake prefix AC_ARG_WITH([fake_prefix], AC_HELP_STRING([--with-fake-prefix=FPREFIX], [install in FPREFIX but look like PREFIX [[PREFIX]]])) if test -n "$with_fake_prefix"; then AC_SUBST([fake_prefix], ["$with_fake_prefix"]) else AC_SUBST([fake_prefix], ['${prefix}']) fi # Check for trackerd directory AC_ARG_WITH([trackerddir], AC_HELP_STRING([--with-trackerddir=DIR], [install tracker components in PREFIX/DIR [[wired]]])) if test -n "$with_trackerddir"; then wt_trackerddir="$with_trackerddir" AC_SUBST([trackerddir], ["$with_trackerddir"]) else wt_trackerddir="wired" AC_SUBST([trackerddir], ['wired']) fi # Check for object directory name AC_ARG_WITH([objdir]) if test -n "$with_objdir"; then AC_SUBST([objdir], ["$with_objdir"]) wt_libwired_objdir="$with_objdir" else AC_SUBST([objdir], ["obj"]) wt_libwired_objdir="../obj" fi # Check for run directory name AC_ARG_WITH([rundir]) if test -n "$with_rundir"; then AC_SUBST([rundir], ["$with_rundir"]) wt_libwired_rundir="$with_rundir/libwired" else AC_SUBST([rundir], ["run"]) wt_libwired_rundir="../run/libwired" fi # Check for maintainer mode AC_ARG_ENABLE([maintainer_mode]) if test -n "$enable_maintainer_mode"; then AC_SUBST([WT_MAINTAINER], [1]) else AC_SUBST([WT_MAINTAINER], [0]) fi ####################################################################### # Checks for additional paths WI_INCLUDE_EXTRA_INCLUDE_PATHS WI_INCLUDE_EXTRA_LIBRARY_PATHS ####################################################################### # Checks for libraries WI_CHECK_LIBWIRED WI_INCLUDE_MATH_LIBRARY WI_INCLUDE_SOCKET_LIBRARY WI_INCLUDE_NSL_LIBRARY WI_INCLUDE_RESOLV_LIBRARY WI_INCLUDE_CRYPTO_LIBRARY WI_INCLUDE_SSL_LIBRARY WI_INCLUDE_CORESERVICES_FRAMEWORK WI_INCLUDE_PTHREADS ####################################################################### # Checks for typedefs, structures, and compiler characteristics AC_SYS_LARGEFILE ####################################################################### # Output AC_CONFIG_FILES([Makefile]) # Configure libwired AC_ARG_WITH([libwired], , [ if test "$with_libwired" = "yes"; then wt_libwired=1 fi ], [ wt_libwired=1 ]) if test "$wt_libwired"; then ac_configure_args="$ac_configure_args --enable-ssl --enable-pthreads --with-rundir=$wt_libwired_rundir --with-objdir=$wt_libwired_objdir" AC_CONFIG_SUBDIRS([libwired]) fi AC_OUTPUT ####################################################################### # Print summary A=$(eval echo ${prefix}); A=$(eval echo ${A}) B=$(eval echo ${mandir}); B=$(eval echo ${B}) echo "" echo "trackerd has been configured with the following options:" echo "" echo " Root: ${A}/${wt_trackerddir}" echo " Manual pages: ${B}/man1/trackerdctl.1" echo " ${B}/man5/trackerd.conf.5" echo " ${B}/man8/trackerd.8" echo " User: ${wt_user}" echo " Group: ${wt_group}" echo "" echo " Host: ${host}" echo " Compiler: ${CC}" echo " Compiler flags: ${CFLAGS}" echo " Preprocessor flags: ${CPPFLAGS}" echo " Linker flags: ${LDFLAGS}" echo " Libraries: ${LIBS}" echo ""