Kaynağa Gözat

Merge branch 'maint'

* maint:
  No data is a failure
  Properly exit on error and delete correct TPo file
  Name stringfixed objects as .So so non-stringfix objects don't get transformed
  Add stringfix in as a dependency
  Use portable suffix rules and use .cc
  Fix logic bug with calling uname(2)
  Fix header guard
Bryan Drewery 12 yıl önce
ebeveyn
işleme
996e840ccb

+ 4 - 3
build/autotools/includes/depend.m4

@@ -44,13 +44,14 @@ for mf in $files; do
     }
     /^OBJS = / s/^OBJS = //p' < "$mf"`;
   do
-    base=`basename $file .o`
+    suffix=${file##*.}
+    base=${file%%.*}
     test -f "$dirpart/$base.c" || continue
     if ! test -f "$dirpart/.deps/$base.Po"; then
       echo '# dummy' > "$dirpart/.deps/$base.Po"
       #Remove the .o file, because it needs to be recompiled for its dependancies.
-      if test -f "$dirpart/$base.o"; then
-        rm -f "$dirpart/$base.o"
+      if test -f "$dirpart/${base}.${suffix}"; then
+        rm -f "$dirpart/${base}.${suffix}"
       fi
     fi
     echo "include .deps/$base.Po" >> "$dirpart/.deps/includes"

+ 49 - 8
build/build.mk

@@ -1,29 +1,70 @@
 depcomp = /bin/sh $(top_srcdir)/build/autotools/depcomp
 
-%.o: %.cpp $(top_srcdir)/src/stringfix
-	@echo -e "[CC]	\033[1m$*\033[0m"
-	trap "rm -f '.deps/$*.Tpo' $*.ii; exit 1" 1 2 3 5 10 13 15; \
+.SUFFIXES:
+.SUFFIXES: .c .cc .h .o .So
+
+.cc.So:
+	@echo -e "{CC}	\033[1m$*\033[0m"
+	set -e; trap "rm -f '.deps/$*.TPo' $*.ii; exit 1" 1 2 3 5 10 13 15; \
 	if [ "$(CCDEPMODE)" = "gcc3" ]; then \
 	  if $(CXX) -MT '$@' -MD -MP -MF '.deps/$*.TPo' $(CXXFLAGS) $(CPPFLAGS) -E $< | $(top_srcdir)/src/stringfix > $*.ii; then \
+	    echo '$@: $(top_srcdir)/src/stringfix' >> '.deps/$*.TPo'; \
 	    mv '.deps/$*.TPo' '.deps/$*.Po'; \
+	   else \
+	     rm -f '.deps/$*.TPo' $*.ii; \
+	     exit 1; \
 	  fi; \
 	else \
 	  libtool=no source='$<' object='$@' depfile='.deps/$*.Po' tmpdepfile='.deps/$*.TPo' depmode=$(CCDEPMODE) $(depcomp) \
 	  $(CXX) $(CXXFLAGS) $(CPPFLAGS) -E $< | $(top_srcdir)/src/stringfix > $*.ii; \
 	fi; \
 	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $*.ii -o $@; \
-	rm -f '.deps/$*.Tpo' $*.ii
+	rm -f $*.ii
 
-%.o: %.c $(top_srcdir)/src/stringfix
-	@echo -e "[C ]	\033[1m$*\033[0m"
-	trap "rm -f '.deps/$*.Tpo' $*.i; exit 1" 1 2 3 5 10 13 15; \
+.c.So:
+	@echo -e "{C }	\033[1m$*\033[0m"
+	set -e; trap "rm -f '.deps/$*.TPo' $*.i; exit 1" 1 2 3 5 10 13 15; \
 	if [ "$(CCDEPMODE)" = "gcc3" ]; then \
 	  if $(CXX) -MT '$@' -MD -MP -MF '.deps/$*.TPo' $(CXXFLAGS) $(CPPFLAGS) -E $< | $(top_srcdir)/src/stringfix > $*.i; then \
+	    echo '$@: $(top_srcdir)/src/stringfix' >> '.deps/$*.TPo'; \
 	    mv '.deps/$*.TPo' '.deps/$*.Po'; \
+	   else \
+	     rm -f '.deps/$*.TPo' $*.i; \
+	     exit 1; \
 	  fi; \
 	else \
 	  libtool=no source='$<' object='$@' depfile='.deps/$*.Po' tmpdepfile='.deps/$*.TPo' depmode=$(CCDEPMODE) $(depcomp) \
 	  $(CXX) $(CXXFLAGS) $(CPPFLAGS) -E $< | $(top_srcdir)/src/stringfix > $*.i; \
 	fi; \
 	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $*.i -o $@; \
-	rm -f '.deps/$*.Tpo' $*.i
+	rm -f $*.i
+
+.cc.o:
+	@echo -e "[CC]	\033[1m$*\033[0m"
+	set -e; trap "rm -f '.deps/$*.TPo'; exit 1" 1 2 3 5 10 13 15; \
+	if [ "$(CCDEPMODE)" = "gcc3" ]; then \
+	  if $(CXX) -MT '$@' -MD -MP -MF '.deps/$*.TPo' $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@; then \
+	    mv '.deps/$*.TPo' '.deps/$*.Po'; \
+	   else \
+	     rm -f '.deps/$*.TPo'; \
+	     exit 1; \
+	  fi; \
+	else \
+	  libtool=no source='$<' object='$@' depfile='.deps/$*.Po' tmpdepfile='.deps/$*.TPo' depmode=$(CCDEPMODE) $(depcomp) \
+	  $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@; \
+	fi
+
+.c.o:
+	@echo -e "[C]	\033[1m$*\033[0m"
+	set -e; trap "rm -f '.deps/$*.TPo'; exit 1" 1 2 3 5 10 13 15; \
+	if [ "$(CCDEPMODE)" = "gcc3" ]; then \
+	  if $(CXX) -MT '$@' -MD -MP -MF '.deps/$*.TPo' $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@; then \
+	    mv '.deps/$*.TPo' '.deps/$*.Po'; \
+	   else \
+	     rm -f '.deps/$*.TPo'; \
+	     exit 1; \
+	  fi; \
+	else \
+	  libtool=no source='$<' object='$@' depfile='.deps/$*.Po' tmpdepfile='.deps/$*.TPo' depmode=$(CCDEPMODE) $(depcomp) \
+	  $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@; \
+	fi

+ 4 - 3
configure

@@ -8814,13 +8814,14 @@ $as_echo X"$mf" |
     }
     /^OBJS = / s/^OBJS = //p' < "$mf"`;
   do
