diff --git a/Makefile b/Makefile deleted file mode 100644 index 14f043b0..00000000 --- a/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -CXX=g++ -TARGET=linux-gnu -MACHINE=i686 -CXXFLAGS=-s -O2 -fomit-frame-pointer -D_MODULES -Wall -D_GNU_SOURCE -DHAVE_LIBSSL -#CXXFLAGS=-Wall -ggdb -D_DEBUG -D_MODULES -D_GNU_SOURCE -DHAVE_LIBSSL -INCLUDES= -LIBS=-ldl -lssl -rdynamic - -OBJS=main.o znc.o User.o IRCSock.o UserSock.o DCCBounce.o DCCSock.o Chan.o Nick.o Server.o Modules.o md5.o Buffer.o Utils.o -SRCS=main.cpp znc.cpp User.cpp IRCSock.cpp UserSock.cpp DCCBounce.cpp DCCSock.cpp Chan.cpp Nick.cpp Server.cpp Modules.cpp md5.cpp Buffer.cpp Utils.cpp - -all: znc - -depend:: - cat /dev/null >.depend - g++ -M $(CXXFLAGS) $(SRCS) $(INCLUDES) >.depend - -znc: $(OBJS) - $(CXX) $(CXXFLAGS) $(INCLUDES) -o $@ $(LIBS) $(OBJS) - -znc-static: $(OBJS) - $(CXX) $(CXXFLAGS) -static -o $@ $(INCLUDES) $(OBJS) $(LIBS) - strip $@ - -clean: - rm -rf znc znc-static *.o core core.* - -include .depend - -.cpp.o: - $(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $*.o $*.cpp diff --git a/Makefile.in b/Makefile.in index f6074795..3e4954ad 100644 --- a/Makefile.in +++ b/Makefile.in @@ -10,7 +10,7 @@ LIBS=@LIBS@ OBJS=main.o znc.o User.o IRCSock.o UserSock.o DCCBounce.o DCCSock.o Chan.o Nick.o Server.o Modules.o md5.o Buffer.o Utils.o SRCS=main.cpp znc.cpp User.cpp IRCSock.cpp UserSock.cpp DCCBounce.cpp DCCSock.cpp Chan.cpp Nick.cpp Server.cpp Modules.cpp md5.cpp Buffer.cpp Utils.cpp -all: znc +all: znc @MODTARGET@ depend:: cat /dev/null >.depend @@ -23,6 +23,9 @@ znc-static: $(OBJS) $(CXX) $(CXXFLAGS) -static -o $@ $(INCLUDES) $(OBJS) $(LIBS) strip $@ +modules:: + cd modules && ./buildmod --all + clean: rm -rf znc znc-static *.o core core.* diff --git a/configure b/configure index 4b2b8a36..ba64392e 100755 --- a/configure +++ b/configure @@ -270,7 +270,7 @@ PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS ac_ct_CC INCLUDES LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS ac_ct_CC MODFLAGS INCLUDES MODULES MODTARGET LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1861,9 +1861,11 @@ function appendCXX { CXXFLAGS=$* fi } -if `echo $host_os | grep -qi 'freebsd'`; then +if `echo $host_os | grep -i 'freebsd' >/dev/null 2>/dev/null`; then appendInc -I/usr/local/include appendLib -L/usr/local/lib -lcompat +elif `echo $host_os | grep -i 'sol' >/dev/null 2>/dev/null`; then + appendLib -lsocket -lnsl fi @@ -2754,6 +2756,8 @@ if test $ac_cv_lib_dl_dlopen = yes; then appendCXX -D_MODULES -rdynamic fi + MODFLAGS=`echo $CXXFLAGS | sed 's/-rdynamic//g'` + MODTARGET="modules" fi # @@ -2762,8 +2766,15 @@ fi + + + ac_config_files="$ac_config_files Makefile" +if test "$MODULES" = "yes"; then + ac_config_files="$ac_config_files modules/buildmod" + +fi cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -3314,6 +3325,7 @@ do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "modules/buildmod" ) CONFIG_FILES="$CONFIG_FILES modules/buildmod" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; @@ -3415,7 +3427,10 @@ s,@host_os@,$host_os,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@MODFLAGS@,$MODFLAGS,;t t s,@INCLUDES@,$INCLUDES,;t t +s,@MODULES@,$MODULES,;t t +s,@MODTARGET@,$MODTARGET,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF @@ -3648,5 +3663,7 @@ if test "$no_create" != yes; then $ac_cs_success || { (exit 1); exit 1; } fi - +if test -f modules/buildmod; then + chmod 0711 modules/buildmod +fi touch .depend diff --git a/configure.in b/configure.in index 61925c7e..37fa0b0b 100644 --- a/configure.in +++ b/configure.in @@ -27,10 +27,10 @@ function appendCXX { CXXFLAGS=$* fi } -if `echo $host_os | grep -qi 'freebsd'`; then +if `echo $host_os | grep -i 'freebsd' >/dev/null 2>/dev/null`; then appendInc -I/usr/local/include appendLib -L/usr/local/lib -lcompat -elif `echo $host_os | grep -qi 'sol'`; then +elif `echo $host_os | grep -i 'sol' >/dev/null 2>/dev/null`; then appendLib -lsocket -lnsl fi diff --git a/modules/buildmod b/modules/buildmod.in old mode 100755 new mode 100644 similarity index 53% rename from modules/buildmod rename to modules/buildmod.in index 5a5c813d..55cfa150 --- a/modules/buildmod +++ b/modules/buildmod.in @@ -1,13 +1,35 @@ #!/bin/sh -CXXFLAGS="-Wall -D_GNU_SOURCE -DHAVE_LIBSSL -I.." -LIBS="-lssl" +CXXFLAGS="@MODFLAGS@" +LIBS="@LIBS@" if test -z "$1"; then - echo "Usage: $0 [...]" + echo "Usage: $0 [--cflags] [--libs] | --all | [...]" exit 1 fi -for arg in "$@" +if [ -z "$CXX" ]; then + CXX="g++" +fi + +if [ "$1" = "--cflags" ]; then + echo "$CXXFLAGS" + exit 0 +fi + +if [ "$1" = "--libs" ]; then + echo "$LIBS" + exit 0 +fi + +if [ "$1" = "--all" ]; then + for i in *; do + FILE="$FILE $i" + done +else + FILES=$@ +fi + +for arg in "$FILES" do if test -d $arg; then (cd $arg && make || exit 1) @@ -21,15 +43,17 @@ do elif test -f "$arg.cc"; then FILE="$arg.cc" MOD="$arg" + else + continue fi rm -f "$MOD.so" if test -n "$FILE"; then - COMMAND="g++ $CXXFLAGS -c $FILE" + COMMAND="$CXX $CXXFLAGS -c $FILE" echo $COMMAND $COMMAND || exit 1 - COMMAND="g++ $CXXFLAGS -shared -o $MOD.so $MOD.o $LIBS" + COMMAND="$CXX $CXXFLAGS -shared -o $MOD.so $MOD.o $LIBS" echo $COMMAND $COMMAND || exit 1 fi