]> git.pond.sub.org Git - empserver/commitdiff
A sandbox system to automate the building of the source tree and
authorMarc Olzheim <marcolz@stack.nl>
Tue, 23 Mar 2004 16:32:45 +0000 (16:32 +0000)
committerMarc Olzheim <marcolz@stack.nl>
Tue, 23 Mar 2004 16:32:45 +0000 (16:32 +0000)
reporting differences in compiler output with the output of the
previous build.

26 files changed:
src/scripts/nightly/boxes/.cvsignore [new file with mode: 0644]
src/scripts/nightly/common.sh [new file with mode: 0644]
src/scripts/nightly/conf/freebsd.amd64.config [new file with mode: 0644]
src/scripts/nightly/conf/freebsd.i386.config [new file with mode: 0644]
src/scripts/nightly/conf/interix.pc.config [new file with mode: 0644]
src/scripts/nightly/conf/solaris.sparcv7.cc.config [new file with mode: 0644]
src/scripts/nightly/conf/solaris.sparcv7.gcc.config [new file with mode: 0644]
src/scripts/nightly/conf/solaris.sparcv9.cc.config [new file with mode: 0644]
src/scripts/nightly/conf/solaris.sparcv9.gcc.config [new file with mode: 0644]
src/scripts/nightly/cron/cron.freebsd.amd64 [new file with mode: 0755]
src/scripts/nightly/cron/cron.freebsd.i386 [new file with mode: 0755]
src/scripts/nightly/cron/cron.solaris.sparcv7.cc [new file with mode: 0755]
src/scripts/nightly/cron/cron.solaris.sparcv7.gcc [new file with mode: 0755]
src/scripts/nightly/cron/cron.solaris.sparcv9.cc [new file with mode: 0755]
src/scripts/nightly/cron/cron.solaris.sparcv9.gcc [new file with mode: 0755]
src/scripts/nightly/diff_to_prev.sh [new file with mode: 0755]
src/scripts/nightly/logs/.cvsignore [new file with mode: 0644]
src/scripts/nightly/nightlybuild.sh [new file with mode: 0755]
src/scripts/nightly/patches/solaris.sparcv7.cc/build.conf.patch [new file with mode: 0644]
src/scripts/nightly/patches/solaris.sparcv7.gcc/Make.sysdefs.patch [new file with mode: 0644]
src/scripts/nightly/patches/solaris.sparcv7.gcc/build.conf.patch [new file with mode: 0644]
src/scripts/nightly/patches/solaris.sparcv9.cc/Make.sysdefs.patch [new file with mode: 0644]
src/scripts/nightly/patches/solaris.sparcv9.cc/build.conf.patch [new file with mode: 0644]
src/scripts/nightly/patches/solaris.sparcv9.gcc/Make.sysdefs.patch [new file with mode: 0644]
src/scripts/nightly/patches/solaris.sparcv9.gcc/build.conf.patch [new file with mode: 0644]
src/scripts/nightly/report.sh [new file with mode: 0755]

