Transparent linux-x86, linux-x86_64 build and autopackage-packaging with

new Linux-deps folder (ready for distro independent build) and 
updated Makefile, GNUmakefile and autopackage apspec files

Speech support with eSpeak compiled using PulseAudio instead of the default PortAudio.
(Smoother inter-distro speech execution when eSpeak does not use PortAudio)

Fixed oolite-update to include itself during updates

Fixed oolite wrapper-scripts not passing command line arguments to oolite executable

Updated Linux README.TXT, PLAYING.TXT files

Dependency libraries updates:
   gnustep-base-1.18 - VSync issue addressed (noticed on nVidia cards). Fixed the tearing issue enabling smooth video scrolling.
   SDL-1.2.14
   libpng14
   eSpeak-1.43.03 - Supports klat voices

Deleted Linux-x86-deps/
Deleted installers/autopackage/default.apspec



git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3233 127b21dd-08f5-0310-b4b7-95ae10353056
master
getafix 2010-04-28 09:37:38 +00:00
parent 85dd68422f
commit de60dba4e3
12 changed files with 48 additions and 146 deletions

View File

@ -43,7 +43,7 @@ oolite-deps
lib Shared libraries that support the game
If your platform does not yet have this dependencies directory, you can
model yours on the Linux-x86-deps directory. Most things will be the
model yours on the Linux-deps directory. Most things will be the
same. (The reason PLAYING.TXT is here is that it may vary slightly from
platform to platform).

View File

@ -4,7 +4,7 @@ Doc/OoliteReadMe.pdf
Doc/ReadMe.rtfd
Minor versions:
autopackage/default.apspec
installers/autopackage/default.x86.apspec
debian/changelog.in
src/Cocoa/Info-Oolite.plist
src/Cocoa/oolite-version.plist

View File

@ -19,6 +19,7 @@ vpath %.h src/SDL:src/Core:src/Core/Entities:src/Core/Materials:src/Core/Scripti
vpath %.c src/SDL:src/Core:src/BSDCompat:src/Core/Debug
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_USER_ROOT)
GNUSTEP_OBJ_DIR_BASENAME := $(GNUSTEP_OBJ_DIR_NAME)
HOST_ARCH := $(shell echo $(GNUSTEP_HOST_CPU) | sed -e s/i.86/i386/ -e s/amd64/x86_64/ )
ifeq ($(GNUSTEP_HOST_OS),mingw32)
ADDITIONAL_INCLUDE_DIRS = -Ideps/Windows-x86-deps/include -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug
ADDITIONAL_OBJC_LIBS = -lglu32 -lopengl32 -lpng14.dll -lmingw32 -lSDLmain -lSDL -lSDL_mixer -lgnustep-base -ljs32 -lwinmm -mwindows
@ -27,13 +28,23 @@ ifeq ($(GNUSTEP_HOST_OS),mingw32)
ADDITIONAL_OBJCFLAGS = -DLOADSAVEGUI -DWIN32 -DXP_WIN -Wno-import `sdl-config --cflags`
oolite_LIB_DIRS += -L/usr/local/lib -L$(GNUSTEP_LOCAL_ROOT)/lib -Ldeps/Windows-x86-deps/lib
else
ifeq ($(HOST_ARCH),x86_64)
LIBJS_SRC_DIR = deps/Cross-platform-deps/SpiderMonkey/js/src
LIBJS_BIN_DIR = $(LIBJS_SRC_DIR)/Linux_All_OPT.OBJ
ADDITIONAL_INCLUDE_DIRS = -I$(LIBJS_SRC_DIR) -I$(LIBJS_BIN_DIR) -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug
ADDITIONAL_OBJC_LIBS = -lpng $(LIBJS_BIN_DIR)/libjs.a -lGLU -lGL -lSDL -lSDL_mixer -lgnustep-base
ADDITIONAL_INCLUDE_DIRS = -I$(LIBJS_SRC_DIR) -I$(LIBJS_BIN_DIR) -Ideps/Linux-deps/include -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug
ADDITIONAL_OBJC_LIBS = -lpng14 $(LIBJS_BIN_DIR)/libjs.a -lGLU -lGL -lSDL -lSDL_mixer -lgnustep-base
ADDITIONAL_CFLAGS = -Wall -DLINUX -DNEED_STRLCPY `sdl-config --cflags`
ADDITIONAL_OBJCFLAGS = -Wall -std=c99 -DLOADSAVEGUI -DLINUX -DXP_UNIX -Wno-import `sdl-config --cflags`
oolite_LIB_DIRS += -L/usr/X11R6/lib/
oolite_LIB_DIRS += -L/usr/X11R6/lib/ -Ldeps/Linux-deps/x86_64/import -Ldeps/Linux-deps/x86_64/lib
else
LIBJS_SRC_DIR = deps/Cross-platform-deps/SpiderMonkey/js/src
LIBJS_BIN_DIR = $(LIBJS_SRC_DIR)/Linux_All_OPT.OBJ
ADDITIONAL_INCLUDE_DIRS = -I$(LIBJS_SRC_DIR) -I$(LIBJS_BIN_DIR) -Ideps/Linux-deps/include -Isrc/SDL -Isrc/Core -Isrc/BSDCompat -Isrc/Core/Scripting -Isrc/Core/Materials -Isrc/Core/Entities -Isrc/Core/OXPVerifier -Isrc/Core/Debug
ADDITIONAL_OBJC_LIBS = -lpng14 $(LIBJS_BIN_DIR)/libjs.a -lGLU -lGL -lSDL -lSDL_mixer -lgnustep-base
ADDITIONAL_CFLAGS = -Wall -DLINUX -DNEED_STRLCPY `sdl-config --cflags`
ADDITIONAL_OBJCFLAGS = -Wall -std=c99 -DLOADSAVEGUI -DLINUX -DXP_UNIX -Wno-import `sdl-config --cflags`
oolite_LIB_DIRS += -L/usr/X11R6/lib/ -Ldeps/Linux-deps/x86/import -Ldeps/Linux-deps/x86/lib
endif
endif
ifeq ($(libespeak),yes)
ADDITIONAL_OBJC_LIBS += -lespeak

