mirror of
https://github.com/osmarks/ngircd.git
synced 2024-12-12 09:50:29 +00:00
Reworked configure system: it should be more compatible to most systems
now, and it should even be more flexible and faster :-)
This commit is contained in:
parent
779446298c
commit
507a9e9cb3
107
autogen.sh
107
autogen.sh
@ -1,15 +1,108 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# $Id: autogen.sh,v 1.7 2003/04/22 10:15:46 alex Exp $
|
# ngIRCd -- The Next Generation IRC Daemon
|
||||||
|
# Copyright (c)2001-2004 Alexander Barton <alex@barton.de>
|
||||||
|
#
|
||||||
|
# This program 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 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
# Please read the file COPYING, README and AUTHORS for more information.
|
||||||
|
#
|
||||||
|
# $Id: autogen.sh,v 1.8 2004/03/11 22:21:20 alex Exp $
|
||||||
#
|
#
|
||||||
|
|
||||||
WANT_AUTOMAKE=1.6
|
Search()
|
||||||
|
{
|
||||||
|
[ $# -eq 2 ] || exit 1
|
||||||
|
|
||||||
|
name="$1"
|
||||||
|
major="$2"
|
||||||
|
minor=99
|
||||||
|
|
||||||
|
type "${name}" >/dev/null 2>&1
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "${name}"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
while [ $minor -ge 0 ]; do
|
||||||
|
type "${name}${major}${minor}" >/dev/null 2>&1
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "${name}${major}${minor}"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
type "${name}-${major}.${minor}" >/dev/null 2>&1
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "${name}-${major}.${minor}" >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
minor=`expr $minor - 1`
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
Notfound()
|
||||||
|
{
|
||||||
|
echo "Error: $* not found!"
|
||||||
|
echo "Please install recent versions of GNU autoconf and GNU automake."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Reset locale settings to suppress warning messages of Perl
|
||||||
|
unset LC_ALL
|
||||||
|
unset LANG
|
||||||
|
|
||||||
|
# We want to use GNU automake 1.7, if available (WANT_AUTOMAKE is used by
|
||||||
|
# the wrapper scripts of Gentoo Linux):
|
||||||
|
WANT_AUTOMAKE=1.7
|
||||||
export WANT_AUTOMAKE
|
export WANT_AUTOMAKE
|
||||||
|
|
||||||
aclocal && \
|
# Try to detect the needed tools when no environment variable already
|
||||||
autoheader && \
|
# spezifies one:
|
||||||
automake --add-missing && \
|
echo "Searching tools ..."
|
||||||
autoconf && \
|
[ -z "$ACLOCAL" ] && ACLOCAL=`Search aclocal 1`
|
||||||
echo "Okay, autogen.sh done."
|
[ -z "$AUTOHEADER" ] && AUTOHEADER=`Search autoheader 2`
|
||||||
|
[ -z "$AUTOMAKE" ] && AUTOMAKE=`Search automake 1`
|
||||||
|
[ -z "$AUTOCONF" ] && AUTOCONF=`Search autoconf 2`
|
||||||
|
|
||||||
|
# Some debugging output ...
|
||||||
|
if [ -n "$DEBUG" ]; then
|
||||||
|
echo "ACLOCAL=$ACLOCAL"
|
||||||
|
echo "AUTOHEADER=$AUTOHEADER"
|
||||||
|
echo "AUTOMAKE=$AUTOMAKE"
|
||||||
|
echo "AUTOCONF=$AUTOCONF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Verify that all tools have been found
|
||||||
|
[ -z "$AUTOCONF" ] && Notfounf autoconf
|
||||||
|
[ -z "$AUTOHEADER" ] && Notfound autoheader
|
||||||
|
[ -z "$AUTOMAKE" ] && Notfound automake
|
||||||
|
[ -z "$AUTOCONF" ] && Notfound autoconf
|
||||||
|
|
||||||
|
export AUTOCONF AUTOHEADER AUTOMAKE AUTOCONF
|
||||||
|
|
||||||
|
# Generate files
|
||||||
|
echo "Generating files ..."
|
||||||
|
$ACLOCAL && \
|
||||||
|
$AUTOHEADER && \
|
||||||
|
$AUTOMAKE --add-missing && \
|
||||||
|
$AUTOCONF
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
# Success: if we got some parameters we call ./configure and pass
|
||||||
|
# all of them to it.
|
||||||
|
if [ -n "$*" -a -x ./configure ]; then
|
||||||
|
echo "Calling generated \"configure\" script ..."
|
||||||
|
./configure $*
|
||||||
|
exit $?
|
||||||
|
else
|
||||||
|
echo "Okay, autogen.sh done; now run the \"configure\" script."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Failure!?
|
||||||
|
echo "Error! Check your installation of GNU automake and autoconf!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# -eof-
|
# -eof-
|
||||||
|
119
configure.in
119
configure.in
@ -8,10 +8,10 @@
|
|||||||
# (at your option) any later version.
|
# (at your option) any later version.
|
||||||
# Please read the file COPYING, README and AUTHORS for more information.
|
# Please read the file COPYING, README and AUTHORS for more information.
|
||||||
#
|
#
|
||||||
# $Id: configure.in,v 1.100 2004/02/29 17:19:43 alex Exp $
|
# $Id: configure.in,v 1.101 2004/03/11 22:21:20 alex Exp $
|
||||||
#
|
#
|
||||||
|
|
||||||
# -- Initialisierung --
|
# -- Initialisation --
|
||||||
|
|
||||||
AC_PREREQ(2.50)
|
AC_PREREQ(2.50)
|
||||||
AC_INIT(ngircd, CVSHEAD)
|
AC_INIT(ngircd, CVSHEAD)
|
||||||
@ -20,7 +20,7 @@ AC_CANONICAL_TARGET
|
|||||||
AM_INIT_AUTOMAKE(1.6)
|
AM_INIT_AUTOMAKE(1.6)
|
||||||
AM_CONFIG_HEADER(src/config.h)
|
AM_CONFIG_HEADER(src/config.h)
|
||||||
|
|
||||||
# -- Templates fuer config.h --
|
# -- Templates for config.h --
|
||||||
|
|
||||||
AH_TEMPLATE([DEBUG], [Define if debug-mode should be enabled])
|
AH_TEMPLATE([DEBUG], [Define if debug-mode should be enabled])
|
||||||
AH_TEMPLATE([HAVE_socklen_t], [Define if socklen_t exists])
|
AH_TEMPLATE([HAVE_socklen_t], [Define if socklen_t exists])
|
||||||
@ -41,7 +41,7 @@ AH_TEMPLATE([TARGET_CPU], [Target CPU name])
|
|||||||
|
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
|
|
||||||
# -- Hilfsprogramme --
|
# -- Helper programs --
|
||||||
|
|
||||||
AC_PROG_AWK
|
AC_PROG_AWK
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
@ -51,47 +51,25 @@ AC_PROG_RANLIB
|
|||||||
|
|
||||||
# -- Compiler Features --
|
# -- Compiler Features --
|
||||||
|
|
||||||
AC_LANG_C
|
|
||||||
|
|
||||||
AM_C_PROTOTYPES
|
AM_C_PROTOTYPES
|
||||||
AC_C_CONST
|
AC_C_CONST
|
||||||
|
|
||||||
# -- Defines --
|
# -- Hard coded system and compiler dependencies/features/options ... --
|
||||||
|
|
||||||
os=`uname`
|
if test "$GCC" = "yes"; then
|
||||||
|
# We are using the GNU C compiler. Good!
|
||||||
if test "$os" = "Linux" -o $os = "GNU"; then
|
CFLAGS="$CFLAGS -pipe -W -Wall -Wpointer-arith -Wstrict-prototypes"
|
||||||
# define _POSIX_SOURCE, _GNU_SOURCE and _BSD_SOURCE when compiling
|
|
||||||
# on Linux or Hurd (glibc-based systems):
|
|
||||||
AC_MSG_RESULT([detected ${os}, defining _POSIX_SOURCE, _GNU_SOURCE and _BSD_SOURCE])
|
|
||||||
add_DEFINES="-D_POSIX_SOURCE -D_GNU_SOURCE -D_BSD_SOURCE $add_DEFINES"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$os" = "A/UX"; then
|
# Add additional CFLAGS, eventually specified on the command line:
|
||||||
# define _POSIX_SOURCE when compiling on A/UX:
|
test -n "$CFLAGS_ADD" && CFLAGS="$CFLAGS $CFLAGS_ADD"
|
||||||
AC_MSG_RESULT([detected A/UX, defining _POSIX_SOURCE])
|
|
||||||
add_DEFINES="-D_POSIX_SOURCE $add_DEFINES"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$os" = "HP-UX"; then
|
CFLAGS="$CFLAGS -DSYSCONFDIR='\"\$(sysconfdir)\"'"
|
||||||
# define _XOPEN_SOURCE_EXTENDED when compiling on HP-UX (11.11):
|
|
||||||
AC_MSG_RESULT([detected HP-UX, defining _XOPEN_SOURCE_EXTENDED])
|
|
||||||
add_DEFINES="-D_XOPEN_SOURCE_EXTENDED $add_DEFINES"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$os" = "SunOS"; then
|
# -- Headers --
|
||||||
# define _XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED=1 and __EXTENSIONS__
|
|
||||||
# when compiling on SunOS (tested with 5.6):
|
|
||||||
AC_MSG_RESULT([detected SunOS, defining _XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED=1 and __EXTENSIONS__])
|
|
||||||
add_DEFINES="-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D__EXTENSIONS__ $add_DEFINES"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# -- Header --
|
|
||||||
|
|
||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
|
|
||||||
AC_HEADER_TIME
|
AC_HEADER_TIME
|
||||||
|
|
||||||
AC_HEADER_SYS_WAIT
|
AC_HEADER_SYS_WAIT
|
||||||
|
|
||||||
AC_CHECK_HEADERS([ \
|
AC_CHECK_HEADERS([ \
|
||||||
@ -101,7 +79,7 @@ AC_CHECK_HEADERS([ \
|
|||||||
|
|
||||||
AC_CHECK_HEADERS([arpa/inet.h ctype.h malloc.h stdint.h varargs.h])
|
AC_CHECK_HEADERS([arpa/inet.h ctype.h malloc.h stdint.h varargs.h])
|
||||||
|
|
||||||
# -- Datentypen --
|
# -- Datatypes --
|
||||||
|
|
||||||
AC_MSG_CHECKING(whether socklen_t exists)
|
AC_MSG_CHECKING(whether socklen_t exists)
|
||||||
AC_TRY_COMPILE([
|
AC_TRY_COMPILE([
|
||||||
@ -117,7 +95,6 @@ AC_TRY_COMPILE([
|
|||||||
])
|
])
|
||||||
|
|
||||||
AC_TYPE_SIGNAL
|
AC_TYPE_SIGNAL
|
||||||
|
|
||||||
AC_TYPE_SIZE_T
|
AC_TYPE_SIZE_T
|
||||||
|
|
||||||
# -- Libraries --
|
# -- Libraries --
|
||||||
@ -126,18 +103,15 @@ AC_CHECK_LIB(UTIL,memmove)
|
|||||||
AC_CHECK_LIB(socket,bind)
|
AC_CHECK_LIB(socket,bind)
|
||||||
AC_CHECK_LIB(nsl,gethostent)
|
AC_CHECK_LIB(nsl,gethostent)
|
||||||
|
|
||||||
# -- Funktionen --
|
# -- Functions --
|
||||||
|
|
||||||
AC_FUNC_MALLOC
|
|
||||||
|
|
||||||
AC_FUNC_FORK
|
AC_FUNC_FORK
|
||||||
|
|
||||||
AC_FUNC_STRFTIME
|
AC_FUNC_STRFTIME
|
||||||
|
|
||||||
AC_CHECK_FUNCS([ \
|
AC_CHECK_FUNCS([ \
|
||||||
bind gethostbyaddr gethostbyname gethostname inet_ntoa memmove \
|
bind gethostbyaddr gethostbyname gethostname inet_ntoa malloc memmove \
|
||||||
memset setsockopt socket strcasecmp strchr strerror strstr waitpid \
|
memset realloc setsid setsockopt socket strcasecmp strchr strerror \
|
||||||
],,AC_MSG_ERROR([required function missing!]))
|
strstr waitpid],,AC_MSG_ERROR([required function missing!]))
|
||||||
|
|
||||||
AC_CHECK_FUNCS(inet_aton isdigit sigaction snprintf vsnprintf strlcpy strlcat)
|
AC_CHECK_FUNCS(inet_aton isdigit sigaction snprintf vsnprintf strlcpy strlcat)
|
||||||
|
|
||||||
@ -145,7 +119,7 @@ AC_CHECK_FUNCS(select,[AC_CHECK_HEADERS(sys/select.h)],
|
|||||||
AC_MSG_ERROR([required function select() is missing!])
|
AC_MSG_ERROR([required function select() is missing!])
|
||||||
)
|
)
|
||||||
|
|
||||||
# -- Konfigurationsoptionen --
|
# -- Configuration options --
|
||||||
|
|
||||||
x_syslog_on=no
|
x_syslog_on=no
|
||||||
AC_ARG_WITH(syslog,
|
AC_ARG_WITH(syslog,
|
||||||
@ -264,6 +238,7 @@ AC_ARG_ENABLE(debug,
|
|||||||
)
|
)
|
||||||
if test "$x_debug_on" = "yes"; then
|
if test "$x_debug_on" = "yes"; then
|
||||||
AC_DEFINE(DEBUG, 1)
|
AC_DEFINE(DEBUG, 1)
|
||||||
|
test "$GCC" = "yes" && CFLAGS="-pedantic $CFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
x_strict_rfc_on=no
|
x_strict_rfc_on=no
|
||||||
@ -275,51 +250,15 @@ AC_ARG_ENABLE(strict-rfc,
|
|||||||
fi
|
fi
|
||||||
)
|
)
|
||||||
|
|
||||||
# -- Definitionen --
|
# -- Definitions --
|
||||||
|
|
||||||
AC_DEFINE_UNQUOTED(TARGET_CPU, "$target_cpu" )
|
AC_DEFINE_UNQUOTED(TARGET_CPU, "$target_cpu" )
|
||||||
AC_DEFINE_UNQUOTED(TARGET_VENDOR, "$target_vendor" )
|
AC_DEFINE_UNQUOTED(TARGET_VENDOR, "$target_vendor" )
|
||||||
AC_DEFINE_UNQUOTED(TARGET_OS, "$target_os" )
|
AC_DEFINE_UNQUOTED(TARGET_OS, "$target_os" )
|
||||||
|
|
||||||
# -- Variablen --
|
# Add additional CFLAGS, eventually specified on the command line, but after
|
||||||
|
# running this configure script. Useful for "-Werror" for example.
|
||||||
if test "$GCC" = "yes"; then
|
test -n "$CFLAGS_END" && CFLAGS="$CFLAGS $CFLAGS_END"
|
||||||
the_CFLAGS="-Wmissing-declarations -Wpointer-arith -Wstrict-prototypes"
|
|
||||||
ansi=" -ansi"
|
|
||||||
pedantic=" -pedantic"
|
|
||||||
|
|
||||||
$CC --version | grep 20020420 >/dev/null 2>&1
|
|
||||||
if test $? -eq 0; then
|
|
||||||
# Mac OS X (and Darwin?) ship with a slightly broken
|
|
||||||
# prerelease of GCC 3.1 which don't like -pedantic:
|
|
||||||
AC_MSG_RESULT([detected broken GNU C compiler, disabling "-pedantic"])
|
|
||||||
pedantic=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
$CC --version | grep 20030304 >/dev/null 2>&1
|
|
||||||
if test $? -eq 0; then
|
|
||||||
# Mac OS X 10.3 (and Darwin 7.0?) have a strange gcc (or
|
|
||||||
# system header files?) which produces lots of errors when
|
|
||||||
# using -ansi; so we don't =:-)
|
|
||||||
AC_MSG_RESULT([detected broken GNU C compiler, disabling "-ansi"])
|
|
||||||
ansi=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
uname | grep "CYGWIN" >/dev/null 2>&1
|
|
||||||
if test $? -eq 0; then
|
|
||||||
# The include files of Cygwin don't like -ansi,
|
|
||||||
# so we disable it:
|
|
||||||
AC_MSG_RESULT([detected Cygwin, disabling "-ansi"])
|
|
||||||
ansi=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
add_CFLAGS="-pipe -Wall -W${ansi}${pedantic} $CFLAGS $CFLAGS_ADD"
|
|
||||||
else
|
|
||||||
the_CFLAGS="$CFLAGS"
|
|
||||||
add_CFLAGS="$CFLAGS_ADD"
|
|
||||||
fi
|
|
||||||
|
|
||||||
CFLAGS="$the_CFLAGS $add_CFLAGS $add_DEFINES -DSYSCONFDIR='\"\$(sysconfdir)\"'"
|
|
||||||
|
|
||||||
# -- Generate files --
|
# -- Generate files --
|
||||||
|
|
||||||
@ -337,6 +276,14 @@ AC_OUTPUT([ \
|
|||||||
contrib/MacOSX/Makefile \
|
contrib/MacOSX/Makefile \
|
||||||
])
|
])
|
||||||
|
|
||||||
|
type dpkg >/dev/null 2>&1
|
||||||
|
if test $? -eq 0; then
|
||||||
|
# Generate debian/ link if the dpkg command exists
|
||||||
|
# (read: if we are running on a debian compatible system)
|
||||||
|
echo "creating Debian-specific links ..."
|
||||||
|
test -f debian/rules || ln -s contrib/Debian debian
|
||||||
|
fi
|
||||||
|
|
||||||
# -- Result --
|
# -- Result --
|
||||||
|
|
||||||
echo
|
echo
|
||||||
@ -352,9 +299,7 @@ D=`eval echo ${datadir}/doc/${PACKAGE}` ; D=`eval echo ${D}`
|
|||||||
|
|
||||||
echo " Host: ${host}"
|
echo " Host: ${host}"
|
||||||
echo " Compiler: ${CC}"
|
echo " Compiler: ${CC}"
|
||||||
echo " Compiler flags: ${the_CFLAGS}"
|
test -n "$CFLAGS" && echo " Compiler flags: ${CFLAGS}"
|
||||||
test -n "$add_CFLAGS" && echo " ${add_CFLAGS}"
|
|
||||||
test -n "$add_DEFINES" && echo " ${add_DEFINES}"
|
|
||||||
test -n "$CPPFLAGS" && echo " Preprocessor flags: ${CPPFLAGS}"
|
test -n "$CPPFLAGS" && echo " Preprocessor flags: ${CPPFLAGS}"
|
||||||
test -n "$LDFLAGS" && echo " Linker flags: ${LDFLAGS}"
|
test -n "$LDFLAGS" && echo " Linker flags: ${LDFLAGS}"
|
||||||
test -n "$LIBS" && echo " Libraries: ${LIBS}"
|
test -n "$LIBS" && echo " Libraries: ${LIBS}"
|
||||||
|
Loading…
Reference in New Issue
Block a user