diff --git a/src/scripts/nightly/boxes/.cvsignore b/src/scripts/nightly/boxes/.cvsignore
new file mode 100644 (file)
index 0000000..72e8ffc
--- /dev/null
@@ -0,0 +1 @@
+*
diff --git a/src/scripts/nightly/common.sh b/src/scripts/nightly/common.sh
new file mode 100644 (file)
index 0000000..1cf57c4
--- /dev/null
@@ -0,0 +1,15 @@
+#
+# Common functions
+#
+# $Id$$Source$
+#
+# Blame it on marcolz
+#
+err() {
+       echo "ERROR: $@" >&2
+       exit 1
+}
+
+warn() {
+       echo "WARNING: $@" >&2
+}
diff --git a/src/scripts/nightly/conf/freebsd.amd64.config b/src/scripts/nightly/conf/freebsd.amd64.config
new file mode 100644 (file)
index 0000000..c6c50e9
--- /dev/null
@@ -0,0 +1,8 @@
+SCRIPTDIR=/home/marcolz/src/empire/nightlybuild
+BOXDIR=boxes
+LOGDIR=logs
+SFLOGIN=marcolz
+EMPLOGIN=marcolz
+EMPTARGET=freebsd
+ARCH=amd64
+LOCALPATCHDIR=
diff --git a/src/scripts/nightly/conf/freebsd.i386.config b/src/scripts/nightly/conf/freebsd.i386.config
new file mode 100644 (file)
index 0000000..56217f6
--- /dev/null
@@ -0,0 +1,8 @@
+SCRIPTDIR=/home/marcolz/src/empire/nightlybuild
+BOXDIR=boxes
+LOGDIR=logs
+SFLOGIN=marcolz
+EMPLOGIN=marcolz
+EMPTARGET=freebsd
+ARCH=i386
+LOCALPATCHDIR=
diff --git a/src/scripts/nightly/conf/interix.pc.config b/src/scripts/nightly/conf/interix.pc.config
new file mode 100644 (file)
index 0000000..9b743ae
--- /dev/null
@@ -0,0 +1,8 @@
+SCRIPTDIR=/usr/local/src/empire/nightlybuild
+BOXDIR=boxes
+LOGDIR=logs
+SFLOGIN=marcolz
+EMPLOGIN=marcolz
+EMPTARGET=interix
+ARCH=pc
+LOCALPATCHDIR=
diff --git a/src/scripts/nightly/conf/solaris.sparcv7.cc.config b/src/scripts/nightly/conf/solaris.sparcv7.cc.config
new file mode 100644 (file)
index 0000000..75d25c6
--- /dev/null
@@ -0,0 +1,10 @@
+SCRIPTDIR=/home/marcolz/src/empire/nightlybuild
+BOXDIR=boxes
+LOGDIR=logs
+SFLOGIN=marcolz
+EMPLOGIN=marcolz
+EMPTARGET=solaris
+ARCH=sparcv7
+EXTRASUFFIX=cc
+LOCALPATCHDIR=patches/solaris.sparcv7.cc
+PATH="/opt/SUNWspro/bin:${PATH}"
diff --git a/src/scripts/nightly/conf/solaris.sparcv7.gcc.config b/src/scripts/nightly/conf/solaris.sparcv7.gcc.config
new file mode 100644 (file)
index 0000000..4485512
--- /dev/null
@@ -0,0 +1,9 @@
+SCRIPTDIR=/home/marcolz/src/empire/nightlybuild
+BOXDIR=boxes
+LOGDIR=logs
+SFLOGIN=marcolz
+EMPLOGIN=marcolz
+EMPTARGET=solaris
+ARCH=sparcv7
+EXTRASUFFIX=gcc
+LOCALPATCHDIR=patches/solaris.sparcv7.gcc
diff --git a/src/scripts/nightly/conf/solaris.sparcv9.cc.config b/src/scripts/nightly/conf/solaris.sparcv9.cc.config
new file mode 100644 (file)
index 0000000..2585fd6
--- /dev/null
@@ -0,0 +1,10 @@
+SCRIPTDIR=/home/marcolz/src/empire/nightlybuild
+BOXDIR=boxes
+LOGDIR=logs
+SFLOGIN=marcolz
+EMPLOGIN=marcolz
+EMPTARGET=solaris
+ARCH=sparcv9
+EXTRASUFFIX=cc
+LOCALPATCHDIR=patches/solaris.sparcv9.cc
+PATH="/opt/SUNWspro/bin:${PATH}"
diff --git a/src/scripts/nightly/conf/solaris.sparcv9.gcc.config b/src/scripts/nightly/conf/solaris.sparcv9.gcc.config
new file mode 100644 (file)
index 0000000..d95b107
--- /dev/null
@@ -0,0 +1,9 @@
+SCRIPTDIR=/home/marcolz/src/empire/nightlybuild
+BOXDIR=boxes
+LOGDIR=logs
+SFLOGIN=marcolz
+EMPLOGIN=marcolz
+EMPTARGET=solaris
+ARCH=sparcv9
+EXTRASUFFIX=gcc
+LOCALPATCHDIR=patches/solaris.sparcv9.gcc
diff --git a/src/scripts/nightly/cron/cron.freebsd.amd64 b/src/scripts/nightly/cron/cron.freebsd.amd64
new file mode 100755 (executable)
index 0000000..7df78c8
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+cd /home/marcolz/src/empire/nightlybuild/
+./nightlybuild.sh conf/freebsd.amd64.config
+./report.sh conf/freebsd.amd64.config | mutt -s 'empserver freebsd.amd64' empserver-devel@lists.sourceforge.net
diff --git a/src/scripts/nightly/cron/cron.freebsd.i386 b/src/scripts/nightly/cron/cron.freebsd.i386
new file mode 100755 (executable)
index 0000000..14bed18
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+cd /home/marcolz/src/empire/nightlybuild/
+./nightlybuild.sh conf/freebsd.i386.config
+./report.sh conf/freebsd.i386.config | mutt -s 'empserver freebsd.i386' empserver-devel@lists.sourceforge.net
diff --git a/src/scripts/nightly/cron/cron.solaris.sparcv7.cc b/src/scripts/nightly/cron/cron.solaris.sparcv7.cc
new file mode 100755 (executable)
index 0000000..7019306
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+cd /home/marcolz/src/empire/nightlybuild/
+ksh ./nightlybuild.sh conf/solaris.sparcv7.cc.config
+ksh ./report.sh conf/solaris.sparcv7.cc.config | mutt -s 'empserver solaris.sparcv7.cc' empserver-devel@lists.sourceforge.net
diff --git a/src/scripts/nightly/cron/cron.solaris.sparcv7.gcc b/src/scripts/nightly/cron/cron.solaris.sparcv7.gcc
new file mode 100755 (executable)
index 0000000..036d117
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+cd /home/marcolz/src/empire/nightlybuild/
+ksh ./nightlybuild.sh conf/solaris.sparcv7.gcc.config
+ksh ./report.sh conf/solaris.sparcv7.gcc.config | mutt -s 'empserver solaris.sparcv7.gcc' empserver-devel@lists.sourceforge.net
diff --git a/src/scripts/nightly/cron/cron.solaris.sparcv9.cc b/src/scripts/nightly/cron/cron.solaris.sparcv9.cc
new file mode 100755 (executable)
index 0000000..a2fc313
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+cd /home/marcolz/src/empire/nightlybuild/
+ksh ./nightlybuild.sh conf/solaris.sparcv9.cc.config
+ksh ./report.sh conf/solaris.sparcv9.cc.config | mutt -s 'empserver solaris.sparcv9.cc' empserver-devel@lists.sourceforge.net
diff --git a/src/scripts/nightly/cron/cron.solaris.sparcv9.gcc b/src/scripts/nightly/cron/cron.solaris.sparcv9.gcc
new file mode 100755 (executable)
index 0000000..a06b88d
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+cd /home/marcolz/src/empire/nightlybuild/
+ksh ./nightlybuild.sh conf/solaris.sparcv9.gcc.config
+ksh ./report.sh conf/solaris.sparcv9.gcc.config | mutt -s 'empserver solaris.sparcv9.gcc' empserver-devel@lists.sourceforge.net
diff --git a/src/scripts/nightly/diff_to_prev.sh b/src/scripts/nightly/diff_to_prev.sh
new file mode 100755 (executable)
index 0000000..d6d5f75
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+# $Id$$Source$
+#
+# Check differences between the last two logs
+#
+# Blame it on marcolz
+#
+
+PROGNAME="$0"
+
+usage() {
+       echo "Usage: ${PROGNAME} <configfile>" >&2;
+       exit 1;
+}
+
+[ $# -lt 1 ] && usage
+
+[ -f "$1" ] || usage
+
+# Source config file
+case "$1"
+in
+       */*)
+               . "$1"
+               ;;
+       *)
+               . ./"$1"
+               ;;
+esac
+
+[ -f "${SCRIPTDIR}/common.sh" ] || { echo "Broken config ?" >&2; exit 1; }
+. "${SCRIPTDIR}"/common.sh
+
+cd "${LOGDIR}" || err "Could not cd to ${LOGDIR}"
+
+diff -u $(ls "${EMPTARGET}.${ARCH}."* | tail -2)
diff --git a/src/scripts/nightly/logs/.cvsignore b/src/scripts/nightly/logs/.cvsignore
new file mode 100644 (file)
index 0000000..72e8ffc
--- /dev/null
@@ -0,0 +1 @@
+*
diff --git a/src/scripts/nightly/nightlybuild.sh b/src/scripts/nightly/nightlybuild.sh
new file mode 100755 (executable)
index 0000000..36e5550
--- /dev/null
@@ -0,0 +1,175 @@
+#!/bin/sh
+#
+# $Id$$Source$
+#
+#
+# Blame it on marcolz
+#
+
+# For some reason, solaris sh exits as soon as both stderr and stdout
+# are redirected to file at the exec, so if we run on solaris, use ksh
+# for this script.
+#
+INTERPRETER="$_"
+
+case "$INTERPRETER"
+in
+       */ksh|ksh)
+               ;;
+       *)
+               if  [ "`uname`" = "SunOS" ]
+               then
+                       exec ksh "$0" "$@"
+               fi
+       ;;
+esac
+
+PROGNAME="$0"
+CVS_RSH=ssh
+export CVS_RSH
+
+usage() {
+       echo "Usage: ${PROGNAME} <configfile>" >&2;
+       exit 1;
+}
+
+[ $# -lt 1 ] && usage
+
+[ -f "$1" ] || usage
+
+# Source config file
+case "$1"
+in
+       */*)
+               . "$1"
+               ;;
+       *)
+               . ./"$1"
+               ;;
+esac
+
+[ -f "${SCRIPTDIR}/common.sh" ] || { echo "Broken config ?" >&2; exit 1; }
+. "${SCRIPTDIR}"/common.sh
+
+
+STAMP="`date +%Y%m%d%H%M%S`"
+WORKDIR="${EMPTARGET}.${ARCH}"
+[ -n "${EXTRASUFFIX}" ] && WORKDIR="${WORKDIR}.${EXTRASUFFIX}"
+LOGFILE="${LOGDIR}/${WORKDIR}.${STAMP}"
+
+# Log everything
+exec > "${LOGFILE}"
+exec 2>&1
+
+case "${BOXDIR}"
+in
+       /*)
+               ;;
+       *)
+               BOXDIR="${SCRIPTDIR}/${BOXDIR}"
+               ;;
+esac
+
+cd "${BOXDIR}" || err "Could not chdir to ${BOXDIR}"
+
+echo "Nightly build starting at `date`"
+
+
+# Make sandbox
+
+mkdir "${WORKDIR}" || warn "Could not create ${BOXDIR}/${WORKDIR}"
+cd "${WORKDIR}" || err "Could not cd to ${BOXDIR}/${WORKDIR}"
+
+echo "Getting source from CVS:"
+# Extract source
+RETR=0
+while ! cvs -z3 -d:ext:"${SFLOGIN}"@cvs.sourceforge.net:/cvsroot/empserver co empserver >/dev/null
+do
+       sleep "`expr 5 + ${RETR}`"
+       RETR="`expr 1 + ${RETR}`"
+       [ "${RETR}" -gt 100 ] && err "CVS Timeout after ${RETR} retres."
+done
+echo "Done (CVS)."
+echo ""
+
+# Run local patches ${LOCALPATCHDIR}/*.patch
+case "${LOCALPATCHDIR}"
+in
+       /*)
+               ;;
+       *)
+               LOCALPATCHDIR="${SCRIPTDIR}/${LOCALPATCHDIR}"
+               ;;
+esac
+
+if [ -n "${LOCALPATCHDIR}" -a -d "${LOCALPATCHDIR}/." ]
+then
+       echo "Applying local patches from ${LOCALPATCHDIR}:"
+       for i in "${LOCALPATCHDIR}"/*.patch
+       do
+               if patch -Np0 < "${i}" >/dev/null
+               then
+                       echo "${i}: OK"
+               else
+                       echo "========== ${i}: NOT OK! ${?} =========="
+               fi
+       done
+       echo "Done (patch)."
+       echo ""
+fi
+
+cd empserver || err "Could not cd to ${BOXDIR}/${WORKDIR}/empserver."
+
+# Prep build.conf
+echo "Preparing build.conf"
+sed    -e "s,^USERNAME = .*$,USERNAME = ${EMPLOGIN}," \
+       -e "s,^HOSTNAME = .*$,HOSTNAME = localhost," \
+       -e "s,^IPADDR = .*$,IPADDR = 127.0.0.1," \
+       -e "s,^EMPDIR = .*$,EMPDIR = ${BOXDIR}/${WORKDIR}/emp4," \
+       < build.conf > build.conf.new && \
+       mv build.conf.new build.conf || \
+       err "Could not prep build.conf"
+echo "Done (build.conf)."
+echo ""
+
+# TODO: this should be fixed another way...
+echo "Generating empty Makedepends."
+touch src/client/Makedepend src/doconfig/Makedepend src/lib/as/Makedepend src/lib/commands/Makedepend src/lib/common/Makedepend src/lib/empthread/Makedepend src/lib/gen/Makedepend src/lib/global/Makedepend src/lib/lwp/Makedepend src/lib/player/Makedepend src/lib/subs/Makedepend src/lib/update/Makedepend src/server/Makedepend src/util/Makedepend || err "Could tot touch Makedepends"
+echo "Done (touch)."
+echo ""
+
+# Start the build
+echo "Building server"
+if make "${EMPTARGET}" >/dev/null
+then
+       warn "make did not return 0."
+fi
+echo "Done (make)."
+echo ""
+
+# Try to run startup utilities
+if [ -d ../emp4 -a -d ../emp4/bin -a -d ../emp4/data ]
+then
+       cd ../emp4/bin || err "Could not cd to ../emp4/bin"
+       echo "Determining type of files in bindir"
+       file *
+       echo "Done (file *)."
+       echo ""
+       echo "Running files and fairland"
+       echo y | ./files || warn "Error running files"
+       ./fairland 10 30 >/dev/null || warn "Error running fairland"
+       echo "Done (files & fairland)."
+       echo ""
+fi
+
+# Clean sandbox
+echo "Cleaning sandbox"
+cd "${BOXDIR}" || err "Could not cd back to sanbox root !"
+rm -r "${WORKDIR}" || warn "Directory ${WORKDIR} could not be cleanly removed !"
+rm -rf "${WORKDIR}" || warn "Directory ${WORKDIR} could not be forcibly removed !"
+[ -d "${WORKDIR}/." ] && warn "Directory ${WORKDIR} still present"
+echo "Done (cleaning)."
+
+echo "Nightly build finished at `date`"
+
+exit 0
diff --git a/src/scripts/nightly/patches/solaris.sparcv7.cc/build.conf.patch b/src/scripts/nightly/patches/solaris.sparcv7.cc/build.conf.patch
new file mode 100644 (file)
index 0000000..5dd144f
--- /dev/null
@@ -0,0 +1,12 @@
+Index: empserver/build.conf
+--- empserver/build.conf       Thu Feb 12 17:50:48 2004
++++ empserver/build.conf       Sat Mar  6 14:45:21 2004
+@@ -40,7 +40,7 @@
+ # Please enter the C-compiler you are using (full path is allowed):
+ # (For NT builds using MSVC, use "CC = CL")
+-CC = gcc
++CC = cc
+ # Please enter the linker you are using (full path is allowed):
+ # (For NT builds using MSVC, using "LD = ld" works fine.)
diff --git a/src/scripts/nightly/patches/solaris.sparcv7.gcc/Make.sysdefs.patch b/src/scripts/nightly/patches/solaris.sparcv7.gcc/Make.sysdefs.patch
new file mode 100644 (file)
index 0000000..d093b00
--- /dev/null
@@ -0,0 +1,12 @@
+Index: empserver/Make.sysdefs
+--- empserver/Make.sysdefs     Sat Mar  6 13:50:20 2004
++++ empserver/Make.sysdefs     Sat Mar  6 13:50:02 2004
+@@ -96,7 +96,7 @@
+ RTPCLFLAGS = 
+ RTPCMASTER = GLOBALCFLAGS="$(RTPCCFLAGS)" GLOBALLFLAGS="$(RTPCLFLAGS)"
+-SOLCFLAGS = -g -DSVR4 -DRel4 -DUCONTEXT -DPOSIXSIGNALS -Dsolaris
++SOLCFLAGS = -g -DSVR4 -DRel4 -DUCONTEXT -DPOSIXSIGNALS -Dsolaris $(GCCWARNFLAGS) -Wno-char-subscripts
+ SOLLFLAGS = -lnsl -lsocket -lthread
+ SOLMASTER = GLOBALCFLAGS="$(SOLCFLAGS)" GLOBALLFLAGS="$(SOLLFLAGS)"
diff --git a/src/scripts/nightly/patches/solaris.sparcv7.gcc/build.conf.patch b/src/scripts/nightly/patches/solaris.sparcv7.gcc/build.conf.patch
new file mode 100644 (file)
index 0000000..b84bc89
--- /dev/null
@@ -0,0 +1,12 @@
+Index: empserver/build.conf
+--- empserver/build.conf       Thu Feb 12 17:50:48 2004
++++ empserver/build.conf       Sat Mar  6 15:36:39 2004
+@@ -44,7 +44,7 @@
+ # Please enter the linker you are using (full path is allowed):
+ # (For NT builds using MSVC, using "LD = ld" works fine.)
+-LD = ld
++LD = gcc
+ # Please enter the maximum number of countries you want:
+ MAXNOC = 99
diff --git a/src/scripts/nightly/patches/solaris.sparcv9.cc/Make.sysdefs.patch b/src/scripts/nightly/patches/solaris.sparcv9.cc/Make.sysdefs.patch
new file mode 100644 (file)
index 0000000..9905d8b
--- /dev/null
@@ -0,0 +1,14 @@
+Index: empserver/Make.sysdefs
+--- empserver/Make.sysdefs     Sat Mar  6 13:50:20 2004
++++ empserver/Make.sysdefs     Sat Mar  6 14:53:03 2004
+@@ -96,8 +96,8 @@
+ RTPCLFLAGS = 
+ RTPCMASTER = GLOBALCFLAGS="$(RTPCCFLAGS)" GLOBALLFLAGS="$(RTPCLFLAGS)"
+-SOLCFLAGS = -g -DSVR4 -DRel4 -DUCONTEXT -DPOSIXSIGNALS -Dsolaris
+-SOLLFLAGS = -lnsl -lsocket -lthread
++SOLCFLAGS = -g -DSVR4 -DRel4 -DUCONTEXT -DPOSIXSIGNALS -Dsolaris -xarch=v9
++SOLLFLAGS = -lnsl -lsocket -lthread -xarch=v9
+ SOLMASTER = GLOBALCFLAGS="$(SOLCFLAGS)" GLOBALLFLAGS="$(SOLLFLAGS)"
+ SEQCFLAGS =   -O -DALLYHARBOR -DSHOWPLANE -DDROPANY -DREJECTS -DBMAP -DAUTONAV -DSCUTTLE -DCONVASAT -DORBIT -DABM -DGRIND -DPINPOINTMISSILE -DFALLOUT -DSAIL -DLOWSTARTMOB -DFIXREALMS -DBUYTAX -DNUKEFAILDETONATE -DMISSINGMISSILES
diff --git a/src/scripts/nightly/patches/solaris.sparcv9.cc/build.conf.patch b/src/scripts/nightly/patches/solaris.sparcv9.cc/build.conf.patch
new file mode 100644 (file)
index 0000000..5dd144f
--- /dev/null
@@ -0,0 +1,12 @@
+Index: empserver/build.conf
+--- empserver/build.conf       Thu Feb 12 17:50:48 2004
++++ empserver/build.conf       Sat Mar  6 14:45:21 2004
+@@ -40,7 +40,7 @@
+ # Please enter the C-compiler you are using (full path is allowed):
+ # (For NT builds using MSVC, use "CC = CL")
+-CC = gcc
++CC = cc
+ # Please enter the linker you are using (full path is allowed):
+ # (For NT builds using MSVC, using "LD = ld" works fine.)
diff --git a/src/scripts/nightly/patches/solaris.sparcv9.gcc/Make.sysdefs.patch b/src/scripts/nightly/patches/solaris.sparcv9.gcc/Make.sysdefs.patch
new file mode 100644 (file)
index 0000000..a18df66
--- /dev/null
@@ -0,0 +1,14 @@
+Index: empserver/Make.sysdefs
+--- empserver/Make.sysdefs     Sat Mar  6 13:50:20 2004
++++ empserver/Make.sysdefs     Sat Mar  6 13:52:31 2004
+@@ -96,8 +96,8 @@
+ RTPCLFLAGS = 
+ RTPCMASTER = GLOBALCFLAGS="$(RTPCCFLAGS)" GLOBALLFLAGS="$(RTPCLFLAGS)"
+-SOLCFLAGS = -g -DSVR4 -DRel4 -DUCONTEXT -DPOSIXSIGNALS -Dsolaris
+-SOLLFLAGS = -lnsl -lsocket -lthread
++SOLCFLAGS = -g -DSVR4 -DRel4 -DUCONTEXT -DPOSIXSIGNALS -Dsolaris $(GCCWARNFLAGS) -m64 -Wno-char-subscripts
++SOLLFLAGS = -lnsl -lsocket -lthread -m64
+ SOLMASTER = GLOBALCFLAGS="$(SOLCFLAGS)" GLOBALLFLAGS="$(SOLLFLAGS)"
+ SEQCFLAGS =   -O -DALLYHARBOR -DSHOWPLANE -DDROPANY -DREJECTS -DBMAP -DAUTONAV -DSCUTTLE -DCONVASAT -DORBIT -DABM -DGRIND -DPINPOINTMISSILE -DFALLOUT -DSAIL -DLOWSTARTMOB -DFIXREALMS -DBUYTAX -DNUKEFAILDETONATE -DMISSINGMISSILES
diff --git a/src/scripts/nightly/patches/solaris.sparcv9.gcc/build.conf.patch b/src/scripts/nightly/patches/solaris.sparcv9.gcc/build.conf.patch
new file mode 100644 (file)
index 0000000..b84bc89
--- /dev/null
@@ -0,0 +1,12 @@
+Index: empserver/build.conf
+--- empserver/build.conf       Thu Feb 12 17:50:48 2004
++++ empserver/build.conf       Sat Mar  6 15:36:39 2004
+@@ -44,7 +44,7 @@
+ # Please enter the linker you are using (full path is allowed):
+ # (For NT builds using MSVC, using "LD = ld" works fine.)
+-LD = ld
++LD = gcc
+ # Please enter the maximum number of countries you want:
+ MAXNOC = 99
diff --git a/src/scripts/nightly/report.sh b/src/scripts/nightly/report.sh
new file mode 100755 (executable)
index 0000000..b5dfe22
--- /dev/null
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# $Id$$Source$
+#
+# Generate report from the last two build logs
+#
+# Blame it on marcolz
+#
+
+INTERPRETER="$_"
+
+case "$INTERPRETER"
+in
+       */ksh|ksh)
+               ;;
+       *)
+               if  [ "`uname`" = "SunOS" ]
+               then
+                       exec ksh "$0" "$@"
+               fi
+       ;;
+esac
+
+PROGNAME="$0"
+
+usage() {
+       echo "Usage: ${PROGNAME} <configfile>" >&2;
+       exit 1;
+}
+
+[ $# -lt 1 ] && usage
+
+[ -f "$1" ] || usage
+
+# Source config file
+case "$1"
+in
+       */*)
+               . "$1"
+               ;;
+       *)
+               . ./"$1"
+               ;;
+esac
+
+[ -f "${SCRIPTDIR}/common.sh" ] || { echo "Broken config ?" >&2; exit 1; }
+. "${SCRIPTDIR}"/common.sh
+
+cd "${LOGDIR}" || err "Could not cd to ${LOGDIR}"
+
+BUILDTYPE="${EMPTARGET}.${ARCH}"
+[ -n "${EXTRASUFFIX}" ] && BUILDTYPE="${BUILDTYPE}.${EXTRASUFFIX}"
+
+echo "This was generated using: ${0} ${1}"
+echo ""
+echo "Sections: <diff> <full>"
+echo ""
+echo "Environment:"
+echo "uname -a: $(uname -a)"
+echo "gcc -v: $(gcc -v 2>&1)"
+echo ""
+echo "========================================="
+echo "===== Differences since last build: ====="
+echo "========================================="
+echo ""
+diff -u `ls "${BUILDTYPE}."* | tail -2`
+echo ""
+
+echo "========================================="
+echo "================ Full log: =============="
+echo "========================================="
+echo ""
+cat `ls "${BUILDTYPE}."* | tail -1`