# @configure_input@ # # By Carlo Wood (carlo@runaway.xs4all.nl) # # For a description of the syntax of this configuration file, # see the config/Configure script. # # TO CONFIGURE THE SERVER, TYPE: 'make config' in the top level directory ! # #### Start of system configuration section. #### prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ mandir=@mandir@ CC_DEFAULT="@CC@" CFLAGS_DEFAULT="@CFLAGS@" CPPFLAGS_DEFAULT="@CPPFLAGS@" LDFLAGS_DEFAULT="@LDFLAGS@" LIBS="@LIBS@" ac_cv_header_poll_h=@ac_cv_header_poll_h@ unet_cv_func_poll_syscall=@unet_cv_func_poll_syscall@ ac_cv_header_syslog_h=@ac_cv_header_syslog_h@ #### End of system configuration section. #### if [ -z "$CONFIG_BATCH" ]; then echo "**************************************************************************" echo "Error: Please run 'make config' that resides in the top level directory!" echo "**************************************************************************" exit -1 fi mainmenu_name "Undernet IRC Daemon Configuration" mainmenu_option next_comment if [ "$CONFIG_BATCH" = "n" ]; then echo "* Welcome to the Undernet IRC Daemon Configuration script." echo "* You can restart this configuration at any time by typing 'make config'." echo "* If you need help with your decision on any question, type a '?'" echo "*" USE_DEFAULT=n else USE_DEFAULT=C fi CHANGE_CONFIG=n if [ "$DEFAULTS" != "none" ]; then bool 'Do you want to change your previous configuration' CHANGE_CONFIG if [ "$CHANGE_CONFIG" = "n" ]; then echo "Ok, I will only prompt you for NEW parameters." USE_DEFAULT=C else USE_DEFAULT=n fi else USE_DEFAULT=n fi endmenu mainmenu_option next_comment comment 'Debugging (do not define this on production servers)' bool 'Do you want to enable debugging output' DEBUGMODE bool 'Do you want to enable asserts and memory allocation checking' CONFIG_NDEBUG EXTRA_CPPFLAGS="" if [ "$CONFIG_NDEBUG" = "n" ]; then if [ -z "$EXTRA_CPPFLAGS" ]; then EXTRA_CPPFLAGS="-DNDEBUG" else EXTRA_CPPFLAGS="-DNDEBUG $EXTRA_CPPFLAGS" fi fi bool 'Are you testing on a host without DNS' NODNS endmenu mainmenu_option next_comment comment 'Compile stuff' if [ "$prefix" = "NONE" ]; then prefix=/usr/local fi if [ "$exec_prefix" = "NONE" ]; then eval exec_prefix="$prefix" fi string 'Which compiler do you want to use' CC "$CC_DEFAULT" echo "* For the following four questions, specify 'none' when you want it to be empty." if [ -z "$cflags_O3_remark" -a -n "$CFLAGS" ]; then CFLAGS_DEFAULT=`echo "$CFLAGS" | sed -e 's%-O2%-O3%'` if [ "$CFLAGS_DEFAULT" != "$CFLAGS" ]; then echo "You are highly advised to use -O3 instead of -O2 if you're short in cpu cycles!" echo "Please read documentation (press '?'):" CFLAGS= fi fi eval string "'What flags should I pass to $CC [none]'" CFLAGS "'$CFLAGS_DEFAULT'" define_macro cflags_O3_remark done string 'Do you need extra include directories [none]' EXTRA_INCLUDEDIRS none if [ -z "$LDFLAGS_DEFAULT" ]; then LDFLAGS_DEFAULT=none else eval LDFLAGS_DEFAULT="$LDFLAGS_DEFAULT" fi string 'Which linker flags do you need [none]' LDFLAGS "$LDFLAGS_DEFAULT" if [ -z "$LIBS" ]; then LIBS=none fi string 'Which extra libraries do you need [none]' IRCDLIBS "$LIBS" bool 'Generate debug symbols?' DEBUGSYMBOLS "y" bool 'Compile in profiling support (gcc and maybe SUNpro)?' IRCUPROFILE "n" unset ZSTEMP if [ "$DEBUGSYMBOLS" = "y" ] ; then ZSTEMP="-g" fi if [ "$IRCUPROFILE" = "y" ] ; then ZSTEMP="-pg $ZSTEMP" fi define_string DEBUGFLAGS "$ZSTEMP" eval bindir="$bindir" string 'In which directory should I install the ircd binary' BINDIR $bindir if [ ! -d "$BINDIR" ]; then echo "$BINDIR : No such directory" fi string 'What should the name of the installed symbolic link to the exectuable be' SYMLINK ircd string 'Which permissions do you want the binary to have' IRCDMODE 711 string 'Which owner do you want the binary to have' IRCDOWN "`id | sed -e 's/.*uid=[0-9]*(//' -e 's/).*//' 2> /dev/null`" string 'Which group do you want the binary to have' IRCDGRP "`id | sed -e 's/.*gid=[0-9]*(//' -e 's/).*//' 2> /dev/null`" eval mandir=$mandir string 'Where should I install the man page' MANDIR $mandir if [ "$CFLAGS" = "none" ]; then CFLAGS="" fi if [ "$EXTRA_INCLUDEDIRS" = "none" ]; then EXTRA_INCLUDEDIRS="" fi if [ "$LDFLAGS" = "none" ]; then LDFLAGS="" fi if [ "$IRCDLIBS" = "none" ]; then IRCDLIBS="" fi if [ -n "$EXTRA_INCLUDEDIRS" ]; then for i in $EXTRA_INCLUDEDIRS; do if [ -z "$EXTRA_CPPFLAGS" ]; then EXTRA_CPPFLAGS=-I$i else EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS -I$i" fi done fi if [ -z "$EXTRA_CPPFLAGS" ]; then CPPFLAGS="-I../include -I../config" else CPPFLAGS="-I../include -I../config $EXTRA_CPPFLAGS" fi echo "EXTRA_CPPFLAGS=\"$EXTRA_CPPFLAGS\"" >>$CONFIG echo "CPPFLAGS=\"$CPPFLAGS\"" >>$CONFIG bool 'Use inlining for a few crucial functions' FORCEINLINE y endmenu if [ "$ac_cv_header_poll_h" = "yes" ]; then if [ "$unet_cv_func_poll_syscall" = "yes" ]; then define_bool USE_POLL y else mainmenu_option next_comment comment 'Operating System specific defines.' bool 'You have poll(), but do you want to use it' USE_POLL n endmenu fi fi mainmenu_option next_comment comment 'Host specific defines' if [ -f /etc/resolv.conf ]; then DOMAINNAME_DEFAULT="`awk '/^domain/ { print "*" $2; exit }' /etc/resolv.conf`" fi if [ -z "$DOMAINNAME_DEFAULT" ]; then DOMAINNAME_DEFAULT="`awk '/^search/ { print "*" $2; exit }' /etc/resolv.conf`" fi if [ -z "$DOMAINNAME_DEFAULT" ]; then DOMAINNAME_DEFAULT=none fi define_string DOMAINNAME $DOMAINNAME_DEFAULT string 'Please give a random seed of eight characters' RANDOM_SEED 12345678 endmenu mainmenu_option next_comment comment 'General defines' bool 'Do you want the daemon set its own uid/gid (say yes for chroot!)' CONFIG_SETUGID if [ "$CONFIG_SETUGID" = "y" ]; then int ' UID of irc daemon' IRC_UID int ' GID of irc daemon' IRC_GID bool ' Change root ('/') after start of daemon' CHROOTDIR else define_bool CHROOTDIR n define_int IRC_UID $IRC_UID define_int IRC_GID $IRC_GID bool 'Allow to specify configuration file on command line' CMDLINE_CONFIG if [ "$CMDLINE_CONFIG" = "y" ]; then echo " SECURITY: Then don't install the daemon SUID or SGID !" fi fi endmenu mainmenu_option next_comment comment 'Paths and files' eval DPATH_DEFAULT="${prefix}/lib/ircd" string 'Directory where all ircd stuff resides' DPATH $DPATH_DEFAULT if [ "$CHROOTDIR" = "y" ] ; then define_string SPATH "/$SYMLINK" else define_string SPATH "$BINDIR/$SYMLINK" fi echo "The following filenames are either full paths or files within DPATH" string 'Server configuration file' CPATH 'ircd.conf' if [ "$DEBUGMODE" = "y" ]; then string 'Debug file if DEBUGMODE' LPATH '/tmp/ircd.log' else define_string LPATH "$LPATH" fi endmenu mainmenu_option next_comment comment 'Configuration' int 'Maximum number of network connections (23 - (FD_SETSIZE-4))' MAXCONNECTIONS 252 int 'Nickname history length' NICKNAMEHISTORYLENGTH 800 endmenu mainmenu_option next_comment comment 'Server characteristics' bool 'Do you want to have a default LIST parameter' CONFIG_LIST y if [ "$CONFIG_LIST" = "y" ]; then string 'Give default LIST parameter' DEFAULT_LIST 'T<10' define_string DEFAULT_LIST_PARAM "$DEFAULT_LIST" else define_string DEFAULT_LIST "$DEFAULT_LIST" define_bool DEFAULT_LIST_PARAM n fi endmenu mainmenu_option next_comment comment 'Mandatory defines (you should leave these untouched)' int 'Max auto connects per class (1!)' MAXIMUM_LINKS 1 int 'KILL nick chase time limit (30)' KILLCHASETIMELIMIT 30 int 'Max number of channels per user' MAXCHANNELSPERUSER 10 int 'Max number of silence masks (15!)' MAXSILES 15 int 'Expected average banmask length (40!)' AVBANLEN 40 eval define_macro MAXSILELENGTH \'\($AVBANLEN * MAXSILES\)\' echo '* These are default values, used for class 0:' int 'Max server idle time (60)' TIMESEC 60 int 'Class 0 ping frequency (120)' PINGFREQUENCY 120 int 'Class 0 connect frequency (600)' CONNECTFREQUENCY 600 int 'Min time before a link is good (300)' HANGONGOODLINK 300 int 'Wait before reconnecting to good link (10!)' HANGONRETRYDELAY 10 int 'connect(2) timeout (90!)' CONNECTTIMEOUT 90 int 'Max send queue (40000)' DEFAULTMAXSENDQLENGTH 40000 endmenu