Преглед изворни кода

Merge branch 'build-cleanup'

* build-cleanup:
  * Update to automake 1.11 depcomp
  * Inline the dependency creation if possible to avoid overheap from automake's depcomp
  * Avoid needing `basename`
  * Cleanup stringfix to use stdin/stdout to allow piping in cc1plus
  * Don't run stringfix on help as it's been broken for a while
  * Run stringfix over the pre-processed output
  * Fix 'mod' files not getting stringfixed
  * Move -no-integrated-cpp to global CXX
  * Only run stringfix if being ran from depcomp.
  * Don't stringfix on debug binaries
  * Add wrapper cc1plus (preprocessor) around compilation for stringfix; avoids need for _*.c temporary files
  * Move compiling rules to build/build.mk
  * Disable configure cache-file by default
  * Remove the temporary stringfix file when done with it
  * Don't attribute build failures to the temporary stringfix file
  * Move build stamp to build/
  * Move configure files into build/
  * Move autotools to build/
Bryan Drewery пре 14 година
родитељ
комит
8c607d08dd

+ 9 - 7
.gitignore

@@ -1,11 +1,13 @@
 /Makefile
-/confcache
-/config.cache
-/confdefs.h
-/config.h
-/config.log
-/config.status
-/stamp.*
+/build/confcache
+/build/config.cache
+/build/confdefs.h
+/src/config.h
+/build/config.log
+/build/config.status
+/build/stamp.*
+/build/autotools/src
+/src/mod/mod.mk
 /*.tgz
 /leaf
 /hub

+ 21 - 20
Makefile.in

@@ -12,10 +12,10 @@ VPATH = @srcdir@
 CCDEPMODE = @CCDEPMODE@
 BINEXEC = wraith@EXEEXT@
 
-STATICMAKEFILES = lib/Makefile src/mod/Makefile src/crypto/Makefile src/compat/Makefile src/Makefile Makefile
-CONFIGFILES = config.cache config.log config.status config.h src/buildinfo.h
+STATICMAKEFILES = lib/Makefile src/mod/Makefile src/crypto/Makefile src/compat/Makefile src/Makefile Makefile src/mod/mod.mk
+CONFIGFILES = build/config.cache build/config.log build/config.status src/config.h src/buildinfo.h
 
-DISTROFILES = README LICENSE config.h.in autotools doc scripts lib Makefile.in build.sh configure src BSDmakefile
+DISTROFILES = README LICENSE build doc scripts lib Makefile.in build.sh configure src BSDmakefile
 EXCLUDES = $(CONFIGFILES) $(STATICMAKEFILES)
 
 COMMIT_FULL 	:= $(shell git log -1 --pretty=format:%H HEAD)
@@ -30,7 +30,7 @@ SETTINGSFILE = doc/settings.txt
 RESPONSESFILE = doc/responses.txt
 
 # defaults
-CXX = @CCACHE@ @DISTCC@ @CXX@ @STATIC@
+CXX = @CCACHE@ @DISTCC@ @CXX@ @STATIC@ -no-integrated-cpp
 LD_DYNAMIC = @CXX@
 LD_STATIC = @CXX@ @STATIC@
 CCDEBUG = @CCACHE@ @DISTCC@ @CXX@
@@ -58,19 +58,21 @@ _CFLGS = -fno-strict-aliasing -W -Wformat \
 
 MAKEFLAGS = -s @MAKEJOBS@
 
+STRINGFIX = src/stringfix
+
 MAKE_STATIC = $(MAKE) 'MAKE=$(MAKE)' 'CXX=$(CXX)' 'LD=$(LD_STATIC)' 'INCLUDES=$(INCLUDES)' \
 'CCDEPMODE=$(CCDEPMODE)' 'BRANCH=$(BRANCH)' 'COMMIT=$(COMMIT_SHORT)' 'BUILDTS=$(BUILDTS)' 'VERSION=$(VERSION)' \
-'STRIP=$(STRIP)' 'CFLGS=$(CFLGS) -DBIN_TYPE_STATIC' \
+'STRIP=$(STRIP)' 'CFLGS=$(CFLGS) -DBIN_TYPE_STATIC' 'STRINGFIX=$(STRINGFIX)' \
 'LIBS=$(LIBS)' 'EGGEXEC=$(BINEXEC)' 'EGGBUILD=(wraith)'
 
 MAKE_DYNAMIC = $(MAKE) 'MAKE=$(MAKE)' 'CXX=$(CXX)' 'LD=$(LD_DYNAMIC)' 'INCLUDES=$(INCLUDES)' \
 'CCDEPMODE=$(CCDEPMODE)' 'BRANCH=$(BRANCH)' 'COMMIT=$(COMMIT_SHORT)' 'BUILDTS=$(BUILDTS)' 'VERSION=$(VERSION)' \
-'STRIP=$(STRIP)' 'CFLGS=$(CFLGS) -DBIN_TYPE_DYNAMIC' \
+'STRIP=$(STRIP)' 'CFLGS=$(CFLGS) -DBIN_TYPE_DYNAMIC' 'STRINGFIX=$(STRINGFIX)' \
 'LIBS=$(LIBS)' 'EGGEXEC=$(BINEXEC)' 'EGGBUILD=(wraith)'
 
 MAKE_DEBUG = $(MAKE) 'MAKE=$(MAKE)' 'CXX=$(CCDEBUG)' 'LD=$(LD_DEBUG) -g' 'INCLUDES=$(INCLUDES)' \
 'CCDEPMODE=$(CCDEPMODE)' 'BRANCH=$(BRANCH)' 'COMMIT=$(COMMIT_SHORT)' 'BUILDTS=$(BUILDTS)' 'VERSION=$(VERSION)' \
-'STRIP=touch' 'CFLGS=$(CFLGS) $(DEBCXXFLAGS) -DBIN_TYPE_DYNAMIC' \
+'STRIP=touch' 'CFLGS=$(CFLGS) $(DEBCXXFLAGS) -DBIN_TYPE_DYNAMIC' 'STRINGFIX=' \
 'LIBS=$(LIBS)' 'EGGEXEC=$(BINEXEC)' 'EGGBUILD=(debug)'
 
 MAKE_UTILS = $(MAKE) 'MAKE=$(MAKE)' 'CXX=$(CCDEBUG)' 'STRIP=touch' 'INCLUDES=$(INCLUDES)' \
@@ -90,7 +92,7 @@ default: dynamic
 test:
 
 cleanutils:
-	@rm -f src/stringfix@EXEEXT@ src/sorthelp@EXEEXT@ src/makehelp@EXEEXT@ src/makeres@EXEEXT@ src/makeset@EXEEXT@
+	@rm -f $(STRINGFIX) src/sorthelp@EXEEXT@ src/makehelp@EXEEXT@ src/makeres@EXEEXT@ src/makeset@EXEEXT@
 
 clean:  cleanutils
 	+@cd src && $(MAKE) clean
@@ -98,7 +100,7 @@ clean:  cleanutils
 	+@cd src/crypto && $(MAKE) clean
 	+@cd src/mod && $(MAKE) distclean
 	-+@cd lib && $(MAKE) clean
-	@rm -f $(BINEXEC) stamp.* *~ src/*~ configure.temp .mangled
+	@rm -f $(BINEXEC) build/stamp.* *~ src/*~ configure.temp .mangled
 	@rm -f src/help.h src/response.h src/responses.h utctime@EXEEXT@ ts@EXEEXT@
 
 distclean: clean
@@ -150,12 +152,11 @@ sort: sorthelp
 	@(src/sorthelp@EXEEXT@ $(HELPFILE) $(HELPFILE) || (cp -f help.txt~ $(HELPFILE); echo "Sort failed, restoring backup."))
 	@rm -f help.txt~
 
-help: makehelp stringfix
-	@src/makehelp@EXEEXT@ $(HELPFILE) src/help.h.tmp~
+help: makehelp
+	@src/makehelp@EXEEXT@ $(HELPFILE) src/help.h~
 	@(if [ ! -f src/help.h ]; then \
 	touch src/help.h; \
 	fi)
-	@src/stringfix@EXEEXT@ src/help.h.tmp~ src/help.h~ 1
 	@(if test "x`$(DIFF) -qurN src/help.h~ src/help.h`" != "x"; then \
 	cp -f src/help.h~ src/help.h; \
 	fi)
@@ -185,7 +186,7 @@ res: makeres
 	cp -f src/responses.h~ src/responses.h; \
 	fi)
 
-stringfix: src/stringfix.c config.h
+stringfix: src/stringfix.c src/config.h
 	+@cd src && ${MAKE_UTILS} stringfix
 
 makeres: src/makeres.c
@@ -205,32 +206,32 @@ utils: stringfix makehelp
 crypto:
 	+@cd src/crypto && ${MAKE_UTILS} crypto
 
-general: help res set
+general: help res set stringfix
 
 check:
 
 .NOTPARALLEL: checkclean.static checkclean.dynamic checkclean.debug
 
 checkclean.static:
-	@(if test -f stamp.dynamic -o -f stamp.debug; then \
+	@(if test -f build/stamp.dynamic -o -f build/stamp.debug; then \
 	echo "[*] Cleaning up alternate build"; \
 	$(MAKE) MAKEFLAGS=-s clean; \
 	fi)
-	@touch stamp.static
+	@touch build/stamp.static
 
 checkclean.dynamic:
-	@(if test -f stamp.static -o -f stamp.debug; then \
+	@(if test -f build/stamp.static -o -f build/stamp.debug; then \
 	echo "[*] Cleaning up alternate build"; \
 	$(MAKE) MAKEFLAGS=-s clean; \
 	fi)
-	@touch stamp.dynamic
+	@touch build/stamp.dynamic
 
 checkclean.debug:
-	@(if test -f stamp.static -o -f stamp.dynamic; then \
+	@(if test -f build/stamp.static -o -f build/stamp.dynamic; then \
 	echo "[*] Cleaning up alternate build"; \
 	$(MAKE) MAKEFLAGS=-s clean; \
 	fi)
-	@touch stamp.debug
+	@touch build/stamp.debug
 
 lib:
 	+@cd lib && $(MAKE)

+ 0 - 35
autotools/Makefile

@@ -1,35 +0,0 @@
-
-all: clean aclocal autoheader autoconf clean_again
-
-
-aclocal:
-	@rm -rf aclocal.m4
-	aclocal -I includes/
-
-autoheader:
-	@rm -rf ../config.h.in
-	@echo "Autoheader..."
-	@autoheader
-	@mv -f config.h.in ../config.h.in
-	@ls -al ../config.h.in
-
-autoconf: 
-	@rm -rf ../configure
-	@echo "Autoconf...."
-	@autoconf
-	@echo "Fixing configure for cache_file"
-	@(if ! sed configure -e "s/^cache_file=\/dev\/null/cache_file=\.\/config.cache/" \
-	-e "s/&& echo \"updating cache .cache_file\"//" > ../configure; then \
-	cp configure ../configure; \
-	rm configure; \
-	fi)
-	@chmod 700 ../configure
-	@ls -al ../configure
-
-clean:
-	@echo "Cleaning..."
-	@rm -rf autom4te.cache/ configure config.h.in aclocal.m4
-
-clean_again:
-	@echo "Cleaning..."
-	@rm -rf autom4te.cache/ configure config.h.in aclocal.m4

+ 0 - 105
autotools/depcomp

@@ -1,105 +0,0 @@
-#! /bin/sh
-
-# depcomp - compile a program generating dependencies as side-effects
-# Copyright 1999, 2000 Free Software Foundation, Inc.
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
-  echo "depcomp: Variables source, object and depmode must be set" 1>&2
-  exit 1
-fi
-
-if test -z "$depfile"; then
-   base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
-   dir=`echo "$object" | sed 's,/.*$,/,'`
-   if test "$dir" = "$object"; then
-      dir=
-   fi
-   depfile="$dir.deps/$base"
-fi
-
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags.  We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write.  Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff.  Hmm.
-  if test -z "$MM"; then
-   "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
-  else
-   "$@" -MM "$object" -MD -MP -MF "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  mv "$tmpdepfile" "$depfile"
-  ;;
-
-gcc)
-## There are various ways to get dependency output from gcc.  Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-##   up in a subdir.  Having to rename by hand is ugly.
-##   (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-##   than renaming).
-  if test -z "$gccflag"; then
-    gccflag=-MD,
-  fi
-  "$@" -Wp,"$gccflag$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
-  sed -e 's/^[^:]*: / /' \
-      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header).  We avoid this by adding
-## dummy dependencies for each header file.  Too bad gcc doesn't do
-## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-#nosideeffect)
-  # This comment above is used by automake to tell side-effect
-  # dependency tracking mechanisms from slower ones.
-
-none)
-  exec "$@"
-  ;;
-
-*)
-  echo "Unknown depmode $depmode" 1>&2
-  exit 1
-  ;;
-esac
-
-exit 0

+ 0 - 0
autotools/.gitignore → build/autotools/.gitignore


+ 40 - 0
build/autotools/Makefile

@@ -0,0 +1,40 @@
+
+all: clean aclocal autoheader autoconf clean_again
+
+
+aclocal:
+	@rm -rf aclocal.m4
+	@mkdir src
+	aclocal -I includes/
+
+autoheader:
+	@rm -f ../../src/config.h.in
+	@echo "Autoheader..."
+	@autoheader
+	@mv -f src/config.h.in ../../src/config.h.in
+	@ls -al ../../src/config.h.in
+
+autoconf: 
+	@rm -rf ../../configure
+	@echo "Autoconf...."
+	@autoconf
+	@echo "Fixing configure temp paths"
+	@(if ! sed configure \
+	  -e 's:config\.log:build/config.log:g' \
+	  -e 's:config\.status:build/config.status:g' \
+	  -e 's:confdefs\.h:build/confdefs.h:g' \
+	  > ../../configure; then \
+	  echo "FAILED TO FIX configure" >&2; \
+          cp configure ../../configure; \
+          rm configure; \
+	fi)
+	@chmod 700 ../../configure
+	@ls -al ../../configure
+
+clean:
+	@echo "Cleaning..."
+	@rm -rf autom4te.cache/ configure aclocal.m4 src/
+
+clean_again:
+	@echo "Cleaning..."
+	@rm -rf autom4te.cache/ configure aclocal.m4 src/

+ 0 - 0
autotools/README → build/autotools/README


+ 3 - 3
autotools/configure.ac → build/autotools/configure.ac

@@ -5,8 +5,8 @@ dnl
 AC_PREREQ(2.59)
 AC_INIT([wraith],[],[wraith@botpack.net])
 AC_CONFIG_SRCDIR(src/eggdrop.h)
-AC_CONFIG_HEADER(config.h)
-AC_COPYRIGHT([Copyright (c) 2003 - 2010 Bryan Drewery])
+AC_CONFIG_HEADER(src/config.h)
+AC_COPYRIGHT([Copyright (c) Bryan Drewery])
 AC_REVISION($Revision$)
 
 EGG_SAVE_PARAMETERS
@@ -220,7 +220,7 @@ EGG_SUBST_VERSION
 EGG_SUBST_MOD_UPDIR
 DO_DEPS
 
-AC_CONFIG_FILES([Makefile lib/Makefile src/Makefile src/compat/Makefile src/crypto/Makefile src/mod/Makefile src/buildinfo.h])
+AC_CONFIG_FILES([Makefile lib/Makefile src/Makefile src/compat/Makefile src/crypto/Makefile src/mod/Makefile src/buildinfo.h src/mod/mod.mk])
 AC_OUTPUT
 
 AH_TEMPLATE(HAVE_ST_MTIM, [Define to 1 if your struct stat has an st_mtim member])

+ 630 - 0
build/autotools/depcomp

@@ -0,0 +1,630 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+# Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by `PROGRAMS ARGS'.
+  object      Object file output by `PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputing dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+   # This is just like msvisualcpp but w/o cygpath translation.
+   # Just convert the backslash-escaped backslashes to single forward
+   # slashes to satisfy depend.m4
+   cygpath_u="sed s,\\\\\\\\,/,g"
+   depmode=msvisualcpp
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am.  Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+  for arg
+  do
+    case $arg in
+    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+    *)  set fnord "$@" "$arg" ;;
+    esac
+    shift # fnord
+    shift # $arg
+  done
+  "$@"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+  tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'.  On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like `#:fec' to the end of the
+    # dependency line.
+    tr ' ' '
+' < "$tmpdepfile" \
+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+    tr '
+' ' ' >> "$depfile"
+    echo >> "$depfile"
+
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' '
+' < "$tmpdepfile" \
+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+   >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+  test "x$dir" = "x$object" && dir=
+  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$base.u
+    tmpdepfile3=$dir.libs/$base.u
+    "$@" -Wc,-M
+  else
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$dir$base.u
+    tmpdepfile3=$dir$base.u
+    "$@" -M
+  fi
+  stat=$?
+
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form `foo.o: dependent.h'.
+    # Do two passes, one to just change these to
+    # `$object: dependent.h' and one to simply `dependent.h:'.
+    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+    # That's a tab and a space in the [].
+    sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+icc)
+  # Intel's C compiler understands `-MD -MF file'.  However on
+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # ICC 7.0 will fill foo.d with something like
+  #    foo.o: sub/foo.c
+  #    foo.o: sub/foo.h
+  # which is wrong.  We want:
+  #    sub/foo.o: sub/foo.c
+  #    sub/foo.o: sub/foo.h
+  #    sub/foo.c:
+  #    sub/foo.h:
+  # ICC 7.1 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using \ :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+    sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp2)
+  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+  # compilers, which have integrated preprocessors.  The correct option
+  # to use with these is +Maked; it writes dependencies to a file named
+  # 'foo.d', which lands next to the object file, wherever that
+  # happens to be.
+  # Much of this is similar to the tru64 case; see comments there.
+  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+  test "x$dir" = "x$object" && dir=
+  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir.libs/$base.d
+    "$@" -Wc,+Maked
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    "$@" +Maked
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+     rm -f "$tmpdepfile1" "$tmpdepfile2"
+     exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  if test -f "$tmpdepfile"; then
+    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+    # Add `dependent.h:' lines.
+    sed -ne '2,${
+	       s/^ *//
+	       s/ \\*$//
+	       s/$/:/
+	       p
+	     }' "$tmpdepfile" >> "$depfile"
+  else
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile" "$tmpdepfile2"
+  ;;
+
+tru64)
+   # The Tru64 compiler uses -MD to generate dependencies as a side
+   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+   # dependencies in `foo.d' instead, so we check for that too.
+   # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+   if test "$libtool" = yes; then
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mechanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
+      "$@" -Wc,-MD
+   else
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
+      "$@" -MD
+   fi
+
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+      exit $stat
+   fi
+
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
+   if test -f "$tmpdepfile"; then
+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+      # That's a tab and a space in the [].
+      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+   else
+      echo "#dummy" > "$depfile"
+   fi
+   rm -f "$tmpdepfile"
+   ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for `:'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  "$@" $dashmflag |
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no eat=no
+  for arg
+  do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    if test $eat = yes; then
+      eat=no
+      continue
+    fi
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -arch)
+      eat=yes ;;
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix=`echo "$object" | sed 's/^.*\././'`
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+	set fnord "$@"
+	shift
+	shift
+	;;
+    *)
+	set fnord "$@" "$arg"
+	shift
+	shift
+	;;
+    esac
+  done
+  "$@" -E 2>/dev/null |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
+  echo "	" >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvcmsys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:

+ 0 - 0
autotools/includes/acinclude.m4 → build/autotools/includes/acinclude.m4


+ 0 - 1
autotools/includes/depend.m4 → build/autotools/includes/depend.m4

@@ -57,7 +57,6 @@ for mf in $files; do
       fi
     fi
     echo "include .deps/$base.Po" >> "$dirpart/.deps/includes"
-    echo "_$base.c:" >> "$dirpart/.deps/includes"
   done
 done
 ])

+ 0 - 0
autotools/includes/libtcl.m4 → build/autotools/includes/libtcl.m4


+ 0 - 0
autotools/includes/stat.m4 → build/autotools/includes/stat.m4


+ 0 - 0
autotools/includes/wrap.m4 → build/autotools/includes/wrap.m4


+ 29 - 0
build/cc1plus

@@ -0,0 +1,29 @@
+#! /bin/sh
+
+# This file intercepts the pre-processor and runs 'stringfix' on the source file before it is processed.
+# This avoids the need for the old _*.c temp files.
+
+# Only capture pre-processing
+if [ $1 != "-E" -o -z "$STRINGFIX" -o ! -f "$STRINGFIX" ]; then
+  exec $(${COLLECT_GCC} --print-prog-name=cc1plus) $@
+fi
+
+
+# Check for '-MD' as this may be the 'depcomp' call
+depcomp=0
+for arg; do
+  case "$arg" in
+    -MD)
+      depcomp=1
+      ;;
+    *)
+      ;;
+  esac
+done
+
+# Only continue if running in depcomp (avoiding a 2nd pass for -dD/-g3)
+if [ $depcomp -eq 0 ]; then
+  exec $(${COLLECT_GCC} --print-prog-name=cc1plus) $@
+fi
+
+exec $(${COLLECT_GCC} --print-prog-name=cc1plus) $@ | $STRINGFIX

Разлика између датотеке није приказан због своје велике величине
+ 159 - 159
configure


+ 1 - 0
src/.gitignore

@@ -1,5 +1,6 @@
 /Makefile
 /buildinfo.h
+/*.c.real
 /_*.c
 /*~
 /help.h

+ 20 - 18
src/Makefile.in

@@ -4,13 +4,14 @@ SHELL = @SHELL@
 top_srcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
-depcomp = /bin/sh $(top_srcdir)/autotools/depcomp
 
 @SET_MAKE@
 
-CXXFLAGS = @CXXFLAGS@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/pack @DEFS@ $(INCLUDES) $(CFLGS) '-DCOMMIT="$(COMMIT)"' '-DBRANCH="$(BRANCH)"' -DBUILDTS=$(BUILDTS) '-DVERSION="$(VERSION)"'
+CXXFLAGS = @CXXFLAGS@ -I. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/pack @DEFS@ $(INCLUDES) $(CFLGS) '-DCOMMIT="$(COMMIT)"' '-DBRANCH="$(BRANCH)"' -DBUILDTS=$(BUILDTS) '-DVERSION="$(VERSION)"'
 CPPFLAGS = @CPPFLAGS@
 
+depcomp = /bin/sh $(top_srcdir)/build/autotools/depcomp
+
 OBJCOPY = @OBJCOPY@
 
 OBJS = auth.o \
@@ -75,25 +76,25 @@ blah:
 
 makeres: makeres.c ../lib/bdlib/src/libbdlib.a
 	@echo -e "Compiling: \033[1mmakeres\033[0m"
-	@$(CXX) $(CXXFLAGS) -I$(top_srcdir) -I$(top_srcdir)/pack $(CPPFLAGS) makeres.c ../lib/bdlib/src/libbdlib.a -o makeres
+	@$(CXX) $(CXXFLAGS) -I$(top_srcdir)/src -I$(top_srcdir)/pack $(CPPFLAGS) makeres.c ../lib/bdlib/src/libbdlib.a -o makeres
 	@$(STRIP) makeres@EXEEXT@
 
 makeset: makeset.c ../lib/bdlib/src/libbdlib.a
 	@echo -e "Compiling: \033[1mmakeset\033[0m"
-	@$(CXX) $(CXXFLAGS) -I$(top_srcdir) -I$(top_srcdir)/pack $(CPPFLAGS) makeset.c ../lib/bdlib/src/libbdlib.a -o makeset
+	@$(CXX) $(CXXFLAGS) -I$(top_srcdir)/src -I$(top_srcdir)/pack $(CPPFLAGS) makeset.c ../lib/bdlib/src/libbdlib.a -o makeset
 	@$(STRIP) makeset@EXEEXT@
 
 makehelp: makehelp.c ../lib/bdlib/src/libbdlib.a
 	@echo -e "Compiling: \033[1mmakehelp\033[0m"
-	@$(CXX) $(CXXFLAGS) -I$(top_srcdir) -I$(top_srcdir)/pack $(CPPFLAGS) makehelp.c ../lib/bdlib/src/libbdlib.a -o makehelp
+	@$(CXX) $(CXXFLAGS) -I$(top_srcdir)/src -I$(top_srcdir)/pack $(CPPFLAGS) makehelp.c ../lib/bdlib/src/libbdlib.a -o makehelp
 	@$(STRIP) makehelp@EXEEXT@
 
 sorthelp: sorthelp.c ../lib/bdlib/src/libbdlib.a
 	@echo -e "Compiling: \033[1msorthelp\033[0m"
-	@$(CXX) $(CXXFLAGS) -I$(top_srcdir) -I$(top_srcdir)/pack $(CPPFLAGS) sorthelp.c ../lib/bdlib/src/libbdlib.a -o sorthelp
+	@$(CXX) $(CXXFLAGS) -I$(top_srcdir)/src -I$(top_srcdir)/pack $(CPPFLAGS) sorthelp.c ../lib/bdlib/src/libbdlib.a -o sorthelp
 	@$(STRIP) sorthelp@EXEEXT@
 
-stringfix: stringfix.c common.h ../config.h eggdrop.h
+stringfix: stringfix.c common.h config.h eggdrop.h
 	@echo -e "Compiling: \033[1mstringfix\033[0m"
 	@$(CXX) $(CXXFLAGS) -I$(top_srcdir) -I$(top_srcdir)/pack $(CPPFLAGS) stringfix.c -o stringfix
 	@$(STRIP) stringfix@EXEEXT@
@@ -129,14 +130,15 @@ mycrypto:
 
 include ./.deps/includes
 
-.SUFFIXES:
-.SUFFIXES: .c .h .o
-
-.c.o: stringfix
-	@echo -e "Compiling: \033[1m`basename $< .c`\033[0m"
-	@./stringfix@EXEEXT@ $< _$< || cp -f $< _$<
-	source='$<' object='$@' depfile='.deps/$*.Po' tmpdepfile='.deps/$*.TPo' depmode=$(CCDEPMODE) $(depcomp) \
-	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c _$<  -o `basename $< .c`.o
-
-#safety hash
-
+%.o: %.c stringfix@EXEEXT@ $(top_srcdir)/build/cc1plus
+	@echo -e "Compiling: \033[1m$*\033[0m"
+ifeq ($(CCDEPMODE),gcc3)
+	if STRINGFIX='$(top_srcdir)/$(STRINGFIX)' $(CXX) -MT '$@' -MD -MP -MF '.deps/$*.TPo' -DSTRINGFIX=$(STRINGFIX) -B$(top_srcdir)/build $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@; then \
+	mv '.deps/$*.TPo' '.deps/$*.Po'; \
+	else rm -f '.deps/$*.Tpo'; exit 1; \
+	fi
+else
+	# STRINGFIX included after CXX for ccache to recognize
+	STRINGFIX="$(top_srcdir)/$(STRINGFIX)" libtool=no source='$<' object='$@' depfile='.deps/$*.Po' tmpdepfile='.deps/$*.TPo' depmode=$(CCDEPMODE) $(depcomp) \
+	$(CXX) -DSTRINGFIX=$(STRINGFIX) -B$(top_srcdir)/build $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@
+endif

+ 12 - 11
src/compat/Makefile.in

@@ -4,7 +4,7 @@ SHELL = @SHELL@
 top_srcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
-depcomp = /bin/sh $(top_srcdir)/autotools/depcomp
+depcomp = /bin/sh $(top_srcdir)/build/autotools/depcomp
 
 @SET_MAKE@
 
@@ -37,13 +37,14 @@ compat: $(OBJS)
 
 include ./.deps/includes
 
-.SUFFIXES:
-.SUFFIXES: .c .o .h
-
-.c.o:
-	@echo -e "Compiling: \033[1m`basename $< .c`\033[0m"
-	source='$<' object='$@' depfile='.deps/$*.Po' tmpdepfile='.deps/$*.TPo' depmode=$(CCDEPMODE) $(depcomp) \
-	$(CXX) $(CXXFLAGS) -I../.. -I$(top_srcdir) -I$(top_srcdir)/src $(CPPFLAGS) -c $< 
-
-
-#safety hash
+%.o: %.c
+	@echo -e "Compiling: \033[1m$*\033[0m"
+ifeq ($(CCDEPMODE),gcc3)
+	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 $@
+endif

+ 1 - 1
config.h.in → src/config.h.in

@@ -1,4 +1,4 @@
-/* config.h.in.  Generated from configure.ac by autoheader.  */
+/* src/config.h.in.  Generated from configure.ac by autoheader.  */
 
 /* Define if building universal (internal helper macro) */
 #undef AC_APPLE_UNIVERSAL_BUILD

+ 12 - 11
src/crypto/Makefile.in

@@ -8,7 +8,7 @@ CPPFLAGS = @CPPFLAGS@
 STRIP = @STRIP@
 
 VPATH = @srcdir@
-depcomp = /bin/sh $(top_srcdir)/autotools/depcomp
+depcomp = /bin/sh $(top_srcdir)/build/autotools/depcomp
 
 @SET_MAKE@
 
@@ -30,13 +30,14 @@ crypto: $(OBJS)
 
 include ./.deps/includes
 
-.SUFFIXES:
-.SUFFIXES: .c .o .h
-
-.c.o:
-	@echo -e "Compiling: \033[1m`basename $< .c`\033[0m"
-	source='$<' object='$@' depfile='.deps/$*.Po' tmpdepfile='.deps/$*.TPo' depmode=$(CCDEPMODE) $(depcomp) \
-	$(CXX) $(CXXFLAGS) -I../.. -I$(top_srcdir) -I$(top_srcdir)/src $(CPPFLAGS) -c $<
-
-
-
+%.o: %.c
+	@echo -e "Compiling: \033[1m$*\033[0m"
+ifeq ($(CCDEPMODE),gcc3)
+	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 $@
+endif

+ 2 - 0
src/garble.h

@@ -1,7 +1,9 @@
 #ifndef _GARBLE_H
 #define _GARBLE_H
 
+#ifdef DEBUG
 #define STR(x) x
+#endif
 
 const char *degarble(int, const char *);
 

+ 1 - 1
src/mod/Makefile.in

@@ -38,7 +38,7 @@ mod_objs = channels.mod_o \
 egg_ac_parameters = @egg_ac_parameters@
 
 MAKE_MOD = $(MAKE) 'MAKE=$(MAKE)' 'CXX=$(CXX)' 'LD=$(LD)' \
-'CCDEPMODE=$(CCDEPMODE)' \
+'CCDEPMODE=$(CCDEPMODE)' 'top_srcdir=$(MOD_UPDIR)$(top_srcdir)' \
 'STRIP=$(STRIP)' 'CXXFLAGS=$(MOD_CXXFLAGS)' 'CPPFLAGS=$(MOD_CPPFLAGS)' \
 'LIBS=$(LIBS)' 'SHELL=$(SHELL)'
 

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

@@ -1,12 +1,13 @@
 # Makefile for src/mod/channels.mod/
 
 srcdir = .
-depcomp = /bin/sh ../../../autotools/depcomp
+depcomp = /bin/sh ../../../build/autotools/depcomp
 
 #This line is simply for configure to generate .deps/
 OBJS = channels.o
 
 include ./.deps/includes
+include ../mod.mk
 
 doofus:
 	@echo ""
@@ -16,14 +17,6 @@ doofus:
 
 static: ../channels.o
 
-../channels.o:
-	@echo -e "Compiling: \033[1mchannels\033[0m"
-	source='channels.c' object='$@' depfile='.deps/channels.Po' tmpdepfile='.deps/channels.TPo' depmode=$(CCDEPMODE) $(depcomp) \
-	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/channels.c
-	@rm -f ../channels.o
-	@mv channels.o ../
-
-
 clean:
 	@rm -f .depend *.o *~
 

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

@@ -1,12 +1,13 @@
 # Makefile for src/mod/compress.mod/
 
 srcdir = .
-depcomp = /bin/sh ../../../autotools/depcomp
+depcomp = /bin/sh ../../../build/autotools/depcomp
 
 #This line is simply for configure to generate .deps/
 OBJS = compress.o
 
 include ./.deps/includes
+include ../mod.mk
 
 doofus:
 	@echo ""
@@ -16,13 +17,6 @@ doofus:
 
 static: ../compress.o
 
-../compress.o:
-	@echo -e "Compiling: \033[1mcompress\033[0m"
-	source='compress.c' object='$@' depfile='.deps/compress.Po' tmpdepfile='.deps/compress.TPo' depmode=$(CCDEPMODE) $(depcomp) \
-	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/compress.c
-	@rm -f ../compress.o
-	@mv compress.o ../
-
 clean:
 	@rm -f .depend *.o *~
 

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

@@ -1,12 +1,13 @@
 # Makefile for src/mod/console.mod/
 
 srcdir = .
-depcomp = /bin/sh ../../../autotools/depcomp
+depcomp = /bin/sh ../../../build/autotools/depcomp
 
 #This line is simply for configure to generate .deps/
 OBJS = console.o
 
 include ./.deps/includes
+include ../mod.mk
 
 doofus:
 	@echo ""
@@ -16,13 +17,6 @@ doofus:
 
 static: ../console.o
 
-../console.o:
-	@echo -e "Compiling: \033[1mconsole\033[0m"
-	source='console.c' object='$@' depfile='.deps/console.Po' tmpdepfile='.deps/console.TPo' depmode=$(CCDEPMODE) $(depcomp) \
-	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/console.c
-	@rm -f ../console.o
-	@mv console.o ../
-
 clean:
 	@rm -f .depend *.o *~
 

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

@@ -1,12 +1,13 @@
 # Makefile for src/mod/ctcp.mod/
 
 srcdir = .
-depcomp = /bin/sh ../../../autotools/depcomp
+depcomp = /bin/sh ../../../build/autotools/depcomp
 
 #This line is simply for configure to generate .deps/
 OBJS = ctcp.o
 
 include ./.deps/includes
+include ../mod.mk
 
 doofus:
 	@echo ""
@@ -16,13 +17,6 @@ doofus:
 
 static: ../ctcp.o
 
-../ctcp.o:
-	@echo -e "Compiling: \033[1mctcp\033[0m"
-	source='ctcp.c' object='$@' depfile='.deps/ctcp.Po' tmpdepfile='.deps/ctcp.TPo' depmode=$(CCDEPMODE) $(depcomp) \
-	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/ctcp.c
-	@rm -f ../ctcp.o
-	@mv ctcp.o ../
-
 clean:
 	@rm -f .depend *.o *~
 

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

@@ -1,13 +1,14 @@
 # Makefile for src/mod/irc.mod/
 
 srcdir = .
-depcomp = /bin/sh ../../../autotools/depcomp
+depcomp = /bin/sh ../../../build/autotools/depcomp
 
 
 #This line is simply for configure to generate .deps/
 OBJS = irc.o
 
 include ./.deps/includes
+include ../mod.mk
 
 doofus:
 	@echo ""
@@ -17,14 +18,6 @@ doofus:
 
 static: ../irc.o
 
-../irc.o:
-	@echo -e "Compiling: \033[1mirc\033[0m"
-	source='irc.c' object='$@' depfile='.deps/irc.Po' tmpdepfile='.deps/irc.TPo' depmode=$(CCDEPMODE) $(depcomp) \
-	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/irc.c
-	@rm -f ../irc.o
-	@mv irc.o ../
-
-
 clean:
 	@rm -f .depend *.o *~
 

+ 14 - 0
src/mod/mod.mk.in

@@ -0,0 +1,14 @@
+depcomp = /bin/sh $(top_srcdir)/build/autotools/depcomp
+
+../%.o: %.c $(top_srcdir)/src/stringfix $(top_srcdir)/build/cc1plus
+	@echo -e "Compiling: \033[1m$*\033[0m"
+ifeq ($(CCDEPMODE),gcc3)
+	if STRINGFIX='$(top_srcdir)/$(STRINGFIX)' $(CXX) -MT '$@' -MD -MP -MF '.deps/$*.TPo' -DSTRINGFIX=$(STRINGFIX) -B$(top_srcdir)/build $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@; then \
+	mv '.deps/$*.TPo' '.deps/$*.Po'; \
+	else rm -f '.deps/$*.Tpo'; exit 1; \
+	fi
+else
+	# STRINGFIX included after CXX for ccache to recognize
+	STRINGFIX="$(top_srcdir)/$(STRINGFIX)" libtool=no source='$<' object='$@' depfile='.deps/$*.Po' tmpdepfile='.deps/$*.TPo' depmode=$(CCDEPMODE) $(depcomp) \
+	$(CXX) -DSTRINGFIX=$(STRINGFIX) -B$(top_srcdir)/build $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@
+endif

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

@@ -1,12 +1,13 @@
 # Makefile for src/mod/server.mod/
 
 srcdir = .
-depcomp = /bin/sh ../../../autotools/depcomp
+depcomp = /bin/sh ../../../build/autotools/depcomp
 
 #This line is simply for configure to generate .deps/
 OBJS = server.o
 
 include ./.deps/includes
+include ../mod.mk
 
 doofus:
 	@echo ""
@@ -16,13 +17,6 @@ doofus:
 
 static: ../server.o
 
-../server.o:
-	@echo -e "Compiling: \033[1mserver\033[0m"
-	source='server.c' object='$@' depfile='.deps/server.Po' tmpdepfile='.deps/server.TPo' depmode=$(CCDEPMODE) $(depcomp) \
-	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/server.c
-	@rm -f ../server.o
-	@mv server.o ../
-
 clean:
 	@rm -f .depend *.o *~
 

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

@@ -1,12 +1,13 @@
 # Makefile for src/mod/share.mod/
 
 srcdir = .
-depcomp = /bin/sh ../../../autotools/depcomp
+depcomp = /bin/sh ../../../build/autotools/depcomp
 
 #This line is simply for configure to generate .deps/
 OBJS = share.o
 
 include ./.deps/includes
+include ../mod.mk
 
 doofus:
 	@echo ""
@@ -16,13 +17,6 @@ doofus:
 
 static: ../share.o
 
-../share.o:
-	@echo -e "Compiling: \033[1mshare\033[0m"
-	source='share.c' object='$@' depfile='.deps/share.Po' tmpdepfile='.deps/share.TPo' depmode=$(CCDEPMODE) $(depcomp) \
-	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/share.c
-	@rm -f ../share.o
-	@mv share.o ../
-
 clean:
 	@rm -f .depend *.o *~
 

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

@@ -1,12 +1,13 @@
 # Makefile for src/mod/transfer.mod/
 
 srcdir = .
-depcomp = /bin/sh ../../../autotools/depcomp
+depcomp = /bin/sh ../../../build/autotools/depcomp
 
 #This line is simply for configure to generate .deps/
 OBJS = transfer.o
 
 include ./.deps/includes
+include ../mod.mk
 
 doofus:
 	@echo ""
@@ -16,13 +17,6 @@ doofus:
 
 static: ../transfer.o
 
-../transfer.o:
-	@echo -e "Compiling: \033[1mtransfer\033[0m"
-	source='transfer.c' object='$@' depfile='.deps/transfer.Po' tmpdepfile='.deps/transfer.TPo' depmode=$(CCDEPMODE) $(depcomp) \
-	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/transfer.c
-	@rm -f ../transfer.o
-	@mv transfer.o ../
-
 clean:
 	@rm -f .depend *.o *~
 

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

@@ -1,12 +1,13 @@
 # Makefile for src/mod/update.mod/
 
 srcdir = .
-depcomp = /bin/sh ../../../autotools/depcomp
+depcomp = /bin/sh ../../../build/autotools/depcomp
 
 #This line is simply for configure to generate .deps/
 OBJS = update.o
 
 include ./.deps/includes
+include ../mod.mk
 
 doofus:
 	@echo ""
@@ -16,13 +17,6 @@ doofus:
 
 static: ../update.o
 
-../update.o:
-	@echo -e "Compiling: \033[1mupdate\033[0m"
-	source='update.c' object='$@' depfile='.deps/update.Po' tmpdepfile='.deps/update.TPo' depmode=$(CCDEPMODE) $(depcomp) \
-	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(srcdir)/update.c
-	@rm -f ../update.o
-	@mv update.o ../
-
 clean:
 	@rm -f .depend *.o *~
 

+ 10 - 44
src/stringfix.c

@@ -13,7 +13,7 @@
 #include "config.h"
 #endif
 
-#define WTF 52768
+#define WTF 1524
 int help = 0;
 
 void garble(char **inptr, char **outptr)
@@ -96,11 +96,10 @@ void garble(char **inptr, char **outptr)
   *inptr = in;
 }
 
-char *outbuf = NULL;
-
 void processline(char *line)
 {
   char tmpin[WTF] = "", tmpout[WTF] = "", *in = NULL, *out = NULL;
+  size_t outlen = 0;
 
   strcpy(tmpin, line); 
   memset((char *) &tmpin[strlen(tmpin)], 0, 20);
@@ -118,54 +117,21 @@ void processline(char *line)
     *out = 0;
   } else
     tmpout[0] = 0;
+  outlen = strlen(tmpout);
 
-  if (outbuf)
-    outbuf = (char *) realloc(outbuf, strlen(outbuf) + strlen(tmpout) + 10);
-  else {
-    outbuf = (char *) calloc(1, strlen(tmpout) + 10);
-  }
-  strcat(outbuf, tmpout);
-  strcat(outbuf, "\n");
+  fwrite(tmpout, outlen, 1, stdout);
 }
 
 int main(int argc, char *argv[])
 {
-  FILE *f = NULL;
-  char *ln = NULL, *nln = NULL, *buf = NULL;
-  size_t insize;
-
-  if (argc != 3 && argc != 4)
-    return 1;
-  if (argc == 4)
+  if (argc == 2)
     help = 1;
-  if (!(f = fopen(argv[1], "r")))
-    return 1;
-  fseek(f, 0, SEEK_END);
-  insize = ftell(f);
-  fseek(f, 0, SEEK_SET);
-  buf = (char *) calloc(1, insize + 1);
-  if (!fread(buf, 1, insize, f)) {
-    ;
-  }
-  fclose(f);
-  buf[insize] = 0;
-
-  ln = buf;
-  while (ln) {
-    nln = strchr(ln, '\n');
-    if (nln)
-      *nln++ = 0;
-    processline(ln);
-
-    ln = nln;
-  }
-
-  if ((f = fopen(argv[2], "w"))) {
-    if (!fwrite(outbuf, strlen(outbuf), 1, f)) {
-      ;
+  char tempBuf[1024] = "";
+  while (!feof(stdin)) {
+    if (fgets(tempBuf, sizeof(tempBuf), stdin) && !feof(stdin)) {
+      processline(tempBuf);
     }
-    fclose(f);
   }
-  /*  printf(outbuf); */
+
   return 0;
 }

Неке датотеке нису приказане због велике количине промена