You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/games-fps/warsow/files/warsow-0.62-build.patch

505 lines
13 KiB

From: Julian Ospald <hasufell@gentoo.org>
Date: Fri May 11 11:57:40 UTC 2012
Subject: fix build system
source/Makefile:
a) respect flags/linker
b) don't take ARCH from env (we set BASE_ARCH in the ebuild)
c) split LDFLAGS and LDFLAGS_COMMON as per bug
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347650
d) don't remove angel-lib (compilation fails, why is this?)
e) make output verbose
f) remove start-scripts
source/matchmaker/Makefile:
respect flags/linker
libsrcs/angelscript/angelSVN/sdk/angelscript/projects/gnuc/makefile:
a) add -fno-strict-aliasing
see https://bugs.gentoo.org/show_bug.cgi?id=285448
b) correct CXX
--- source/Makefile
+++ source/Makefile
@@ -48,9 +48,9 @@
else
CC?=gcc
CXX?=g++
-LD=gcc
-AR=ar
-RANLIB=ranlib
+LD=$(CC)
+AR?=ar
+RANLIB=?ranlib
# this nice line comes from the linux kernel makefile
BASE_ARCH:=$(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc/ -e s/sparc64/sparc/ -e s/arm.*/arm/ -e s/sa110/arm/ -e s/alpha/axp/)
@@ -59,7 +59,7 @@
ifeq ($(OS),FreeBSD)
ARCH?=freebsd_$(BASE_ARCH)
else
-ARCH?=$(BASE_ARCH)
+ARCH=$(BASE_ARCH)
endif
SHARED_LIBRARY_EXTENSION=so
@@ -69,7 +69,7 @@
ifeq ($(DEBUG_BUILD), YES)
BINDIR=debug
-CFLAGS_DEBUG=-O0 -ggdb -D_DEBUG
+CFLAGS_DEBUG=-D_DEBUG
else
BINDIR=release
endif
@@ -166,9 +166,9 @@
LOCALBASE?=/usr/local
X11BASE?=/usr/X11R6
-CFLAGS_COMMON=$(CFLAGS) -pipe -I. -I$(LOCALBASE)/include -I$(X11BASE)/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wall -Wno-unused-function
-CFLAGS_RELEASE=-O2 -fno-strict-aliasing -ffast-math -funroll-loops -DNDEBUG
-CFLAGS_DEBUG=-O0 -ggdb -D_DEBUG
+CFLAGS_COMMON=$(CFLAGS) -I. -I$(LOCALBASE)/include -I$(X11BASE)/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wall -Wno-unused-function
+CFLAGS_RELEASE=-fno-strict-aliasing -DNDEBUG
+CFLAGS_DEBUG=-D_DEBUG
ifeq ($(DEBUG_BUILD),YES)
CFLAGS_COMMON+=$(CFLAGS_DEBUG)
else
@@ -180,14 +180,14 @@
CFLAGS_MODULE=-DPIC -fPIC
CFLAGS_TV_SERVER=-DDEDICATED_ONLY -DTV_SERVER_ONLY -DC_ONLY -DTV_MODULE_HARD_LINKED
-LDFLAGS_COMMON=$(LDFLAGS)
+LDFLAGS_COMMON=
ifeq ($(OS),FreeBSD)
LDFLAGS_COMMON+= -L/usr/local/lib -lm -pthread
else
-LDFLAGS_COMMON+= -L/usr/local/lib -ldl -lm -Wl -O1 --as-needed
+LDFLAGS_COMMON+= -ldl -lm
endif
ifneq ($(DEBUG_BUILD),YES)
-LDFLAGS_COMMON+= -s
+LDFLAGS_COMMON+=
endif
ifeq ($(ARCH),x86_64)
@@ -203,7 +203,7 @@
# openal
ifeq ($(BUILD_SND_OPENAL),YES)
-OPENAL_CONFIG?=pkg-config openal
+OPENAL_CONFIG?=$(shell pkg-config openal)
CFLAGS_OPENAL=$(shell $(OPENAL_CONFIG) --cflags)
LDFLAGS_OPENAL=-lvorbisfile
@@ -252,12 +252,9 @@
######################################################################################################
# Helper functions
######################################################################################################
-DO_CC=echo " > Compiling $<" && \
- $(CC) $(CFLAGS_COMMON) -c $< -o $@
-DO_CXX=echo " > Compiling (c++) $<" && \
- $(CXX) $(CFLAGS_COMMON) $(CXXFLAGS_COMMON) -c $< -o $@
-DO_RES=echo " > Compiling resource $<" && \
- $(RES) $(RESFLAGS_COMMON) -i $< -o $@
+DO_CC=$(CC) $(CFLAGS_COMMON) -c $< -o $@
+DO_CXX=$(CXX) $(CFLAGS_COMMON) $(CXXFLAGS_COMMON) -c $< -o $@
+DO_RES=$(RES) $(RESFLAGS_COMMON) -i $< -o $@
DO_CC_CLIENT=$(DO_CC) $(CFLAGS_CLIENT)
DO_CC_DED=$(DO_CC) $(CFLAGS_DED)
@@ -477,16 +474,16 @@
all: client openal qf ded cgame game ui irc angelwrap tv_server
-client: $(BUILDDIRS) message-client compile-client link-client start-script-client
+client: $(BUILDDIRS) message-client compile-client link-client
openal: $(BUILDDIRS) message-openal compile-openal link-openal
qf: $(BUILDDIRS) message-qf compile-qf link-qf
-ded: $(BUILDDIRS) message-ded compile-ded link-ded start-script-ded
+ded: $(BUILDDIRS) message-ded compile-ded link-ded
cgame: $(BUILDDIRS) message-cgame compile-cgame link-cgame
game: $(BUILDDIRS) message-game compile-game link-game
ui: $(BUILDDIRS) message-ui compile-ui link-ui
irc: $(BUILDDIRS) message-irc compile-irc link-irc
angelwrap: $(BUILDDIRS) message-angelwrap compile-angelwrap link-angelwrap
-tv_server: $(BUILDDIRS) message-tv_server compile-tv_server link-tv_server start-script-tv_server
+tv_server: $(BUILDDIRS) message-tv_server compile-tv_server link-tv_server
clean: clean-msg clean-depend clean-client clean-openal clean-qf clean-ded clean-cgame clean-game clean-ui clean-irc clean-angelwrap clean-tv_server
@@ -604,7 +601,6 @@
@echo "> *********************************************************"
@echo "> * Building angelwrap"
@echo "> *********************************************************"
- -@rm $(ANGELSCRIPT_LIB)
$(ANGELSCRIPT_INC)/angelscript.h:
@echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
@echo "!!!"
@@ -650,64 +646,53 @@
# DED
########
$(BINDIR)/$(SERVER_EXE): $(OBJS_DED)
- @echo " > Linking $@" && \
- $(LD) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_DED)
+ $(LD) $(LDFLAGS) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_DED)
#########
# CLIENT
#########
ifeq ($(OS),Darwin)
$(BINDIR)/$(CLIENT_EXE): $(OBJS_CLIENT)
- @echo " > Linking $@" && \
- $(LD) -o $@ $(OBJS_CLIENT) mac/SDLMain.m $(LDFLAGS_COMMON) $(LDFLAGS_CLIENT)
+ $(LD) $(LDFLAGS) -o $@ $(OBJS_CLIENT) mac/SDLMain.m $(LDFLAGS_COMMON) $(LDFLAGS_CLIENT)
else
$(BINDIR)/$(CLIENT_EXE): $(OBJS_CLIENT)
- @echo " > Linking $@" && \
- $(LD) -o $@ $(OBJS_CLIENT) $(LDFLAGS_COMMON) $(LDFLAGS_CLIENT)
+ $(LD) $(LDFLAGS) -o $@ $(OBJS_CLIENT) $(LDFLAGS_COMMON) $(LDFLAGS_CLIENT)
endif
#########
# OPENAL
#########
$(BINDIR)/libs/snd_openal_$(ARCH).$(SHARED_LIBRARY_EXTENSION): $(OBJS_OPENAL)
- @echo " > Linking $@" && \
- $(LD) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(LDFLAGS_OPENAL) $(DEF_SND_OPENAL)
+ $(LD) $(LDFLAGS) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(LDFLAGS_OPENAL) $(DEF_SND_OPENAL)
#########
# QF
#########
$(BINDIR)/libs/snd_qf_$(ARCH).$(SHARED_LIBRARY_EXTENSION): $(OBJS_QF)
- @echo " > Linking $@" && \
- $(LD) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(LDFLAGS_QF) $(DEF_SND_QF)
+ $(LD) $(LDFLAGS) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(LDFLAGS_QF) $(DEF_SND_QF)
########
# .SO
########
$(BINDIR)/basewsw/cgame_$(ARCH).$(SHARED_LIBRARY_EXTENSION): $(OBJS_CGAME)
- @echo " > Linking $@" && \
- $(LD) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(DEF_CGAME)
+ $(LD) $(LDFLAGS) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(DEF_CGAME)
$(BINDIR)/basewsw/game_$(ARCH).$(SHARED_LIBRARY_EXTENSION): $(OBJS_GAME)
- @echo " > Linking $@" && \
- $(LD) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(DEF_GAME)
+ $(LD) $(LDFLAGS) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(DEF_GAME)
$(BINDIR)/basewsw/ui_$(ARCH).$(SHARED_LIBRARY_EXTENSION): $(OBJS_UI)
- @echo " > Linking $@" && \
- $(LD) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(DEF_UI)
+ $(LD) $(LDFLAGS) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(DEF_UI)
$(BINDIR)/libs/irc_$(ARCH).$(SHARED_LIBRARY_EXTENSION): $(OBJS_IRC)
- @echo " > Linking $@" && \
- $(LD) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(DEF_IRC)
+ $(LD) $(LDFLAGS) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(DEF_IRC)
$(BINDIR)/libs/angelwrap_$(ARCH).$(SHARED_LIBRARY_EXTENSION): $(OBJS_ANGELWRAP)
- @echo " > Linking $@" && \
- $(CXX) -o $@ $^ $(LDFLAGS_ANGELWRAP) $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(DEF_ANGELWRAP)
+ $(CXX) $(LDFLAGS) -o $@ $^ $(LDFLAGS_ANGELWRAP) $(LDFLAGS_COMMON) $(LDFLAGS_MODULE) $(DEF_ANGELWRAP)
########
# TV
########
$(BINDIR)/$(TV_SERVER_EXE): $(OBJS_TV_SERVER)
- @echo " > Linking $@" && \
- $(LD) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_TV_SERVER)
+ $(LD) $(LDFLAGS) -o $@ $^ $(LDFLAGS_COMMON) $(LDFLAGS_TV_SERVER)
######################################################################################################
# Meta Rules
@@ -719,49 +704,48 @@
# CLIENT
########
$(BUILDDIR)/client/%.o: qcommon/%.c
- @$(DO_CC_CLIENT)
+ $(DO_CC_CLIENT)
$(BUILDDIR)/client/%.o: server/%.c
- @$(DO_CC_CLIENT)
+ $(DO_CC_CLIENT)
$(BUILDDIR)/client/%.o: client/%.c
- @$(DO_CC_CLIENT)
+ $(DO_CC_CLIENT)
$(BUILDDIR)/client/%.o: ref_gl/%.c
- @$(DO_CC_CLIENT)
+ $(DO_CC_CLIENT)
$(BUILDDIR)/client/%.o: null/%.c
- @$(DO_CC_CLIENT)
+ $(DO_CC_CLIENT)
$(BUILDDIR)/client/%.o: matchmaker/%.c
- @$(DO_CC_CLIENT)
+ $(DO_CC_CLIENT)
ifeq ($(USE_MINGW),YES)
$(BUILDDIR)/client/%.o: win32/%.c
- @$(DO_CC_CLIENT)
+ $(DO_CC_CLIENT)
$(BUILDDIR)/client/%.o: win32/%.rc
- @$(DO_RES_CLIENT)
+ $(DO_RES_CLIENT)
else
ifeq ($(OS),Darwin)
$(BUILDDIR)/client/%.o: mac/%.c
- @$(DO_CC_CLIENT)
+ $(DO_CC_CLIENT)
$(BUILDDIR)/client/%.o: unix/%.c
- @$(DO_CC_CLIENT)
+ $(DO_CC_CLIENT)
else
$(BUILDDIR)/client/%.o: unix/%.c
- @$(DO_CC_CLIENT)
+ $(DO_CC_CLIENT)
endif
endif
$(BUILDDIR)/client/%.o: game/%.c
- @$(DO_CC_CLIENT)
+ $(DO_CC_CLIENT)
$(BUILDDIR)/client/%.o: gameshared/%.c
- @$(DO_CC_DED)
+ $(DO_CC_DED)
$(BINDIR)/warsow: unix/start_script.sh
- @echo " > Installing client start script" && \
cp $< $@ && \
chmod a+x $@
@@ -769,60 +753,59 @@
# OPENAL
########
$(BUILDDIR)/openal/%.o: snd_openal/%.c
- @$(DO_CC_MODULE) $(CFLAGS_OPENAL)
+ $(DO_CC_MODULE) $(CFLAGS_OPENAL)
$(BUILDDIR)/openal/%.o: gameshared/%.c
- @$(DO_CC_MODULE)
+ $(DO_CC_MODULE)
########
# QF
########
$(BUILDDIR)/qf/%.o: snd_qf/%.c
- @$(DO_CC_MODULE) $(CFLAGS_QF)
+ $(DO_CC_MODULE) $(CFLAGS_QF)
ifeq ($(USE_MINGW),YES)
$(BUILDDIR)/qf/win_snd.o: win32/win_snd.c
- @$(DO_CC_MODULE) $(CFLAGS_DSOUND)
+ $(DO_CC_MODULE) $(CFLAGS_DSOUND)
else
$(BUILDDIR)/qf/unix_snd.o: unix/unix_snd.c
- @$(DO_CC_MODULE) $(CFLAGS_SDL)
+ $(DO_CC_MODULE) $(CFLAGS_SDL)
endif
$(BUILDDIR)/qf/%.o: gameshared/%.c
- @$(DO_CC_MODULE)
+ $(DO_CC_MODULE)
########
# DED
########
$(BUILDDIR)/ded/%.o: qcommon/%.c
- @$(DO_CC_DED)
+ $(DO_CC_DED)
$(BUILDDIR)/ded/%.o: server/%.c
- @$(DO_CC_DED)
+ $(DO_CC_DED)
ifeq ($(USE_MINGW),YES)
$(BUILDDIR)/ded/%.o: win32/%.c
- @$(DO_CC_DED)
+ $(DO_CC_DED)
else
$(BUILDDIR)/ded/%.o: unix/%.c
- @$(DO_CC_DED)
+ $(DO_CC_DED)
endif
$(BUILDDIR)/ded/%.o: null/%.c
- @$(DO_CC_DED)
+ $(DO_CC_DED)
$(BUILDDIR)/ded/%.o: game/%.c
- @$(DO_CC_DED)
+ $(DO_CC_DED)
$(BUILDDIR)/ded/%.o: gameshared/%.c
- @$(DO_CC_DED)
+ $(DO_CC_DED)
$(BUILDDIR)/ded/%.o: matchmaker/%.c
- @$(DO_CC_DED)
+ $(DO_CC_DED)
$(BINDIR)/wsw_server: unix/start_script.sh
- @echo " > Installing dedicated server start script" && \
cp $< $@ && \
chmod a+x $@
@@ -830,91 +813,90 @@
# CGAME
########
$(BUILDDIR)/cgame/%.o: cgame/%.c
- @$(DO_CC_MODULE)
+ $(DO_CC_MODULE)
$(BUILDDIR)/cgame/%.o: gameshared/%.c
- @$(DO_CC_MODULE)
+ $(DO_CC_MODULE)
########
# GAME
########
$(BUILDDIR)/game/%.o: game/%.c
- @$(DO_CC_MODULE)
+ $(DO_CC_MODULE)
$(BUILDDIR)/game/%.o: game/ai/%.c
- @$(DO_CC_MODULE)
+ $(DO_CC_MODULE)
$(BUILDDIR)/game/%.o: gameshared/%.c
- @$(DO_CC_MODULE)
+ $(DO_CC_MODULE)
########
# UI
########
$(BUILDDIR)/ui/%.o: gameshared/%.c
- @$(DO_CC_MODULE)
+ $(DO_CC_MODULE)
$(BUILDDIR)/ui/%.o: ui.old/%.c
- @$(DO_CC_MODULE)
+ $(DO_CC_MODULE)
$(BUILDDIR)/ui/%.o: ui.old/%.cpp
- @$(DO_CXX_MODULE)
+ $(DO_CXX_MODULE)
$(BUILDDIR)/ui/%.o: matchmaker/%.c
- @$(DO_CC_MODULE)
+ $(DO_CC_MODULE)
########
# IRC
########
$(BUILDDIR)/irc/%.o: gameshared/%.c
- @$(DO_CC_MODULE)
+ $(DO_CC_MODULE)
$(BUILDDIR)/irc/%.o: irc/%.c
- @$(DO_CC_MODULE)
+ $(DO_CC_MODULE)
########
# ANGELWRAP
########
$(BUILDDIR)/angelwrap/%.o: gameshared/%.c
- @$(DO_CC_MODULE) $(CFLAGS_ANGELWRAP)
+ $(DO_CC_MODULE) $(CFLAGS_ANGELWRAP)
$(BUILDDIR)/angelwrap/%.o: angelwrap/%.c
- @$(DO_CC_MODULE) $(CFLAGS_ANGELWRAP)
+ $(DO_CC_MODULE) $(CFLAGS_ANGELWRAP)
$(BUILDDIR)/angelwrap/%.o: angelwrap/%.cpp
- @$(DO_CXX_MODULE) $(CFLAGS_ANGELWRAP)
+ $(DO_CXX_MODULE) $(CFLAGS_ANGELWRAP)
########
# TV SERVER
########
$(BUILDDIR)/tv_server/%.o: qcommon/%.c
- @$(DO_CC_TV_SERVER)
+ $(DO_CC_TV_SERVER)
$(BUILDDIR)/tv_server/%.o: client/%.c
- @$(DO_CC_TV_SERVER)
+ $(DO_CC_TV_SERVER)
$(BUILDDIR)/tv_server/%.o: tv_server/tv_module/%.c
- @$(DO_CC_TV_SERVER)
+ $(DO_CC_TV_SERVER)
$(BUILDDIR)/tv_server/%.o: tv_server/%.c
- @$(DO_CC_TV_SERVER)
+ $(DO_CC_TV_SERVER)
ifeq ($(USE_MINGW),YES)
$(BUILDDIR)/tv_server/%.o: win32/%.c
- @$(DO_CC_TV_SERVER)
+ $(DO_CC_TV_SERVER)
else
$(BUILDDIR)/tv_server/%.o: unix/%.c
- @$(DO_CC_TV_SERVER)
+ $(DO_CC_TV_SERVER)
endif
$(BUILDDIR)/tv_server/%.o: null/%.c
- @$(DO_CC_TV_SERVER)
+ $(DO_CC_TV_SERVER)
$(BUILDDIR)/tv_server/%.o: gameshared/%.c
- @$(DO_CC_TV_SERVER)
+ $(DO_CC_TV_SERVER)
$(BINDIR)/wswtv_server: unix/start_script.sh
- @echo " > Installing TV server start script" && \
cp $< $@ && \
chmod a+x $@
--- source/matchmaker/Makefile
+++ source/matchmaker/Makefile
@@ -9,7 +9,7 @@
DEBUG_BUILD?=YES
CC?=gcc
-LD=gcc
+LD=$(CC)
RM?=rm
BUILDDIR=build$(ARCH)
@@ -26,9 +26,9 @@
CFLAGS_MM=$(CFLAGS) -pipe -I. -I$(LOCALBASE)/include -I$(X11BASE)/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wall
ifeq ($(DEBUG_BUILD),YES)
-CFLAGS_MM += -O0 -ggdb -D_DEBUG
+CFLAGS_MM += -D_DEBUG
else
-CFLAGS_MM += -O2 -fno-strict-aliasing -ffast-math -funroll-loops -DNDEBUG
+CFLAGS_MM += -fno-strict-aliasing -DNDEBUG
endif
CFLAGS_MM+=-DDEDICATED_ONLY -DMATCHMAKER -DC_ONLY
--- libsrcs/angelscript/angelSVN/sdk/angelscript/projects/gnuc/makefile
+++ libsrcs/angelscript/angelSVN/sdk/angelscript/projects/gnuc/makefile
@@ -12,10 +12,10 @@
INCDIR = ../../include
OBJDIR = obj
-CXX ?= gcc
+CXX ?= g++
AR ?= ar
RANLIB ?= ranlib
-CXXFLAGS_AS = $(CXXFLAGS) -g -Wall -fPIC
+CXXFLAGS_AS = $(CXXFLAGS) -Wall -fPIC -fno-strict-aliasing
DELETER = rm -f
COPIER = cp