dnl Sneaky way to get an Id tag into the configure script
AC_COPYRIGHT([$Id: configure.ac 3516 2007-06-10 16:14:03Z jilles $])
-AC_INIT([charybdis],[3.0.0-alpha1])
+AC_INIT([charybdis],[3.1])
AC_CONFIG_HEADER(include/setup.h)
AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(long long)
-dnl Memory manager
-dnl ==============
-
-AC_MSG_CHECKING([the system's memory page size])
-pagesize="no"
-AC_TRY_RUN([
-#include <stdio.h>
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-int main(void) {
- FILE *fp = fopen("conftest.malloc", "w");
-
- if (fp != NULL) {
- fprintf(fp, "%d\n", getpagesize());
- fclose(fp);
- } else
- exit(1);
- exit(0);
-}],[
-if test -f "conftest.malloc" ; then
- pagesize=`cat conftest.malloc`
-fi
-])
-if test "$pagesize" != "no" ; then
- AC_MSG_RESULT($pagesize)
-else
- if test "$ac_cv_sizeof_int" = "4" ; then
- pagesize=4096
- else
- pagesize=8192
- fi
- AC_MSG_RESULT([$pagesize (guessing)])
-fi
-AC_DEFINE_UNQUOTED(MALLOC_PAGESIZE, $pagesize,
- [the system's memory page size])
-
dnl Networking Functions
dnl ====================
AC_SEARCH_LIBS(inet_ntoa, nsl,, [AC_MSG_ERROR([libnsl not found! Aborting.])])
fi
-AC_CHECK_MEMBER([struct sockaddr.sa_len], [AC_DEFINE(SOCKADDR_IN_HAS_LEN, 1, [Define to 1 if sockaddr has a 'sa_len'
-member.])],,[[#include <sys/types.h>
-#include <sys/socket.h>
-]])
-
AC_CHECK_TYPE(socklen_t, ,
[AC_DEFINE([socklen_t], [unsigned int],
[If we don't have a real socklen_t, unsigned int is good enough.])],
fi
fi
+# rpath, for finding libratbox.so at run time
+hold_ldflags=$LDFLAGS
+AC_MSG_CHECKING(for the ld -rpath flag)
+LDFLAGS="${LDFLAGS} -Wl,-rpath=${libdir}"
+AC_LINK_IFELSE(AC_LANG_PROGRAM([],[int i;]), found=yes, found=no)
+LDFLAGS=$hold_ldflags
+AC_MSG_RESULT($found)
+if test "$found" = yes; then
+ LDFLAGS="${LDFLAGS} -Wl,-rpath=\${libdir}"
+fi
+
# This must be down here, or it will mess up checks like the ones
# for -Wl,-export-dynamic
# -- jilles
CHARYBDIS_C_GCC_TRY_FLAGS([-Wimplicit -Wnested-externs], charybdis_cv_c_gcc_w_implicit)
CHARYBDIS_C_GCC_TRY_FLAGS([-Wcast-align], charybdis_cv_c_gcc_w_cast_align)
CHARYBDIS_C_GCC_TRY_FLAGS([-Wcast-qual], charybdis_cv_c_gcc_w_cast_qual)
-CHARYBDIS_C_GCC_TRY_FLAGS([-Wwrite-strings], charybdis_cv_c_gcc_w_float_equal)
+CHARYBDIS_C_GCC_TRY_FLAGS([-Wwrite-strings], charybdis_cv_c_gcc_w_write_strings)
+CHARYBDIS_C_GCC_TRY_FLAGS([-Werror-implicit-function-declaration], charybdis_cv_c_gcc_w_error_implicit_function_declaration)
CHARYBDIS_C_GCC_TRY_FLAGS([-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations], charybdis_cv_c_gcc_prototypes)
CHARYBDIS_C_GCC_TRY_FLAGS([-Wparenthesis], charybdis_cv_c_gcc_parenthesis)
CHARYBDIS_C_GCC_TRY_FLAGS([-W -Wno-unused], charybdis_cv_c_gcc_w)