]> git.xonotic.org Git - xonotic/xonotic.git/commitdiff
Merge branch 'master' into divVerent/crypto2
authorRudolf Polzer <divverent@alientrap.org>
Fri, 15 Oct 2010 13:14:06 +0000 (15:14 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Fri, 15 Oct 2010 13:14:06 +0000 (15:14 +0200)
1  2 
all

diff --combined all
index 54452f88ba9292b44765cf479f141373fc48e6fb,c9d50d86573be92366b0d03fd1f04309a4bc53f9..158d5df145a155ac24456dbc161808557ebe6d76
--- 1/all
--- 2/all
+++ b/all
@@@ -6,6 -6,7 +6,7 @@@ set -
  # I use this in EVERY shell script ;)
  LF="
  "
+ ESC="\e"
  
  d00=`pwd`
  while ! [ -f ./all ]; do
@@@ -35,7 -36,7 +36,7 @@@ esa
  
  msg()
  {
-       echo >&2 "\e[1m$*\e[m"
+       echo >&2 "$ESC[1m$*$ESC[m"
  }
  
  self=`git hash-object "$SELF"`
@@@ -116,10 -117,9 +117,10 @@@ data/xonotic-nexcompat.pk3dir 
  darkplaces                    |                                                   | div0-stable | svn
  netradiant                    |                                                   | master      |
  div0-gittools                 |                                                   | master      | no
 +d0_blind_id                   | http://github.com/divVerent/d0_blind_id.git       | master      |
  data/xonotic-maps.pk3dir      |                                                   | master      |
  mediasource                   |                                                   | master      | no
- fteqcc                        | http://github.com/Blub/qclib.git                  | master      |
+ fteqcc                        | git://github.com/Blub/qclib.git                   | master      |
  "
  # todo: in darkplaces, change repobranch to div0-stable
  
@@@ -574,7 -574,6 +575,7 @@@ case "$cmd" i
                done
                ;;
        compile)
 +              cleand0=false
                cleandp=false
                cleanqcc=false
                cleanqc=false
                while :; do
                        case "$1" in
                                -c)
 +                                      cleand0=true
                                        cleandp=true
                                        cleanqcc=true
                                        cleanqc=true
                                        ;;
                                -r)
                                        debug=release
-                                       export CC="$CC -mtune=native -march=native"
+                                       export CC="$CC -g -mtune=native -march=native"
                                        shift
                                        ;;
                                *)
                        fi
                fi
  
 +              enter "$d0/d0_blind_id" verbose
 +              if ! [ -f Makefile ]; then
 +                      verbose sh autogen.sh
 +                      verbose ./configure
 +              fi
 +              if $cleand0; then
 +                      verbose make $MAKEFLAGS clean
 +              fi
 +              verbose make $MAKEFLAGS
 +
                enter "$d0/fteqcc" verbose
                if $cleanqcc; then
                        verbose make $MAKEFLAGS clean
                        verbose make $MAKEFLAGS clean
                fi
                for T in $TARGETS; do
-                       verbose make $MAKEFLAGS "$@" "$T"
+                       verbose make $MAKEFLAGS STRIP=: "$@" "$T"
                done
                for T in $BAD_TARGETS; do
                        echo "Warning: discarded invalid client $T."
        run)
                if [ -n "$WE_HATE_OUR_USERS" ]; then
                        client=
 -                      export PATH="$d0/misc/buildfiles/win32:$PATH"
 +                      export PATH="$d0/misc/buildfiles/win32:$d0/d0_blind_id/.libs:$PATH"
                elif [ x"`uname`" = x"Darwin" ]; then
 -                      export DYLD_LIBRARY_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/MacOS"
 +                      export DYLD_LIBRARY_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/MacOS:$d0/d0_blind_id/.libs"
                        export DYLD_FRAMEWORK_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks"
                        client=-sdl
                else
 +                      export LD_LIBRARY_PATH="$d0/d0_blind_id/.libs"
                        client=-sdl
                fi
                case "$1" in
                                msg "Building a RELEASE"
                                ;;
                        *)