-    base=`basename $file .o`
+    suffix=${file##*.}
+    base=${file%%.*}
     test -f "$dirpart/$base.c" || continue
     if ! test -f "$dirpart/.deps/$base.Po"; then
       echo '# dummy' > "$dirpart/.deps/$base.Po"
       #Remove the .o file, because it needs to be recompiled for its dependancies.
-      if test -f "$dirpart/$base.o"; then
-        rm -f "$dirpart/$base.o"
+      if test -f "$dirpart/${base}.${suffix}"; then
+        rm -f "$dirpart/${base}.${suffix}"
       fi
     fi
     echo "include .deps/$base.Po" >> "$dirpart/.deps/includes"

+ 1 - 0
src/.gitignore

@@ -14,4 +14,5 @@
 /makeset
 /set_default.h
 *.o
+*.So
 *.i

+ 52 - 52
src/Makefile.in

@@ -14,57 +14,57 @@ include $(top_srcdir)/build/build.mk
 
 OBJCOPY = @OBJCOPY@
 
-OBJS = auth.o \
-	base64.o \
-	binary.o \
-	binds.o \
-	bg.o \
-	botcmd.o \
-	botmsg.o \
-	botnet.o \
-	chanprog.o \
-	cmds.o \
-	core_binds.o \
-	conf.o \
-	crypt.o \
-	dcc.o \
-	dccutil.o \
-	debug.o \
-	dl.o \
-	egg_timer.o \
-	enclink.o \
-	EncryptedStream.o \
-	flags.o \
-	garble.o \
-	libcrypto.o \
-	libssl.o \
-	libtcl.o \
-	log.o \
-	main.o \
-	match.o \
-	misc.o \
-	misc_file.o \
-	net.o \
-	openssl.o \
-	adns.o \
-	response.o \
-	rfc1459.o \
-	set.o \
-	shell.o \
-	socket.o \
-	sprintf.o \
-	userent.o \
-	userrec.o \
-	users.o
-
-MODOBJS = mod/channels.mod/channels.o \
-        mod/console.mod/console.o \
-        mod/ctcp.mod/ctcp.o \
-        mod/irc.mod/irc.o \
-        mod/server.mod/server.o \
-        mod/share.mod/share.o \
-        mod/transfer.mod/transfer.o \
-        mod/update.mod/update.o
+OBJS = auth.So \
+	base64.So \
+	binary.So \
+	binds.So \
+	bg.So \
+	botcmd.So \
+	botmsg.So \
+	botnet.So \
+	chanprog.So \
+	cmds.So \
+	core_binds.So \
+	conf.So \
+	crypt.So \
+	dcc.So \
+	dccutil.So \
+	debug.So \
+	dl.So \
+	egg_timer.So \
+	enclink.So \
+	EncryptedStream.So \
+	flags.So \
+	garble.So \
+	libcrypto.So \
+	libssl.So \
+	libtcl.So \
+	log.So \
+	main.So \
+	match.So \
+	misc.So \
+	misc_file.So \
+	net.So \
+	openssl.So \
+	adns.So \
+	response.So \
+	rfc1459.So \
+	set.So \
+	shell.So \
+	socket.So \
+	sprintf.So \
+	userent.So \
+	userrec.So \
+	users.So
+
+MODOBJS = mod/channels.mod/channels.So \
+        mod/console.mod/console.So \
+        mod/ctcp.mod/ctcp.So \
+        mod/irc.mod/irc.So \
+        mod/server.mod/server.So \
+        mod/share.mod/share.So \
+        mod/transfer.mod/transfer.So \
+        mod/update.mod/update.So
 
 
 MAKE_GENERIC = $(MAKE) 'MAKE=$(MAKE)' 'MAKEFLAGS=$(MAKEFLAGS)' 'CXX=$(CXX)' 'LD=$(LD)' 'STRIP=$(STRIP)' 'CFLGS=$(CFLGS)' 'CCDEPMODE=$(CCDEPMODE)'
@@ -115,7 +115,7 @@ stringfix: stringfix.c common.h config.h eggdrop.h
 $(EGGEXEC): stringfix ../$(EGGEXEC)
 
 clean:
-	@rm -f .depend *.o *~ _*.c
+	@rm -f .depend *.o *.So *~ _*.c
 
 build_msg:
 	@echo "[*] Compiling core components"

+ 1 - 1
src/chanprog.c

@@ -308,7 +308,7 @@ void tell_verbose_status(int idx)
   int i;
   struct utsname un;
 
-  if (!uname(&un) < 0) {
+  if (uname(&un) < 0) {
     vers_t = " ";
     uni_t = "*unknown*";
   } else {

+ 2 - 2
src/mod/Makefile.in

@@ -65,7 +65,7 @@ build_msg:
 	cd $*.mod && $(MAKE_MOD) 'VPATH=$(MOD_UPDIR)$(srcdir)/$*.mod' 'srcdir=$(MOD_UPDIR)$(srcdir)/$*.mod' static;
 
 clean:
-	@rm -f *.o *~
+	@rm -f *.o *.So *~
 	@for i in *.mod; do \
 		if test ! -d $$i; then mkdir $$i; fi; \
 		if (test ! -r $$i/Makefile) && \
@@ -78,7 +78,7 @@ clean:
 	done
 
 distclean:
-	@rm -f *.o *~
+	@rm -f *.o *.So *~
 	@for i in *.mod; do \
 		if test ! -d $$i; then mkdir $$i; fi; \
 		if (test ! -r $$i/Makefile) && \

+ 2 - 2
src/mod/channels.mod/Makefile

@@ -2,7 +2,7 @@
 
 srcdir = .
 
-OBJS = channels.o
+OBJS = channels.So
 
 include ./.deps/includes
 include $(top_srcdir)/build/build.mk
@@ -16,7 +16,7 @@ doofus:
 static: $(OBJS)
 
 clean:
-	@rm -f .depend *.o *~
+	@rm -f .depend *.So *~
 
 distclean: clean
 

+ 2 - 2
src/mod/compress.mod/Makefile

@@ -2,7 +2,7 @@
 
 srcdir = .
 
-OBJS = compress.o
+OBJS = compress.So
 
 include ./.deps/includes
 include $(top_srcdir)/build/build.mk
@@ -16,7 +16,7 @@ doofus:
 static: $(OBJS)
 
 clean:
-	@rm -f .depend *.o *~
+	@rm -f .depend *.So *~
 
 distclean: clean
 

+ 2 - 2
src/mod/console.mod/Makefile

@@ -2,7 +2,7 @@
 
 srcdir = .
 
-OBJS = console.o
+OBJS = console.So
 
 include ./.deps/includes
 include $(top_srcdir)/build/build.mk
@@ -16,6 +16,6 @@ doofus:
 static: $(OBJS)
 
 clean:
-	@rm -f .depend *.o *~
+	@rm -f .depend *.So *~
 
 distclean: clean

+ 2 - 2
src/mod/ctcp.mod/Makefile

@@ -2,7 +2,7 @@
 
 srcdir = .
 
-OBJS = ctcp.o
+OBJS = ctcp.So
 
 include ./.deps/includes
 include $(top_srcdir)/build/build.mk
@@ -16,6 +16,6 @@ doofus:
 static: $(OBJS)
 
 clean:
-	@rm -f .depend *.o *~
+	@rm -f .depend *.So *~
 
 distclean: clean

+ 2 - 2
src/mod/irc.mod/Makefile

@@ -2,7 +2,7 @@
 
 srcdir = .
 
-OBJS = irc.o
+OBJS = irc.So
 
 include ./.deps/includes
 include $(top_srcdir)/build/build.mk
@@ -16,7 +16,7 @@ doofus:
 static: $(OBJS)
 
 clean:
-	@rm -f .depend *.o *~
+	@rm -f .depend *.So *~
 
 distclean: clean
 

+ 2 - 2
src/mod/server.mod/Makefile

@@ -2,7 +2,7 @@
 
 srcdir = .
 
-OBJS = server.o
+OBJS = server.So
 
 include ./.deps/includes
 include $(top_srcdir)/build/build.mk
@@ -16,6 +16,6 @@ doofus:
 static: $(OBJS)
 
 clean:
-	@rm -f .depend *.o *~
+	@rm -f .depend *.So *~
 
 distclean: clean

+ 2 - 2
src/mod/share.mod/Makefile

@@ -2,7 +2,7 @@
 
 srcdir = .
 
-OBJS = share.o
+OBJS = share.So
 
 include ./.deps/includes
 include $(top_srcdir)/build/build.mk
@@ -16,7 +16,7 @@ doofus:
 static: $(OBJS)
 
 clean:
-	@rm -f .depend *.o *~
+	@rm -f .depend *.So *~
 
 distclean: clean
 

+ 2 - 2
src/mod/transfer.mod/Makefile

@@ -2,7 +2,7 @@
 
 srcdir = .
 
-OBJS = transfer.o
+OBJS = transfer.So
 
 include ./.deps/includes
 include $(top_srcdir)/build/build.mk
@@ -16,7 +16,7 @@ doofus:
 static: $(OBJS)
 
 clean:
-	@rm -f .depend *.o *~
+	@rm -f .depend *.So *~
 
 distclean: clean
 

+ 2 - 2
src/mod/update.mod/Makefile

@@ -2,7 +2,7 @@
 
 srcdir = .
 
-OBJS = update.o
+OBJS = update.So
 
 include ./.deps/includes
 include $(top_srcdir)/build/build.mk
@@ -16,7 +16,7 @@ doofus:
 static: $(OBJS)
 
 clean:
-	@rm -f .depend *.o *~
+	@rm -f .depend *.So *~
 
 distclean: clean
 

+ 1 - 1
src/sprintf.h

@@ -1,4 +1,4 @@
-#ifndef _SPRINTFH_H
+#ifndef _SPRINTF_H
 #define _SPRINTF_H
 
 

+ 4 - 1
src/stringfix.c

@@ -124,14 +124,17 @@ void processline(char *line)
 
 int main(int argc, char *argv[])
 {
+  int readData = 0;
+
   if (argc == 2)
     help = 1;
   char tempBuf[1024] = "";
   while (!feof(stdin)) {
     if (fgets(tempBuf, sizeof(tempBuf), stdin) && !feof(stdin)) {
       processline(tempBuf);
+      readData = 1;
     }
   }
 
-  return 0;
+  return !(readData);
 }