View File

@ -23,29 +23,42 @@ ifeq ($(GNUSTEP_HOST_OS),mingw32)
LIBJS=deps/Windows-x86-deps/DLLs/js32.dll
endif
ifeq ($(GNUSTEP_HOST_OS),linux-gnu)
# Set up GNU make environment
GNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles
# These are the paths for our custom-built Javascript library
LIBJS_INC_DIR=$(LIBJS_SRC_DIR)
LIBJS_BIN_DIR=$(LIBJS_SRC_DIR)/Linux_All_OPT.OBJ
LIBJS=$(LIBJS_BIN_DIR)/libjs.a
# OBSOLETE - GNUstep environment should be setup in the environment/shell
# you use to build oolite and not hardcoded here.
#
# Set up GNU make environment
# GNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles
#
# These are the paths for our custom-built Javascript library
LIBJS_INC_DIR=$(LIBJS_SRC_DIR)
LIBJS_BIN_DIR=$(LIBJS_SRC_DIR)/Linux_All_OPT.OBJ
LIBJS=$(LIBJS_BIN_DIR)/libjs.a
endif
DEPS=$(LIBJS)
# define autopackage .apspec file according to the CPU architecture
HOST_ARCH := $(shell echo $(GNUSTEP_HOST_CPU) | sed -e s/i.86/i386/ -e s/amd64/x86_64/ )
ifeq ($(HOST_ARCH),x86_64)
APSPEC_FILE=installers/autopackage/default.x86_64.apspec
else
APSPEC_FILE=installers/autopackage/default.x86.apspec
endif
# Here are our default targets
#
.PHONY: release
release: $(DEPS)
make -f GNUmakefile debug=no
make -f GNUmakefile debug=no libespeak=yes
.PHONY: release-deployment
release-deployment: $(DEPS)
make -f GNUmakefile DEPLOYMENT_RELEASE_CONFIGURATION=yes debug=no
make -f GNUmakefile DEPLOYMENT_RELEASE_CONFIGURATION=yes debug=no libespeak=yes
.PHONY: release-snapshot
release-snapshot: $(DEPS)
make -f GNUmakefile SNAPSHOT_BUILD=yes VERSION_STRING=$(VER) debug=no
make -f GNUmakefile SNAPSHOT_BUILD=yes VERSION_STRING=$(VER) debug=no libespeak=yes
.PHONY: debug
debug: $(DEPS)
@ -78,7 +91,7 @@ remake: clean all
# Here are our linux autopackager targets
#
pkg-autopackage:
makepackage -c -m installers/autopackage/default.apspec
makepackage -c -m $(APSPEC_FILE)
# Here are our Debian packager targets
#
@ -135,6 +148,8 @@ pkg-win-snapshot: release-snapshot ${NSISVERSIONS}
help:
@echo "Use this Makefile to build Oolite:"
@echo " release - builds a release executable in oolite.app/oolite"
@echo " release-deployment - builds a release executable in oolite.app/oolite"
@echo " release-snapshot - builds a snapshot release in oolite.app/oolite"
@echo " debug - builds a debug executable in oolite.app/oolite.dbg"
@echo " all - builds the above two targets"
@echo " clean - removes all generated files"

