# Put here any platform specific stuff
#
case "$target" in
+ *-*-linux*)
+ check_threads=true
+ CFLAGS=`echo $CFLAGS -D_GNU_SOURCE`
+ ;;
*-*-freebsd*)
check_threads=true
;;
__SILC_HAVE_SIM=""
__SILC_ENABLE_DEBUG=""
+#ifdef SILC_DIST_TOOLKIT
+toolkitver=`echo $VERSION | sed 's/\./ /g'`
+maj=0
+min=0
+bld=0
+for v in $toolkitver
+do
+ if test $maj -eq 0; then
+ maj=$v
+ continue
+ fi
+ if test $min -eq 0; then
+ min=$v
+ continue
+ fi
+ if test $bld -eq 0; then
+ bld=$v
+ continue
+ fi
+done
+__SILC_PACKAGE_VERSION="#define __SILC_TOOLKIT_VERSION SILC_VERSION($maj,$min,$bld)"
+#endif SILC_DIST_TOOLKIT
+
AC_PROG_RANLIB
#ifndef SILC_DIST_TOOLKIT
AC_DISABLE_SHARED
AC_CHECK_FUNCS(setrlimit time ctime utime gettimeofday getrusage)
AC_CHECK_FUNCS(chmod fcntl stat fstat getenv putenv strerror)
AC_CHECK_FUNCS(getpid getgid getsid getpgid getpgrp getuid sched_yield)
-AC_CHECK_FUNCS(setgroups initgroups nl_langinfo nanosleep tzset)
+AC_CHECK_FUNCS(setgroups initgroups nl_langinfo nanosleep)
AC_CHECK_FUNCS(strchr snprintf strstr strcpy strncpy memcpy memset memmove)
# lib/contrib conditionals
AC_MSG_RESULT(no)
])
+# Disable all compiler optimizations
+#
+AC_MSG_CHECKING(whether to enable compiler optimizations)
+want_cc_optimizations=true
+AC_ARG_ENABLE(optimizations,
+ [ --disable-optimizations do not use any compiler optimizations],
+ [
+ AC_MSG_RESULT(no)
+ AC_DEFINE([SILC_NO_CC_OPTIMIZATIONS], [], [SILC_NO_CC_OPTIMIZATIONS])
+ want_cc_optimizations=false
+ ],
+ [
+ AC_MSG_RESULT(yes)
+ want_cc_optimizations=true
+ ])
+AM_CONDITIONAL(SILC_NO_CC_OPTIMIZATIONS, test x$want_cc_optimizations = xfalse)
+
# Disable all assembler optimizations
#
AC_MSG_CHECKING(whether to enable assembler optimizations)
if test x$want_asm = xtrue; then
AC_PATH_PROG([NASM], [nasm], [no])
if test "x$NASM" != "xno"; then
- SILC_ASSEMBLER="$NASM -O2 -felf"
+ if test x$cpu_x86_64 = xtrue; then
+ SILC_ASSEMBLER="$NASM -O2 -felf64"
+ else
+ SILC_ASSEMBLER="$NASM -O2 -felf"
+ fi
have_assembler=true
fi
AC_PATH_PROG([YASM], [yasm], [no])
if test "x$YASM" != "xno"; then
- SILC_ASSEMBLER="$YASM -Xgnu -felf"
+ if test x$cpu_x86_64 = xtrue; then
+ SILC_ASSEMBLER="$YASM -Xgnu -felf64"
+ else
+ SILC_ASSEMBLER="$YASM -Xgnu -felf"
+ fi
have_assembler=true
fi
fi
if test "$GCC"; then
# GCC specific options
if test "x$summary_debug" = "xyes"; then
- SILC_ADD_CFLAGS(-g -O)
+ SILC_ADD_CFLAGS(-g)
else
- SILC_ADD_CFLAGS(-g -O2)
+ SILC_ADD_CFLAGS(-g)
fi
SILC_ADD_CFLAGS(-Wall -finline-functions)
SILC_ADD_CFLAGS(-Wno-pointer-sign)
# Other compilers
case "$target" in
alpha*-dec-osf*)
- SILC_ADD_CFLAGS(-g3 -O2, SILC_ADD_CFLAGS(-g3 -O, SILC_ADD_CFLAGS(-O)))
+ SILC_ADD_CFLAGS(-g3)
;;
mips*-sgi-irix*)
- SILC_ADD_CFLAGS(-g3 -O2, SILC_ADD_CFLAGS(-g3 -O, SILC_ADD_CFLAGS(-O)))
+ SILC_ADD_CFLAGS(-g3)
;;
*)
SILC_ADD_CFLAGS(-g)
- SILC_ADD_CFLAGS(-O2, SILC_ADD_CFLAGS(-O))
;;
esac
fi
fi
+if test x$want_cc_optimizations = xtrue; then
+ if test "$GCC"; then
+ # GCC specific options
+ if test "x$summary_debug" = "xyes"; then
+ SILC_ADD_CFLAGS(-O)
+ else
+ SILC_ADD_CFLAGS(-O2)
+ fi
+ else
+ # Other compilers
+ case "$target" in
+ alpha*-dec-osf*)
+ SILC_ADD_CFLAGS(-O2, SILC_ADD_CFLAGS(-O))
+ ;;
+ mips*-sgi-irix*)
+ SILC_ADD_CFLAGS(-O2, SILC_ADD_CFLAGS(-O))
+ ;;
+ *)
+ SILC_ADD_CFLAGS(-O2, SILC_ADD_CFLAGS(-O))
+ ;;
+ esac
+ fi
+fi
+
#
# Workaround a bug in GCC 2.x which causes memory exhaustion
# when compiling sha1 with optimizations on UltraSPARC.
# Default installation destination
#
-#ifdef SILC_DIST_AUTODIST
AC_PREFIX_DEFAULT(/usr/local)
-#else !SILC_DIST_AUTODIST
-AC_PREFIX_DEFAULT(/usr/local/silc)
-#endif SILC_DIST_AUTODIST
if test "x$prefix" != xNONE; then
silc_prefix="$prefix"
else
silc_prefix="$ac_default_prefix"
+ prefix="$silc_prefix"
fi
#ifndef SILC_DIST_AUTODIST
-# etc directory
-#
-if test "x$sysconfdir" != 'x${prefix}/etc'; then
- ETCDIR="$sysconfdir"
-else
- ETCDIR="$silc_prefix/etc"
-fi
-
-AC_ARG_WITH(etcdir,
- [[ --with-etcdir=DIR directory for system files [/etc/silc]]],
- [
- case "$withval" in
- no|yes)
- ;;
- *)
- ETCDIR="$withval"
- ;;
- esac
- ])
+ETCDIR=`eval echo $sysconfdir`;ETCDIR=`eval echo $ETCDIR`
AC_SUBST(ETCDIR)
AC_DEFINE_UNQUOTED([SILC_ETCDIR], "$ETCDIR", [SILC_ETCDIR])
-# doc directory
-#
-DOCDIR="$silc_prefix/doc"
-AC_ARG_WITH(docdir,
- [[ --with-docdir=DIR directory for SILC documentation [PREFIX/doc]]],
- [
- case "$withval" in
- no|yes)
- ;;
- *)
- DOCDIR="$withval"
- ;;
- esac
- ])
+DOCDIR=`eval echo $docdir`;DOCDIR=`eval echo $DOCDIR`
AC_SUBST(DOCDIR)
AC_DEFINE_UNQUOTED([SILC_DOCDIR], "$DOCDIR", [SILC_DOCDIR])
#endif SILC_DIST_AUTODIST
# pkg-config check
PKG_CHECK_MODULES(SILC, [silc >= 1.1], compile_libs=false, compile_libs=true)
#ifdef SILC_DIST_CLIENTLIB
- PKG_CHECK_MODULES(SILCCLIENT, [silcclient >= 1.1], compile_libs=false, compile_libs=true)
+ PKG_CHECK_MODULES(SILCCLIENT, [silcclient >= 1.1.1], compile_libs=false, compile_libs=true)
#endif SILC_DIST_CLIENTLIB
#ifdef SILC_DIST_SERVERLIB
PKG_CHECK_MODULES(SILCSERVER, silcserver, compile_libs=false, compile_libs=true)
__SILC_HAVE_PTHREAD="#define __SILC_HAVE_PTHREAD 1"
fi
+#
+# Check for timezone and tm_gmtoff for timezone information
+#
+AC_MSG_CHECKING(whether system has timezone)
+AC_RUN_IFELSE(
+ [
+ #include <stdio.h>
+ #include <time.h>
+ int main()
+ {
+ timezone = 0;
+ return 0;
+ }
+ ],
+ [ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_TIMEZONE], [], [HAVE_TIMEZONE]) ],
+ [ AC_MSG_RESULT(no) ],
+ [ AC_MSG_RESULT(no) ]
+)
+AC_MSG_CHECKING(whether system has tm_gmtoff)
+AC_RUN_IFELSE(
+ [
+ #include <stdio.h>
+ #include <time.h>
+ int main()
+ {
+ struct tm tm;
+ tm.tm_gmtoff = 0;
+ return 0;
+ }
+ ],
+ [ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_TM_GMTOFF], [], [HAVE_TM_GMTOFF]) ],
+ [ AC_MSG_RESULT(no) ],
+ [ AC_MSG_RESULT(no) ]
+)
+AC_MSG_CHECKING(whether system has __tm_gmtoff)
+AC_RUN_IFELSE(
+ [
+ #include <stdio.h>
+ #include <time.h>
+ int main()
+ {
+ struct tm tm;
+ tm.__tm_gmtoff = 0;
+ return 0;
+ }
+ ],
+ [ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE___TM_GMTOFF], [], [HAVE___TM_GMTOFF]) ],
+ [ AC_MSG_RESULT(no) ],
+ [ AC_MSG_RESULT(no) ]
+)
+AC_MSG_CHECKING(whether system has __tm_gmtoff__)
+AC_RUN_IFELSE(
+ [
+ #include <stdio.h>
+ #include <time.h>
+ int main()
+ {
+ struct tm tm;
+ tm.__tm_gmtoff__ = 0;
+ return 0;
+ }
+ ],
+ [ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE___TM_GMTOFF__], [], [HAVE___TM_GMTOFF__]) ],
+ [ AC_MSG_RESULT(no) ],
+ [ AC_MSG_RESULT(no) ]
+)
+
# Native WIN32 compilation under cygwin
#
AC_MSG_CHECKING(whether to compile native WIN32 code)
without_silcd=false
#endif SILC_DIST_INPLACE
-libtoolfix=true
-AC_MSG_CHECKING(whether to do libtoolfix)
-AC_ARG_WITH(libtoolfix,
- [ --without-libtoolfix Do not fix libtool, for package builders],
- [
- AC_MSG_RESULT(no)
- libtoolfix=false
- ],
- [
- AC_MSG_RESULT(yes)
- ])
-
AC_SUBST(ETCDIR)
AC_DEFINE_UNQUOTED([SILC_ETCDIR], "$ETCDIR", [SILC_ETCDIR])
#endif SILC_DIST_COMPILER
AC_SUBST(__SILC_HAVE_PTHREAD)
AC_SUBST(__SILC_HAVE_SIM)
AC_SUBST(__SILC_ENABLE_DEBUG)
-
-#
-# Fix the libtool to support run-time configuration. This allows us
-# to in run-time specify when to compile shared/static libraries without
-# need to reconfigure the entire libtool.
-#
-if test x$libtoolfix = xtrue; then
- ./libtoolfix $SILC_TOP_SRCDIR/ltmain.sh
-fi
-AM_CONDITIONAL(SILC_LIBTOOLFIX, test x$libtoolfix = xtrue)
+AC_SUBST(__SILC_PACKAGE_VERSION)
INCLUDE_DEFINES_INT="include \$(top_srcdir)/Makefile.defines_int"
AC_SUBST(INCLUDE_DEFINES_INT)
AC_OUTPUT
#ifdef SILC_DIST_COMPILER
+
s_bindir=`eval echo $bindir`;s_bindir=`eval echo $s_bindir`
s_sbindir=`eval echo $sbindir`;s_sbindir=`eval echo $s_sbindir`
s_mandir=`eval echo $mandir`;s_mandir=`eval echo $s_mandir`