1
0
mirror of https://github.com/anope/anope.git synced 2026-06-27 11:56:37 +02:00
Files
anope/configure.in
T
trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b a22d9ec3b0 BUILD : 1.7.8 (595) BUGS : N/A NOTES : ShadowIRCD, and cleaned up Numeric
git-svn-id: svn://svn.anope.org/anope/trunk@595 31f1291d-b8d6-0310-a050-a5561fc1590b


git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@444 5417fbe8-f217-4b02-8779-1006273d7864
2005-03-04 03:44:07 +00:00

296 lines
8.4 KiB
Plaintext

dnl autoconf.in for Services.
dnl
dnl Anope (c) 2003-2005 Anope team
dnl Contact us at dev@anope.org
dnl This program is free but copyrighted software; see the file COPYING for
dnl details.
dnl Based heavily on the Unreal configure.in script, and extra thanks to
dnl codemastr from UnrealIRCD.
AC_INIT(src/actions.c)
if test $# = 0; then
echo "You might want to run ./Config or provide some parameters to this script."
echo "./configure --help for information about this script"
exit 0
fi
AC_CONFIG_HEADER(include/sysconf.h)
AC_PROG_CC
if test "$ac_cv_prog_gcc" = "yes"; then
# CFLAGS="$CFLAGS -funsigned-char"
AC_CACHE_CHECK(if gcc has a working -pipe, ac_cv_pipe, [
save_cflags="$CFLAGS"
CFLAGS="$CFLAGS -pipe"
AC_TRY_COMPILE(,, ac_cv_pipe="yes", ac_cv_pipe="no")
CFLAGS="$save_cflags"
])
if test "$ac_cv_pipe" = "yes"; then
CFLAGS="-pipe $CFLAGS"
fi
fi
dnl CFLAGS="$CFLAGS -W -Wall"
AC_PATH_PROG(RM,rm)
AC_PATH_PROG(CP,cp)
AC_PATH_PROG(TOUCH,touch)
AC_PATH_PROG(INSTALL,install)
AC_CHECK_LIB(nsl,inet_ntoa,ANOPELIBS="$ANOPELIBS-lnsl ")
AC_CHECK_LIB(socket, socket,ANOPELIBS="$ANOPELIBS-lsocket ")
AC_CHECK_LIB(resolv, res_query,ANOPELIBS="$ANOPELIBS-lresolv ")
AC_CHECK_LIB(bsd, revoke,ANOPELIBS="$ANOPELIBS-lbsd ")
x="0";
DIS_MYSQL=" MySql: No"
AC_ARG_WITH(mysql, [ --without-mysql Do not use MySQL even if we find it],,[
AM_PATH_MYSQLCLIENT(,[
AC_DEFINE_UNQUOTED(USE_MYSQL,1,"Use Mysql")
AC_DEFINE_UNQUOTED(USE_RDB,1,"Use RDB")
AC_CHECK_HEADER(mysql/mysql.h,AC_DEFINE(MYSQL_HEADER_PREFIX,1,"Has mysql/mysql.h"))
MYSQL=" mysql.c "
RDB=" rdb.c "
AC_SUBST(MYSQL)
AC_SUBST(RDB)
x="1";
],)
if test "$x" = "1"; then
ANOPELIBS="$ANOPELIBS$MYSQLCLIENT_LIBS "
CFLAGS="$CFLAGS $MYSQLCLIENT_CFLAGS "
LDFLAGS="$LDFLAGS $MYSQLCLIENT_LDFLAGS "
DIS_MYSQL=" MySql: Yes"
fi
])
DIS_THREAD="Threads: No"
ACX_PTHREAD([
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
ANOPELIBS="$ANOPELIBS$PTHREAD_LIBS "
AC_DEFINE_UNQUOTED(USE_THREADS,1,"Use threads")
DIS_THREAD="Threads: Yes"
])
AC_SUBST(ANOPELIBS)
AC_SUBST(LDFLAGS)
AC_CHECK_HEADER(sys/types.h,AC_DEFINE(HAS_SYS_TYPES_H,1,"Has sys/types.h"))
DIS_MODULES="Modules: Yes"
dnl module checking based on Unreal's module checking code
AC_DEFUN(AC_ENABLE_DYN,
[
AC_CHECK_FUNC(dlopen,, AC_CHECK_LIB(dl,dlopen,[
ANOPELIBS="$ANOPELIBS -ldl"
AC_DEFINE(USE_MODULES,1,"Modules are available")
USE_MODULES="yes"
DIS_MODULES="Modules: Yes"
],
[
AC_MSG_WARN(Dynamic linking is not enabled because dlopen was not found)
AC_DEFINE(STATIC_LINKING,"NO_MODULES","modules not available")
DIS_MODULES="Modules: No"
]))
hold_cflags=$CFLAGS
CFLAGS="$CFLAGS -export-dynamic"
AC_CACHE_CHECK(if we need the -export-dynamic flag, ac_cv_export_dynamic, [
AC_TRY_LINK(, [int i];, ac_cv_export_dynamic=yes, ac_cv_export_dynamic=no)])
if test "$ac_cv_export_dynamic" = "no"; then
CFLAGS=$hold_cflags
fi
AC_CACHE_CHECK(for compiler option to produce PIC,ac_cv_pic,[
if test "$ac_cv_prog_gcc" = "yes"; then
ac_cv_pic="-fPIC -DPIC -shared"
case `uname -s` in
Darwin*[)]
ac_cv_pic="-bundle -flat_namespace -undefined suppress"
;;
HP-UX*[)]
ac_cv_pic="-fPIC"
;;
esac
else
case `uname -s` in
SunOS*[)]
ac_cv_pic="-KPIC -DPIC -G"
;;
esac
fi
])
if test "$ac_cv_prog_gcc" = "yes"; then
case `uname -s` in
Darwin*[)]
SHARED="-bundle -flat_namespace -undefined suppress"
AC_SUBST(SHARED)
;;
*[)]
SHARED="-shared"
AC_SUBST(SHARED)
;;
esac
fi
AC_CACHE_CHECK(if your system prepends an underscore on symbols,ac_cv_underscore,[
cat >uscore.c << __EOF__
int main() {
return 0;
}
__EOF__
$CC -o uscore $CFLAGS uscore.c 1>&5
if test -z "`strings -a uscore |grep '^_main$'`"; then
ac_cv_underscore=no
else
ac_cv_underscore=yes
fi
rm -f uscore uscore.c
])
if test "$ac_cv_underscore" = "yes"; then
AC_DEFINE(DL_PREFIX,"_","Underscore needed for dlopen")
else
AC_DEFINE(DL_PREFIX,"","No prefix needed for dlopen")
fi
MODULEFLAGS=$ac_cv_pic
AC_DEFINE(USE_MODULES,1,"Modules available")
])
AC_ENABLE_DYN
unreal_CHECK_TYPE_SIZES
AC_CHECK_HEADER(strings.h,AC_DEFINE(HAVE_STRINGS_H,1,""))
AC_CHECK_HEADER(sys/select.h,AC_DEFINE(HAVE_SYS_SELECT_H,1,""))
AC_CHECK_HEADER(execinfo.h,AC_DEFINE(HAVE_BACKTRACE,1,""))
AC_CHECK_FUNCS(strerror,AC_DEFINE(HAVE_STRERROR,1))
AC_CHECK_FUNCS(sys_errlist,AC_DEFINE(HAVE_SYS_ERRLIST,1))
AC_CHECK_FUNCS(snprintf,AC_DEFINE(HAVE_SNPRINTF,1))
AC_CHECK_FUNCS(stricmp,AC_DEFINE(HAVE_STRICMP,1))
AC_CHECK_FUNCS(strcasecmp,AC_DEFINE(HAVE_STRCASECMP,1))
AC_CHECK_FUNCS(strdup,AC_DEFINE(HAVE_STRDUP,1))
AC_CHECK_FUNCS(strspn,AC_DEFINE(HAVE_STRSPN,1))
AC_CHECK_FUNCS(strsignal,AC_DEFINE(HAVE_STRSIGNAL,1))
AC_CHECK_FUNCS(gettimeofday,AC_DEFINE(HAVE_GETTIMEOFDAY,1))
AC_CHECK_FUNCS(setgrent,AC_DEFINE(HAVE_SETGRENT,1))
AC_CHECK_FUNCS(umask,AC_DEFINE(HAVE_UMASK,1))
AC_CHECK_FUNCS(fork,AC_DEFINE(HAVE_FORK,1))
AC_CHECK_FUNCS(gethostbyname,AC_DEFINE(HAVE_GETHOSTBYNAME,1))
AC_CHECK_FUNCS(gethostbyname_r,AC_DEFINE(HAVE_GETHOSTBYNAME_R,1))
AC_ARG_WITH(rungroup, [ --with-rungroup=group Specify the rungroup for anope], [
AC_DEFINE_UNQUOTED(RUNGROUP,"$withval","Run group")
RUNGROUP=$withval
])
AC_SUBST(RUNGROUP)
dnl AC_DEFINE_UNQUOTED(MYOSNAME,"`uname -a`","uname")
AC_ARG_WITH(permissions, [ --with-permissions=permissions Specify the default permissions for anope], AC_DEFINE_UNQUOTED(DEFUMASK,$withval,"Default umask permissions"), AC_DEFINE(DEFUMASK, 007,"Default umask Permissions"))
AC_ARG_WITH(bindir, [ --with-bindir=bindir Specify the default binary dir for anope], [
AC_DEFINE_UNQUOTED(SERVICES_BIN,"${withval}/services","Binary Dir")
BINDEST=$withval
DATDEST=$withval
MODULE_PATH=${withval}/modules/
])
AC_SUBST(BINDEST)
AC_ARG_WITH(datadir, [ --with-datadir=datadir Specify the location of the services data folder], [
AC_DEFINE_UNQUOTED(SERVICES_DIR,"$withval","services bin dir")
AC_DEFINE_UNQUOTED(MODULE_PATH,"${withval}/modules/","Module dir")
DATDEST=$withval
MODULE_PATH=${withval}/modules/
])
AC_SUBST(DATDEST)
AC_SUBST(MODULE_PATH)
AC_ARG_WITH(ircd, [ --with-ircd=ircd Specify the first ircd type], [
if test "$withval" = "IRC_BAHAMUT"; then
AC_DEFINE(IRC_BAHAMUT,1,"First IRCD type")
IRCDFILE=" bahamut.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_DREAMFORGE"; then
AC_DEFINE(IRC_DREAMFORGE,1,"First IRCD type")
IRCDFILE=" dreamforge.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_UNREAL31"; then
AC_DEFINE(IRC_UNREAL31,1,"First IRCD type")
IRCDFILE=" unreal31.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_ULTIMATE2"; then
AC_DEFINE(IRC_ULTIMATE2,1,"First IRCD type")
IRCDFILE=" ultimate2.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_ULTIMATE3"; then
AC_DEFINE(IRC_ULTIMATE3,1,"First IRCD type")
IRCDFILE=" ultimate3.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_HYBRID"; then
AC_DEFINE(IRC_HYBRID,1,"First IRCD type")
IRCDFILE=" hybrid.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_VIAGRA"; then
AC_DEFINE(IRC_VIAGRA,1,"First IRCD type")
IRCDFILE=" viagra.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_PTLINK"; then
AC_DEFINE(IRC_PTLINK,1,"First IRCD type")
IRCDFILE=" ptlink.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_RAGE2"; then
AC_DEFINE(IRC_RAGE2,1,"First IRCD type")
IRCDFILE=" rageircd.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_UNREAL32"; then
AC_DEFINE(IRC_UNREAL32,1,"First IRCD type")
IRCDFILE=" unreal32.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_SOLID"; then
AC_DEFINE(IRC_SOLID,1,"First IRCD type")
IRCDFILE=" solidircd.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_PLEXUS"; then
AC_DEFINE(IRC_PLEXUS,1,"First IRCD type")
IRCDFILE=" plexus.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_RATBOX"; then
AC_DEFINE(IRC_RATBOX,1,"First IRCD type")
IRCDFILE=" ratbox.c "
AC_SUBST(IRCDFILE)
elif test "$withval" = "IRC_SHADOWIRCD"; then
AC_DEFINE(IRC_SHADOWIRCD,1,"First IRCD type")
IRCDFILE=" shadowircd.c "
AC_SUBST(IRCDFILE)
fi
])
AC_ARG_WITH(encryption, [ --with-encryption Use md5 database encryption], [
AC_DEFINE_UNQUOTED(USE_ENCRYPTION,,"has encryption")
AC_DEFINE_UNQUOTED(ENCRYPT_MD5,,"Use md5")
])
AC_OUTPUT(Makefile)
cat <<EOT
$DIS_MODULES
$DIS_THREAD
$DIS_MYSQL
All done! Now run "make" (or possibly "gmake") to compile Anope.
See the INSTALL, README and FAQ files if you have any problems.
EOT