# Check for modules
case "$OSNAME" in
- (FreeBSD)
+ FreeBSD)
LDLIBS="-Ldl"
FLAGS="-fPIC -frtti $OPTIMISATI"
MAKEPROG="gmake"
;;
- (*)
+ *)
LDLIBS="-ldl"
FLAGS="-fPIC -frtti $OPTIMISATI"
MAKEPROG="make"
done
# Write the new makefile.
- . .Makefile.inc
+ for file in Makefile; do
+ echo -e "\033[0;37mWriting \033[1;32m$file\033[0;37m"
+ rm -f $file
+ sed -e "
+ s%@MAKEPROG@%$MAKEPROG%g
+ s%@FLAGS@%$FLAGS%g
+ s%@LDLIBS@%$LDLIBS%g
+ s%@CONFIG_DIR@%$CONFIG_DIR%g
+ s%@MODULE_DIR@%$MODULE_DIR%g
+ s%@BINARY_DIR@%$BINARY_DIR%g
+ s%@MODULES@%$MODULES%g
+ " .${file}.inc >> $file
+ done
echo "Complete."
exit 1;
fi
fi
}
+echo "#include <string.h>">.test.cpp
+echo "#include <stdio.h>">>.test.cpp
+echo "int main() { char a[10]; char b[10]; strlcpy(a,b,10); printf(\"%d\\n\",999); }" >>.test.cpp
+g++ -o .test .test.cpp 2>&1
+HAS_STRLCPY=`./.test 2>&1`
+rm -f .test.cpp .test
+
clear
echo -e "'\033[1;33m####\033[0;37m:'\033[1;33m##\033[0;37m::: \033[1;33m##\033[0;37m::'\033[1;33m######\033[0;37m::'\033[1;33m########\033[0;37m::'\033[1;33m####\033[0;37m:'\033[1;33m########\033[0;37m:::'\033[1;33m######\033[0;37m::'\033[1;33m########\033[0;37m::"
echo -e ". \033[1;33m##\033[0;37m:: \033[1;33m###\033[0;37m:: \033[1;33m##\033[0;37m:'\033[1;33m##\033[0;37m... \033[1;33m##\033[0;37m: \033[1;33m##\033[0;37m.... \033[1;33m##\033[0;37m:. \033[1;33m##\033[0;37m:: \033[1;33m##\033[0;37m.... \033[1;33m##\033[0;37m:'\033[1;33m##\033[0;37m... \033[1;33m##\033[0;37m: \033[1;33m##\033[0;37m.... \033[1;33m##\033[0;37m:"
cc=$OPTIMITEMP
fi
case "$cc" in
- (1)
+ 1)
OPTIMITEMP=1
OPTIMISATI="-O"
;;
- (2)
+ 2)
OPTIMITEMP=2
OPTIMISATI="-O2"
;;
- (3)
+ 3)
OPTIMITEMP=3
OPTIMISATI="-O3"
;;
- (*)
+ *)
OPTIMITEMP=0
OPTIMISATI="-g"
;;
echo -e "\033[0;37mMax nickname length:\033[1;32m\t\t$NICK_LENGT"
echo -e "\033[0;37mMax channel length:\033[1;32m\t\t$CHAN_LENGT"
echo -e "\033[0;37mMax mode length:\033[1;32m\t\t$MAXI_MODES"
-echo -e "\033[0;37mGCC Version Found:\033[1;32m\t\t$GCCVER"
-echo -e "\033[0;37mOptimation Flag:\033[1;32m\t\t$OPTIMISATI"
+echo -e "\033[0;37mGCC Version Found:\033[1;32m\t\t$GCCVER.$GCC34"
+echo -e "\033[0;37mOptimatizaton Flag:\033[1;32m\t\t$OPTIMISATI"
echo -e "\033[0;37m"
echo "Writing cache file for future ./configures ..."
+COPY_CONF=0
if [ "$CONFIG_DIR" != "$ME/conf" ] ; then
COPY_CONF=1
fi
echo "OPTIMITEMP=\"$OPTIMITEMP\"" >> .config.cache
echo "OPTIMISATI=\"$OPTIMISATI\"" >> .config.cache
echo "GCC34=\"$GCC34\"" >> .config.cache
+echo "HAS_STRLCPY=\"$HAS_STRLCPY\"" >> .config.cache
echo "COPY_CONF=\"$COPY_CONF\"" >> .config.cache
-echo "Writing include/inspircd_config.h ..."
+echo -e "Writing \033[1;32minspircd_config.h"
echo "/* Auto generated by configure, do not modify! */" >include/inspircd_config.h
echo "" >>include/inspircd_config.h
if [ "$GCCVER" -eq "3" ] ; then
echo "#define GCC3" >>include/inspircd_config.h
+ if [ "$GCC34" -gt "3" ] ; then
+ echo "#define GCC34" >>include/inspircd_config.h
+ fi
fi
-if [ "$GCC34" -eq "3.4" ] ; then
-echo "#define GCC34" >>include/inspircd_config.h
+if [ "$HAS_STRLCPY" -eq "999" ] ; then
+ echo "#define HAS_STRLCPY" >>include/inspircd_config.h
fi
echo "#define SYSLOG_FACILITY LOG_DAEMON" >>include/inspircd_config.h
echo "#define SYSLOG_LEVEL LOG_NOTICE" >>include/inspircd_config.h
echo "#define MAXBUF 514">>include/inspircd_config.h
touch include/inspircd_config.h
-echo "Preparing Variables for the Makefile"
-
case "$OSNAME" in
- (FreeBSD)
+ FreeBSD)
LDLIBS="-Ldl"
FLAGS="-fPIC -frtti $OPTIMISATI"
MAKEPROG="gmake"
;;
- (*)
+ *)
LDLIBS="-ldl"
FLAGS="-fPIC -frtti $OPTIMISATI"
MAKEPROG="make"
MODULES="$MODULES $mod"
done
-echo -e "Writing \033[1;37m$OSNAME\033[0;37m makefile"
-echo ""
+for file in Makefile inspircd; do
+ echo -e "\033[0;37mWriting \033[1;32m$file\033[0;37m"
+ rm -f $file
+ sed -e "
+ s%@MAKEPROG@%$MAKEPROG%g
+ s%@FLAGS@%$FLAGS%g
+ s%@LDLIBS@%$LDLIBS%g
+ s%@CONFIG_DIR@%$CONFIG_DIR%g
+ s%@MODULE_DIR@%$MODULE_DIR%g
+ s%@BINARY_DIR@%$BINARY_DIR%g
+ s%@MODULES@%$MODULES%g
+ " .${file}.inc >> $file
+done
-. .Makefile.inc
+`chmod 700 inspircd`
echo ""
$MAKEPROG
echo ""
echo "Done!"
- echo ""
else
echo ""
- echo "Done!"
- echo ""
- echo -e "To build your server with these settings, please type '\033[1;32mmake\033[0;37m' now."
- echo ""
- echo -e "*** \033[1;32mRemember to edit your configuration files!!!\033[0;37m ***"
- echo ""
+ echo -e "To build your server with these settings, please type '\033[1;32m$MAKEPROG\033[0;37m' now."
fi
echo ""
-echo "Do you want to run the config file maker?"
-echo -e $n "[\033[1;32my\033[0;37m] $c"
-read YN
-if [ "$YN" != "n" ] ; then
- sh makeconf
-fi
-
echo -e "*** \033[1;32mRemember to edit your configuration files!!!\033[0;37m ***"
echo ""
-