-                               msg "Must either set RELEASETYPE=beta or RELEASETYPE=release"
+                               echo >&2 -n "$ESC[2J$ESC[H"
+                               msg ""
+                               msg ""
+                               msg ""
+                               msg ""
+                               msg ""
+                               msg ""
+                               msg "        +---------------------------------------------------------.---+"
+                               msg "        | NOTE                                                    | X |"
+                               msg "        +---------------------------------------------------------^---+"
+                               msg "        |   ____                                                      |"
+                               msg "        |  /    \  This is the official release build system.         |"
+                               msg "        | |      | If you are not a member of the Xonotic Core Team,  |"
+                               msg "        | | STOP | you are not supposed to use this script and should |"
+                               msg "        | |      | instead use ./all compile to compile the engine    |"
+                               msg "        |  \____/  and game code.                                     |"
+                               msg "        |                                                             |"
+                               msg "        |                      [ I understand ]                       |"
+                               msg "        +-------------------------------------------------------------+"
+                               sleep 10
+                               # A LOT of build infrastructure is required:
+                               # - vorbis-tools
+                               # - ImageMagick
+                               # - .ssh/config must be configured so the following
+                               #   host names are reachable and have a compile
+                               #   infrastructure set up:
+                               #   - xonotic-build-linux32 (with gcc on x86)
+                               #   - xonotic-build-linux64 (with gcc on x86_64)
+                               #   - xonotic-build-win32 (with i586-mingw32msvc-g++)
+                               #   - xonotic-build-win64 (with amd64-mingw32msvc-g++
+                               #     and x86_64-w64-mingw32-g++)
+                               #   - xonotic-build-osx (with Xcode and SDL.framework)
+                               # - AMD Compressonator installed in WINE
+                               # - ResEdit installed in WINE
+                               # - a lot of other requirements you will figure out
+                               #   while reading the error messages
+                               # - environment variable RELEASETYPE set
+                               # - optionally, environment variable RELEASEDATE set
+                               #   (YYYYMMDD)
                                exit 1
                                ;;
                esac
                else
                        verbose date +%Y%m%d > Xonotic/stamp.txt
                fi
 -              verbose git archive --format=tar HEAD -- Docs misc server xonotic-linux-glx.sh xonotic-linux-sdl.sh misc/buildfiles | {
 +              verbose git archive --format=tar HEAD -- Docs misc server xonotic-linux-glx.sh xonotic-linux-sdl.sh misc/buildfiles key_0.d0pk | {
                        verbose cd Xonotic
                        verbose mkdir data fteqcc source source/darkplaces source/fteqcc
                        verbose tar xvf -
                        verbose mv misc/buildfiles/win64 bin64 || true
                        verbose mv misc/buildfiles/osx/* . || true
                        verbose rm -rf misc/buildfiles
 +                      verbose rm -rf misc/pki
                }
                {
                        verbose cd darkplaces
                        verbose cd Xonotic/source
                        verbose tar xvf -
                }
 +              rm -f Xonotic/key_15.d0pk
                ;;
        release-compile-run)
                host=$1
                ;;
        release-engine-linux32)
                verbose "$SELF" release-compile linux32 \
 -                      'STRIP=: CC="gcc -m32 -march=i686 -g -I.deps/include -L.deps/lib -DSUPPORTIPV6" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a' \
 +                      'STRIP=: CC="gcc -m32 -march=i686 -g -I.deps/include -L.deps/lib -DSUPPORTIPV6" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a DP_CRYPTO_STATIC_LIBDIR=.deps/lib' \
                        all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.linux32' \
                        release 'darkplaces-glx:Xonotic/xonotic-linux32-glx darkplaces-sdl:Xonotic/xonotic-linux32-sdl darkplaces-dedicated:Xonotic/xonotic-linux32-dedicated'
                ;;
        release-engine-linux64)
                verbose "$SELF" release-compile linux64 \
 -                      'STRIP=: CC="gcc -m64 -g -I.deps/include -L.deps/lib -DSUPPORTIPV6" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a' \
 +                      'STRIP=: CC="gcc -m64 -g -I.deps/include -L.deps/lib -DSUPPORTIPV6" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a DP_CRYPTO_STATIC_LIBDIR=.deps/lib' \
                        all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.linux64' \
                        release 'darkplaces-glx:Xonotic/xonotic-linux64-glx darkplaces-sdl:Xonotic/xonotic-linux64-sdl darkplaces-dedicated:Xonotic/xonotic-linux64-dedicated'
                ;;
                stamp=`cat Xonotic/stamp.txt`
                # exe and dll files do not need +x, so this makes them eligible for 7zip compression too
                chmod a-x Xonotic/*.exe Xonotic/*.dll || true
 -              # need to use infozip for these (+x bits)
 +              # let's pass crypto import laws of some nasty countries
 +              crypto_libs=`find Xonotic -name \*d0_rijndael\*`
 +              if [ -n "$crypto_libs" ]; then
 +                      verbose mkzip Xonotic-$stamp-crypto.zip \
 +                              $crypto_libs
 +                      rm -f $crypto_libs
 +              fi
 +              # build the archives
                verbose mkzip Xonotic-$stamp-engine.zip \
                        Xonotic/*.dll \
                        Xonotic/bin64/*.dll \
                        Xonotic/misc \
                        Xonotic/fteqcc \
                        Xonotic/server \
 +                      Xonotic/key_0.d0pk \
                        Xonotic/data/font-nimbussansl-$stamp.pk3
                verbose cp Xonotic-$stamp-common.zip Xonotic-$stamp.zip
                verbose mkzip0 Xonotic-$stamp.zip \