View File

@ -26,7 +26,7 @@ debian Files to enable automatic setup under Linux using dpkg
(Debian package manager) tools
deps Dependencies for all plaforms:
Cocoa-deps Dependencies for Mac OS X (macppc and macintel platforms)
Linux-x86-deps Dependencies for Linux on x86 processors
Linux-deps Dependencies for Linux on x86 and x86_64 processors
scripts Scripts and script fragments for tarball/autopackage
Doc Documentation (including user guides)
FreeDesktop Files for GNOME/KDE desktop launchers

View File

@ -3,6 +3,6 @@ Doc/PORTING.TXT
Doc/README_LINUX.TXT
Doc/ReadMe.rtfd/TXT.rtf
oolite.*/Resources/README.TXT
deps/Linux-x86-deps/PLAYING.TXT
deps/Linux-deps/PLAYING.TXT
Doc/OoliteRS.pdf
Doc/contributors.txt

View File

@ -1,124 +0,0 @@
# -*-shell-script-*-
# Original by Dylan Smith <dyls@alioth.net>
#
# Konstantinos Sykas
# 2009-09-30: Updated to include DTDs and new documentation, and to perform a clean uninstall
# 2009-10-13: a. Support for x86_64 architecture packages
# b. Perform a clean build before producing the package
#
[Meta]
RootName: @oolite-linux.berlios.de/oolite:$SOFTWAREVERSION
DisplayName: Oolite for Linux
ShortName: oolite
Maintainer: Dylan Smith <dyls@alioth.net>
Packager: Konstantinos Sykas <ksykas@gmail.com>
Summary: Oolite is an Elite tribute game that is easily expandable.
URL: http://oolite.aegidian.org
License: GNU GPL version 2
SoftwareVersion: 1.74
AutopackageTarget: 1.4
# Use 'CPUArchitectures: x86_64' if 'uname -m' gives x86_64
CPUArchitectures: x86
PackageFileName: $SHORTNAME-$SOFTWAREVERSION.$CPUARCHITECTURES.package
# Only uncomment InterfaceVersion if your package exposes interfaces to other software,
# for instance if it includes DSOs or python/perl modules. See the developer guide for more info,
# or ask on autopackage-dev if you don't understand interface versioning in autopackage.
#
# InterfaceVersion: 0.0
[Description]
Oolite for Linux is an independent recreation and interpretation of the
classic space game Elite. Choose your side of the law. Choose your
profession. Above all, reach the Elite rating.
# we do the executable separately as this allows Autopackage to check
# the libc version. Note: autopackage doesn't seem to compress, that's
# why we are using tar files :/
[BuildPrepare]
make -f Makefile clean
make -f Makefile release
cp installers/FreeDesktop/oolite.desktop $build_root
cp installers/FreeDesktop/oolite-icon.png $build_root
cp Doc/AdviceForNewCommanders.pdf $build_root
cp Doc/OoliteReadMe.pdf $build_root
cp Doc/OoliteRS.pdf $build_root
cp Doc/CHANGELOG.TXT $build_root
tar zcf $build_root/oolite.app.tar oolite.app --exclude .svn
cd deps/Cross-platform-deps/
tar zcf $build_root/dtds.tar DTDs --exclude .svn
cd ../Linux-x86-deps
cp oolite.src $build_root
cp oolite-update.src $build_root
tar zcf $build_root/oolite.deps.tar * --exclude .svn
echo $SOFTWAREVERSION >$build_root/release.txt
#[BuildUnprepare]
#unprepareBuild
[Imports]
import <<EOF
AdviceForNewCommanders.pdf
OoliteReadMe.pdf
OoliteRS.pdf
CHANGELOG.TXT
oolite.src
oolite-update.src
dtds.tar
oolite.app.tar
oolite.deps.tar
oolite.desktop
oolite-icon.png
release.txt
EOF
[Prepare]
# Dependency checking
#require @whatever.you/need 1.0
[Install]
# Put your installation script here
outputStatus "Creating Oolite directory in $PREFIX/lib/Oolite"
mkdirs $PREFIX/lib/Oolite
mkdirs $PREFIX/lib/Oolite/AddOns
outputStatus "Unpacking and installing resources and dependencies"
tar zxf oolite.app.tar
copyFiles oolite.app $PREFIX/lib/Oolite
chmod +x $PREFIX/lib/Oolite/oolite.app/oolite
tar zxf oolite.deps.tar
copyFiles oolite-deps $PREFIX/lib/Oolite
tar zxf dtds.tar
copyFiles DTDs $PREFIX/lib/Oolite/oolite-deps/GNUstep/Library
outputStatus "Installing documentation"
mkdirs $PREFIX/lib/Oolite/doc
echo "This is the first time you've run the game. Here is the README file -" > README-PREAMBLE.TXT
echo "more docs can be found at $PREFIX/lib/Oolite/doc" >> README-PREAMBLE.TXT
echo "Press q to exit this document and launch the game" >> README-PREAMBLE.TXT
echo >> README-PREAMBLE.TXT
copyFiles README.TXT README-PREAMBLE.TXT $PREFIX/lib/Oolite/doc
copyFiles AdviceForNewCommanders.pdf OoliteReadMe.pdf OoliteRS.pdf CHANGELOG.TXT $PREFIX/lib/Oolite/doc
copyFile release.txt $PREFIX/lib/Oolite/release.txt
chmod a+rw $PREFIX/lib/Oolite/release.txt
echo "#!/bin/sh" > oolite
echo "OOLITE_ROOT=$PREFIX/lib" >> oolite
echo "TOPLEVEL=$OOLITE_ROOT/Oolite" >> oolite
cat oolite.src >> oolite
echo "#!/bin/sh" > oolite-update
echo "OOLITE_ROOT=$PREFIX/lib/" >> oolite-update
echo "TOPLEVEL=$OOLITE_ROOT/Oolite" >> oolite-update
cat oolite-update.src >> oolite-update
installExe oolite oolite-update
installIcon oolite-icon.png
installDesktop "Game" oolite.desktop
outputStatus "Complete"
[Uninstall]
# Usually just the following line is enough to uninstall everything
uninstallFromLog

