X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=configure.in.pre;h=1d0c64c2b69c85062506eae52e2285dcdde34846;hb=a6e97b0f3266dbacf81dd58a3a3ed909a0a91271;hp=54b011ded40d840065fe877f7bfc9a2bdf8e6bd1;hpb=5f97e76ac53be3bf7d448bdf89b51a372661d392;p=silc.git diff --git a/configure.in.pre b/configure.in.pre index 54b011de..1d0c64c2 100644 --- a/configure.in.pre +++ b/configure.in.pre @@ -33,8 +33,8 @@ case "$target" in ;; esac -# ./prepare script will automatically put the correct date. Do not edit! -AM_INIT_AUTOMAKE(silc, YYYYMMDD) +# ./prepare script will automatically put the correct version. Do not edit! +AM_INIT_AUTOMAKE(SILC_PACKAGE, SILC_VERSION) AC_PREREQ(2.3) AM_CONFIG_HEADER(includes/silcdefs.h) @@ -70,7 +70,7 @@ AC_CHECK_HEADERS(unistd.h string.h getopt.h errno.h fcntl.h assert.h) AC_CHECK_HEADERS(sys/types.h sys/stat.h sys/time.h) AC_CHECK_HEADERS(netinet/in.h netinet/tcp.h netdb.h) AC_CHECK_HEADERS(pwd.h grp.h termcap.h paths.h) -AC_CHECK_HEADERS(ncurses.h signal.h ctype.h) +AC_CHECK_HEADERS(ncurses.h signal.h ctype.h regex.h) AC_CHECK_HEADERS(arpa/inet.h sys/mman.h) # Data type checking @@ -80,29 +80,339 @@ AC_TYPE_MODE_T AC_TYPE_UID_T AC_TYPE_PID_T -# Function checking -AC_CHECK_FUNCS(chmod stat fstat getenv putenv strerror ctime gettimeofday) -AC_CHECK_FUNCS(getpid getgid getsid getpgid getpgrp getuid) -AC_CHECK_FUNCS(strchr strstr strcpy strncpy memcpy memset memmove) -AC_CHECK_FUNCS(gethostname gethostbyname gethostbyaddr) -AC_CHECK_FUNCS(select socket listen bind shutdown close connect) +AC_CHECK_SIZEOF(long long, 0) +AC_DEFINE_UNQUOTED(SILC_SIZEOF_LONG_LONG, $ac_cv_sizeof_long_long) +AC_CHECK_SIZEOF(long, 0) +AC_DEFINE_UNQUOTED(SILC_SIZEOF_LONG, $ac_cv_sizeof_long) +AC_CHECK_SIZEOF(int, 0) +AC_DEFINE_UNQUOTED(SILC_SIZEOF_INT, $ac_cv_sizeof_int) +AC_CHECK_SIZEOF(short, 0) +AC_DEFINE_UNQUOTED(SILC_SIZEOF_SHORT, $ac_cv_sizeof_short) +AC_CHECK_SIZEOF(char, 0) +AC_DEFINE_UNQUOTED(SILC_SIZEOF_CHAR, $ac_cv_sizeof_char) +AC_CHECK_SIZEOF(void *, 0) +AC_DEFINE_UNQUOTED(SILC_SIZEOF_VOID_P, $ac_cv_sizeof_void_p) + +dnl Curses detection: Munged from Midnight Commander's configure.in +AC_DEFUN(AC_CHECK_CURSES,[ + search_ncurses=true + screen_manager="" + has_curses=false + + CFLAGS=${CFLAGS--O} + + AC_SUBST(CURSES_LIBS) + AC_SUBST(CURSES_INCLUDEDIR) + + AC_ARG_WITH(sco, + [ --with-sco Use this to turn on SCO-specific code],[ + if test x$withval = xyes; then + AC_DEFINE(SCO_FLAVOR) + CFLAGS="$CFLAGS -D_SVID3" + fi + ]) + + AC_ARG_WITH(sunos-curses, + [ --with-sunos-curses Used to force SunOS 4.x curses],[ + if test x$withval = xyes; then + AC_USE_SUNOS_CURSES + fi + ]) + + AC_ARG_WITH(osf1-curses, + [ --with-osf1-curses Used to force OSF/1 curses],[ + if test x$withval = xyes; then + AC_USE_OSF1_CURSES + fi + ]) + + AC_ARG_WITH(vcurses, + [ --with-vcurses[=incdir] Used to force SysV curses], + if test x$withval != xyes; then + CURSES_INCLUDEDIR="-I$withval" + fi + AC_USE_SYSV_CURSES + ) + + AC_ARG_WITH(ncurses, + [ --with-ncurses[=dir] Compile with ncurses/locate base dir], + if test x$withval = xno ; then + search_ncurses=false + elif test x$withval != xyes ; then + AC_NCURSES($withval/include, ncurses.h, -L$withval/lib -lncurses, -I$withval/include, "ncurses on $withval/include") + fi + ) + + if $search_ncurses + then + AC_SEARCH_NCURSES() + fi +]) + + +AC_DEFUN(AC_USE_SUNOS_CURSES, [ + search_ncurses=false + screen_manager="SunOS 4.x /usr/5include curses" + AC_MSG_RESULT(Using SunOS 4.x /usr/5include curses) + AC_DEFINE(USE_SUNOS_CURSES) + AC_DEFINE(HAS_CURSES) + has_curses=true + AC_DEFINE(NO_COLOR_CURSES) + AC_DEFINE(USE_SYSV_CURSES) + CURSES_INCLUDEDIR="-I/usr/5include" + CURSES_LIBS="/usr/5lib/libcurses.a /usr/5lib/libtermcap.a" + AC_MSG_RESULT(Please note that some screen refreshs may fail) +]) + +AC_DEFUN(AC_USE_OSF1_CURSES, [ + AC_MSG_RESULT(Using OSF1 curses) + search_ncurses=false + screen_manager="OSF1 curses" + AC_DEFINE(HAS_CURSES) + has_curses=true + AC_DEFINE(NO_COLOR_CURSES) + AC_DEFINE(USE_SYSV_CURSES) + CURSES_LIBS="-lcurses" +]) + +AC_DEFUN(AC_USE_SYSV_CURSES, [ + AC_MSG_RESULT(Using SysV curses) + AC_DEFINE(HAS_CURSES) + has_curses=true + AC_DEFINE(USE_SYSV_CURSES) + search_ncurses=false + screen_manager="SysV/curses" + CURSES_LIBS="-lcurses" +]) + +dnl +dnl Parameters: directory filename cureses_LIBS curses_INCLUDEDIR nicename +dnl +AC_DEFUN(AC_NCURSES, [ + if $search_ncurses + then + if test -f $1/$2 + then + AC_MSG_RESULT(Found ncurses on $1/$2) + + CURSES_LIBS="$3" + AC_CHECK_LIB(ncurses, initscr, [ + ], [ + CHECKLIBS=`echo "$3"|sed 's/-lncurses/-lcurses/g'` + AC_CHECK_LIB(curses, initscr, [ + CURSES_LIBS="$CHECKLIBS" + ],, $CHECKLIBS) + ], $CURSES_LIBS) + CURSES_INCLUDEDIR="$4" + search_ncurses=false + screen_manager=$5 + AC_DEFINE(HAS_CURSES) + has_curses=true + has_ncurses=true + AC_DEFINE(USE_NCURSES) + fi + fi +]) + +AC_DEFUN(AC_SEARCH_NCURSES, [ + AC_CHECKING("location of ncurses.h file") + + AC_NCURSES(/usr/include, ncurses.h, -lncurses,, "ncurses on /usr/include") + AC_NCURSES(/usr/include/ncurses, ncurses.h, -lncurses, -I/usr/include/ncurses, "ncurses on /usr/include/ncurses") + AC_NCURSES(/usr/local/include, ncurses.h, -L/usr/local/lib -lncurses, -I/usr/local/include, "ncurses on /usr/local") + AC_NCURSES(/usr/pkg/include, ncurses.h, -L/usr/pkg/lib -lncurses, -I/usr/pkg/include, "ncurses on /usr/pkg") + AC_NCURSES(/usr/contrib/include, ncurses.h, -L/usr/contrib/lib -lncurses, -I/usr/contrib/include, "ncurses on /usr/contrib") + AC_NCURSES(/usr/local/include/ncurses, ncurses.h, -L/usr/local/lib -L/usr/local/lib/ncurses -lncurses, -I/usr/local/include/ncurses, "ncurses on /usr/local/include/ncurses") + + AC_NCURSES(/usr/local/include/ncurses, curses.h, -L/usr/local/lib -lncurses, -I/usr/local/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/local/.../ncurses") + + AC_NCURSES(/usr/include/ncurses, curses.h, -lncurses, -I/usr/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/include/ncurses") + + dnl + dnl We couldn't find ncurses, try SysV curses + dnl + if $search_ncurses + then + AC_EGREP_HEADER(init_color, /usr/include/curses.h, + AC_USE_SYSV_CURSES) + AC_EGREP_CPP(USE_NCURSES,[ +#include +#ifdef __NCURSES_H +#undef USE_NCURSES +USE_NCURSES +#endif +],[ + CURSES_INCLUDEDIR="$CURSES_INCLUDEDIR -DRENAMED_NCURSES" + AC_DEFINE(HAS_CURSES) + has_curses=true + has_ncurses=true + AC_DEFINE(USE_NCURSES) + search_ncurses=false + screen_manager="ncurses installed as curses" +]) + fi + + dnl + dnl Try SunOS 4.x /usr/5{lib,include} ncurses + dnl The flags USE_SUNOS_CURSES, USE_BSD_CURSES and BUGGY_CURSES + dnl should be replaced by a more fine grained selection routine + dnl + if $search_ncurses + then + if test -f /usr/5include/curses.h + then + AC_USE_SUNOS_CURSES + fi + fi + + dnl use whatever curses there happens to be + if $search_ncurses + then + if test -f /usr/include/curses.h + then + CURSES_LIBS="-lcurses" + AC_DEFINE(HAS_CURSES) + has_curses=true + search_ncurses=false + screen_manager="curses" + fi + fi +]) + +AC_CHECK_CURSES +LIBS="$LIBS $CURSES_LIBS" + +# Function and library checking +AC_CHECK_FUNC(gethostbyname, ac_gethostbyname_found=1, +ac_gethostbyname_found=0) +if test x$ac_gethostbyname_found = x0; then + AC_CHECK_LIB(nsl, gethostbyname, LIBS="$LIBS -lnsl") + AC_CHECK_FUNC(res_gethostbyname, ac_res_ghbn_found=1, ac_res_ghbn_found=0) + if test x$ac_res_ghbn_found = x0; then + AC_CHECK_LIB(resolv, res_gethostbyname, LIBS="$LIBS -lresolv") + fi +fi +AC_CHECK_FUNC(socket, ac_socket_found=1, ac_socket_found=0) +if test x$ac_socket_found = x0; then + AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket") +fi +AC_CHECK_FUNCS(gethostname gethostbyaddr getservbyname getservbyport) +AC_CHECK_FUNCS(select listen bind shutdown close connect) AC_CHECK_FUNCS(fcntl setsockopt) -AC_CHECK_FUNCS(getservbyname getservbyport) AC_CHECK_FUNCS(getopt_long time) AC_CHECK_FUNCS(mlock munlock) +AC_CHECK_FUNCS(chmod stat fstat getenv putenv strerror ctime gettimeofday) +AC_CHECK_FUNCS(getpid getgid getsid getpgid getpgrp getuid) +AC_CHECK_FUNCS(strchr strstr strcpy strncpy memcpy memset memmove) # SIM support checking # XXX These needs to be changed as more supported platforms appear. # XXX This probably needs to be made platform dependant check. +sim_support=false +AM_CONDITIONAL(SILC_SIM, test x$sim_support = xtrue) AC_CHECKING(for SIM support) AC_CHECK_HEADERS(dlfcn.h, AC_CHECK_LIB(dl, dlopen, AC_DEFINE(SILC_SIM) + sim_support=true + AM_CONDITIONAL(SILC_SIM, test x$sim_support = xtrue) AC_MSG_RESULT(enabled SIM support) LIBS="$LIBS -ldl", AC_MSG_RESULT(no SIM support found)), AC_MSG_RESULT(no SIM support found)) +# +# Installation +# + +# Default installation destination +AC_PREFIX_DEFAULT(/usr/local/silc) + +# etc directory +ETCDIR="/etc/silc" +AC_ARG_WITH(etcdir, +[ --with-etcdir[=PATH] Directory for system files [/etc/silc]], +[ case "$withval" in + no) + ;; + yes) + ETCDIR="$withval" + ;; + *) + ETCDIR="$withval" + ;; + esac ], +) +AC_SUBST(ETCDIR) + +# help directory +HELPDIR="help" +AC_ARG_WITH(helpdir, +[ --with-helpdir[=PATH] Directory for SILC help files [PREFIX/help]], +[ case "$withval" in + no) + ;; + yes) + HELPDIR="$withval" + ;; + *) + HELPDIR="$withval" + ;; + esac ], +) +AC_SUBST(HELPDIR) + +# doc directory +DOCDIR="doc" +AC_ARG_WITH(docdir, +[ --with-docdir[=PATH] Directory for SILC documentation [PREFIX/doc]], +[ case "$withval" in + no) + ;; + yes) + DOCDIR="$withval" + ;; + *) + DOCDIR="$withval" + ;; + esac ], +) +AC_SUBST(DOCDIR) + +# SIM modules directory +MODULESDIR="modules" +AC_ARG_WITH(simdir, +[ --with-simdir[=PATH] Directory for SIM modules [PREFIX/modules]], +[ case "$withval" in + no) + ;; + yes) + MODULESDIR="$withval" + ;; + *) + MODULESDIR="$withval" + ;; + esac ], +) +AC_SUBST(MODULESDIR) + +# Logs directory +LOGSDIR="logs" +AC_ARG_WITH(logsdir, +[ --with-logsdir[=PATH] Directory for Server logs [PREFIX/logs]], +[ case "$withval" in + no) + ;; + yes) + LOGSDIR="$withval" + ;; + *) + LOGSDIR="$withval" + ;; + esac ], +) +AC_SUBST(LOGSDIR) + # Debug checking AC_MSG_CHECKING(for enabled debugging) AC_ARG_ENABLE(debug, @@ -123,7 +433,7 @@ esac ], CFLAGS="-O2 -g $CFLAGS" # SOCKS4 support checking AC_MSG_CHECKING(whether to support SOCKS4) AC_ARG_WITH(socks4, -[ --with-socks4[=PATH] Compile with SOCKS4 support.], +[ --with-socks4[=PATH] Compile with SOCKS4 support], [ case "$withval" in no) AC_MSG_RESULT(no) @@ -157,7 +467,7 @@ AC_ARG_WITH(socks4, # SOCKS5 support checking AC_MSG_CHECKING(whether to support SOCKS5) AC_ARG_WITH(socks5, -[ --with-socks5[=PATH] Compile with SOCKS5 support.], +[ --with-socks5[=PATH] Compile with SOCKS5 support], [ case "$withval" in no) AC_MSG_RESULT(no) @@ -232,6 +542,7 @@ AC_ARG_WITH(gmp, AC_CHECK_HEADER(gmp.h, AC_CHECK_LIB(gmp, __gmpz_init, AM_CONDITIONAL(SILC_BUILD_GMP, test x$withval = yes) + LIBS="$LIBS -L/usr/lib -L/usr/local/lib -lgmp" AC_MSG_RESULT(GMP will not be compiled), AM_CONDITIONAL(SILC_BUILD_GMP, test x$withval != yes) AC_MSG_RESULT(GMP will be compiled) @@ -245,6 +556,7 @@ esac ], [ AC_CHECK_LIB(gmp, __gmpz_init, build_gmp=false AM_CONDITIONAL(SILC_BUILD_GMP, test x$build_gmp = xtrue) + LIBS="$LIBS -L/usr/lib -L/usr/local/lib -lgmp" AC_MSG_RESULT(GMP will not be compiled), build_gmp=true AM_CONDITIONAL(SILC_BUILD_GMP, test x$build_gmp = xtrue) @@ -259,20 +571,35 @@ esac ], [ AC_ARG_WITH(silcd-config-file, [ --with-silcd-config-file[=PATH] Use PATH as default configuration file in SILC - server.], + server [/etc/silc/silcd.conf]], [ AC_DEFINE_UNQUOTED(SILC_SERVER_CONFIG_FILE, "$withval") ]) -# XXX -#LIBS="$LIBS -lefence" - +# # Other configure scripts -#AC_CONFIG_SUBDIRS(lib/zlib) +# +AC_CONFIG_SUBDIRS(irssi) AC_CONFIG_SUBDIRS(lib/dotconf) AC_CONFIG_SUBDIRS(lib/silcmath/gmp) AC_CONFIG_SUBDIRS(lib/trq) +#AC_CONFIG_SUBDIRS(lib/zlib) +SILC_TOP_SRCDIR=`pwd` +AC_SUBST(SILC_TOP_SRCDIR) +#SILC_INSTALL_PREFIX=$ac_default_prefix +#AC_SUBST(SILC_INSTALL_PREFIX) +AC_SUBST(LIBS) +INCLUDE_DEFINES_INT="include \$(top_srcdir)/Makefile.defines_int" +AC_SUBST(INCLUDE_DEFINES_INT) + +# +# Makefile outputs +# AC_OUTPUT( \ Makefile +Makefile.defines +Makefile.defines_int +irssi/Makefile.defines +irssi/Makefile.defines_int doc/Makefile includes/Makefile lib/Makefile