mirror of
https://github.com/anope/anope.git
synced 2026-06-27 11:56:37 +02:00
a22d9ec3b0
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
296 lines
8.4 KiB
Plaintext
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
|
|
|