View File

@ -15,7 +15,7 @@
OS=`uname`
CPU=`uname -m`
VERSION=`grep SoftwareVersion autopackage/default.apspec|cut -d ' ' -f 2`
VERSION=`grep SoftwareVersion installers/autopackage/default.x86.apspec|cut -d ' ' -f 2`
DESTINATION=$1
TREEROOT=`pwd`

View File

@ -1,5 +1,5 @@
#!/bin/sh
VERSION=`grep SoftwareVersion autopackage/default.apspec|cut -d ' ' -f 2`
VERSION=`grep SoftwareVersion installers/autopackage/default.x86.apspec|cut -d ' ' -f 2`
DESTINATION=`pwd`/TarballPackages
TREEROOT=`pwd`

View File

@ -1,7 +1,7 @@
#!/bin/sh
OS=`uname`
CPU=`uname -m`
VERSION=`grep SoftwareVersion autopackage/default.apspec|cut -d ' ' -f 2`
VERSION=`grep SoftwareVersion installers/autopackage/default.x86.apspec|cut -d ' ' -f 2`
DESTINATION=`pwd`/TarballPackages
TREEROOT=`pwd`

View File

@ -2,7 +2,7 @@
export SRC="/c/Program Files/Oolite"
export DST=$GNUSTEP_LOCAL_ROOT/oolite/tmp
export VER=`awk -- '/SoftwareVersion/ { print $2 }' autopackage/default.apspec`
export VER=`awk -- '/SoftwareVersion/ { print $2 }' installers/autopackage/default.x86.apspec`
echo building: $VER
if [ -d $DST ]; then

View File

@ -5,7 +5,7 @@ svn up
export SRC="/c/Program Files/Oolite"
export DST=$GNUSTEP_LOCAL_ROOT/oolite/tmp
export VER=`awk -- '/SoftwareVersion/ { print $2 }' autopackage/default.apspec`
export VER=`awk -- '/SoftwareVersion/ { print $2 }' installers/autopackage/default.x86.apspec`
export SVNREV=`svn info . | awk -- '/Revision:/ { print $2 }'`
echo building: $VER from svn revision $SVNREV