This is an automated email from the git hooks/post-receive script. ecsv-guest pushed a commit to branch master in repository mupen64plus-video-z64.
commit 4e8de91e0ef79bb27ea65a0279ae04bbe7c2cdd9 Author: Sven Eckelmann <[email protected]> Date: Sat Jul 23 17:54:57 2011 +0200 Rewrite Makefile to fix flags and linking --- debian/changelog | 3 + debian/patches/default-optimisations.patch | 40 ----- debian/patches/rewrite_makefile.patch | 261 +++++++++++++++++++++++++++++ debian/patches/series | 2 +- 4 files changed, 265 insertions(+), 41 deletions(-) diff --git a/debian/changelog b/debian/changelog index 39e1d94..fb0744c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,9 @@ mupen64plus-video-z64 (1.99.4-3) UNRELEASED; urgency=low * Build against libglew1.6 * Mark all targets in debian/rules as phony + * debian/patches: + - Remove obsolete default-optimisations.patch + - Add rewrite_makefile.patch, Rewrite Makefile to fix flags and linking -- Sven Eckelmann <[email protected]> Sat, 25 Jun 2011 13:36:42 +0200 diff --git a/debian/patches/default-optimisations.patch b/debian/patches/default-optimisations.patch deleted file mode 100644 index c266953..0000000 --- a/debian/patches/default-optimisations.patch +++ /dev/null @@ -1,40 +0,0 @@ -Description: Don't override optimisations set by build environment -Forwarded: not-needed -Author: Sven Eckelmann <[email protected]> - ---- -diff --git a/projects/unix/Makefile b/projects/unix/Makefile -index 983c2655158bb4dfb954a97f7992bb09ae34d140..b7d824684c642c3e360e3efaba5c8fda316f7a46 100644 ---- a/projects/unix/Makefile -+++ b/projects/unix/Makefile -@@ -90,7 +90,7 @@ ifeq ("$(CPU)","NONE") - endif - - # base CFLAGS, LIBS, and LDFLAGS --CFLAGS += -Wall -ffast-math -funroll-loops -fexpensive-optimizations -fno-strict-aliasing -fvisibility=hidden -I../../src -+CFLAGS += -Wall -fno-strict-aliasing -fvisibility=hidden -I../../src - CXXFLAGS += -fvisibility-inlines-hidden - LDFLAGS += -ldl -lGLEW - -@@ -118,9 +118,9 @@ ifeq ($(OS), LINUX) - LDFLAGS += -Wl,-version-script,$(SRCDIR)/video_api_export.ver - ifeq ($(CPU), X86) - ifeq ($(ARCH_DETECTED), 64BITS) -- CFLAGS += -pipe -O3 -march=athlon64 -+ CFLAGS += -pipe - else -- CFLAGS += -pipe -O3 -mmmx -msse -march=i686 -mtune=pentium-m -fomit-frame-pointer -+ CFLAGS += -pipe -mmmx -msse -fomit-frame-pointer - endif - endif - endif -@@ -135,9 +135,6 @@ ifeq ($(OS), OSX) - endif - endif - endif --ifeq ($(CPU), PPC) -- CFLAGS += -mcpu=powerpc --endif - - # test for presence of SDL - ifeq ($(shell which sdl-config 2>/dev/null),) diff --git a/debian/patches/rewrite_makefile.patch b/debian/patches/rewrite_makefile.patch new file mode 100644 index 0000000..ec60942 --- /dev/null +++ b/debian/patches/rewrite_makefile.patch @@ -0,0 +1,261 @@ +Description: Rewrite Makefile to fix flags and linking +Author: Sven Eckelmann <[email protected]> + +--- +diff --git a/projects/unix/Makefile b/projects/unix/Makefile +index 983c2655158bb4dfb954a97f7992bb09ae34d140..b131376885f686b4ddd90d93b0cfacdb9c46def5 100644 +--- a/projects/unix/Makefile ++++ b/projects/unix/Makefile +@@ -50,6 +50,12 @@ ifeq ("$(UNAME)","FreeBSD") + SO_EXTENSION = so + SHARED = -shared + endif ++ifeq ("$(UNAME)","OpenBSD") ++ OS = FREEBSD ++ SO_EXTENSION = so ++ SHARED = -shared ++ $(warning OS type "$(UNAME)" not officially supported.') ++endif + ifneq ("$(filter GNU/kFreeBSD kfreebsd,$(UNAME))","") + OS = LINUX + SO_EXTENSION = so +@@ -89,73 +95,86 @@ ifeq ("$(CPU)","NONE") + $(error CPU type "$(HOST_CPU)" not supported. Please file bug report at 'http://code.google.com/p/mupen64plus/issues') + endif + +-# base CFLAGS, LIBS, and LDFLAGS +-CFLAGS += -Wall -ffast-math -funroll-loops -fexpensive-optimizations -fno-strict-aliasing -fvisibility=hidden -I../../src ++# base CFLAGS, LDLIBS, and LDFLAGS ++OPTFLAGS ?= -O3 ++CFLAGS += $(OPTFLAGS) -Wall -ffast-math -fno-strict-aliasing -fvisibility=hidden -I../../src + CXXFLAGS += -fvisibility-inlines-hidden +-LDFLAGS += -ldl -lGLEW ++LDFLAGS += $(SHARED) + + # Since we are building a shared library, we must compile with -fPIC for x86_64 CPUs. + # On 32-bit systems we do not want to use -fPIC because we don't have to and it has a big performance penalty on this arch + ifeq ($(ARCH_DETECTED), 64BITS) +- CFLAGS += -fpic -DPIC ++ PIC ?= 1 + endif ++ifeq ($(PIC), 1) ++ CFLAGS += -fPIC ++ LDFLAGS += -fPIC ++endif ++ + # tweak flags for 32-bit build on 64-bit system + ifeq ($(ARCH_DETECTED), 64BITS_32) + ifeq ($(OS), FREEBSD) + $(error Do not use the BITS=32 option with FreeBSD, use -m32 and -m elf_i386) + endif + CFLAGS += -m32 +- LDFLAGS += -m32 -m elf_i386 ++ LDFLAGS += -m32 -Wl,-m,elf_i386 + endif + + # set special flags per-system +-ifeq ($(OS),FREEBSD) +- LDFLAGS += -lGL +-endif + ifeq ($(OS), LINUX) +- LDFLAGS += -lGL + # only export api symbols + LDFLAGS += -Wl,-version-script,$(SRCDIR)/video_api_export.ver +- ifeq ($(CPU), X86) +- ifeq ($(ARCH_DETECTED), 64BITS) +- CFLAGS += -pipe -O3 -march=athlon64 +- else +- CFLAGS += -pipe -O3 -mmmx -msse -march=i686 -mtune=pentium-m -fomit-frame-pointer +- endif +- endif + endif + ifeq ($(OS), OSX) + ifeq ($(CPU), X86) + ifeq ($(ARCH_DETECTED), 64BITS) + CFLAGS += -pipe -O3 -arch x86_64 -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk + LDFLAGS += -bundle -framework OpenGL -arch x86_64 ++ LDLIBS += -ldl + else + CFLAGS += -pipe -O3 -mmmx -msse -fomit-frame-pointer -arch i686 -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk + LDFLAGS += -bundle -framework OpenGL -arch i686 ++ LDLIBS += -ldl + endif + endif + endif +-ifeq ($(CPU), PPC) +- CFLAGS += -mcpu=powerpc ++ifeq ($(OS), LINUX) ++ LDLIBS += -ldl + endif ++ifeq ($(OS), FREEBSD) ++ LDLIBS += -lc ++endif ++ ++# test for essential build dependencies ++ifeq ($(shell which pkg-config 2>/dev/null),) ++ $(error pkg-config not found) ++endif ++ifeq ($(shell pkg-config --modversion gl 2>/dev/null),) ++ $(error No OpenGL development libraries found!) ++endif ++ifeq ($(shell pkg-config --modversion glew 2>/dev/null),) ++ $(error No GLEW development libraries found!) ++endif ++CFLAGS += $(shell pkg-config --cflags gl glew) ++LDLIBS += $(shell pkg-config --libs gl glew) + + # test for presence of SDL + ifeq ($(shell which sdl-config 2>/dev/null),) + $(error No SDL development libraries found!) + endif + ifeq ($(OS),FREEBSD) +- CFLAGS += `${SDL_CONFIG} --cflags` +- LDFLAGS += `${SDL_CONFIG} --libs` ++ CFLAGS += $(shell sdl-config --cflags) ++ LDLIBS += $(shell sdl-config --libs) + endif + ifeq ($(OS),OSX) +- CFLAGS += $(shell sdl-config --cflags) -DPIC ++ CFLAGS += $(shell sdl-config --cflags) + # sdl-config on mac screws up when we're trying to build a library and not an executable + # SDL 1.3 is supposed to fix that, if it's ever released +- LDFLAGS += -L/usr/local/lib -lSDL -Wl,-framework,Cocoa ++ LDLIBS += -L/usr/local/lib -lSDL -Wl,-framework,Cocoa + endif + ifeq ($(OS),LINUX) + CFLAGS += $(shell sdl-config --cflags) +- LDFLAGS += $(shell sdl-config --libs) ++ LDLIBS += $(shell sdl-config --libs) + endif + + # set mupen64plus core API header path +@@ -180,20 +199,31 @@ else + endif + endif + +-# set shell function names +-CC ?= gcc +-CXX ?= g++ +-INSTALL ?= install +-ifeq ($(OS),OSX) +- STRIP ?= strip -x +-else +- STRIP ?= strip -s ++# reduced compile output when running make without V=1 ++ifneq ($(findstring $(MAKEFLAGS),s),s) ++ifndef V ++ Q_CC = @echo ' CC '$@; ++ Q_CXX = @echo ' CXX '$@; ++ Q_LD = @echo ' LD '$@; + endif ++endif ++ ++# set base program pointers and flags ++CC ?= gcc ++CXX ?= g++ ++RM ?= rm -f ++INSTALL ?= install ++MKDIR ?= mkdir -p ++COMPILE.c = $(Q_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c ++COMPILE.cc = $(Q_CXX)$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c ++LINK.o = $(Q_LD)$(CXX) $(LDFLAGS) $(TARGET_ARCH) + + # set special flags for given Makefile parameters + ifeq ($(DEBUG),1) + CFLAGS += -g +- STRIP = true # disable binary strip ++ INSTALL_STRIP_FLAG ?= ++else ++ INSTALL_STRIP_FLAG ?= -s + endif + + # set installation options +@@ -204,7 +234,10 @@ ifeq ($(SHAREDIR),) + SHAREDIR := $(PREFIX)/share/mupen64plus + endif + ifeq ($(LIBDIR),) +- LIBDIR := $(PREFIX)/lib/mupen64plus ++ LIBDIR := $(PREFIX)/lib ++endif ++ifeq ($(PLUGINDIR),) ++ PLUGINDIR := $(LIBDIR)/mupen64plus + endif + + SRCDIR = ../../src +@@ -229,7 +262,7 @@ SOURCE = \ + OBJECTS := $(patsubst $(SRCDIR)/%.c, $(OBJDIR)/%.o, $(filter %.c, $(SOURCE))) + OBJECTS += $(patsubst $(SRCDIR)/%.cpp, $(OBJDIR)/%.o, $(filter %.cpp, $(SOURCE))) + OBJDIRS = $(dir $(OBJECTS)) +-$(shell mkdir -p $(OBJDIRS)) ++$(shell $(MKDIR) $(OBJDIRS)) + + # build targets + TARGET = mupen64plus-video-z64.$(SO_EXTENSION) +@@ -245,10 +278,13 @@ targets: + @echo " Options:" + @echo " BITS=32 == build 32-bit binaries on 64-bit machine" + @echo " APIDIR=path == path to find Mupen64Plus Core headers" ++ @echo " OPTFLAGS=flag == compiler optimization (default: -O3)" ++ @echo " PIC=(1|0) == Force enable/disable of position independent code" + @echo " Install Options:" + @echo " PREFIX=path == install/uninstall prefix (default: /usr/local)" + @echo " SHAREDIR=path == path to install shared data files (default: PREFIX/share/mupen64plus)" +- @echo " LIBDIR=path == path to install plugin libraries (default: PREFIX/lib/mupen64plus)" ++ @echo " LIBDIR=path == library prefix (default: PREFIX/lib)" ++ @echo " PLUGINDIR=path == path to install plugin libraries (default: LIBDIR/mupen64plus)" + @echo " DESTDIR=path == path to prepend to all installation paths (only for packagers)" + @echo " Debugging Options:" + @echo " DEBUG=1 == add debugging symbols" +@@ -257,16 +293,15 @@ targets: + all: $(TARGET) + + install: $(TARGET) +- $(INSTALL) -d -v "$(DESTDIR)$(LIBDIR)" +- $(INSTALL) -m 0644 $(TARGET) "$(DESTDIR)$(LIBDIR)" +- $(INSTALL) -d -v "$(DESTDIR)$(SHAREDIR)" ++ $(INSTALL) -d "$(DESTDIR)$(PLUGINDIR)" ++ $(INSTALL) -m 0644 $(TARGET) $(INSTALL_STRIP_FLAG) "$(DESTDIR)$(PLUGINDIR)" ++ $(INSTALL) -d "$(DESTDIR)$(SHAREDIR)" + + uninstall: +- rm -f "$(DESTDIR)$(LIBDIR)/$(TARGET)" ++ $(RM) "$(DESTDIR)$(PLUGINDIR)/$(TARGET)" + + clean: +- rm -rf ./_obj/* $(TARGET) +- rmdir ./_obj ++ $(RM) -r ./_obj $(TARGET) + + rebuild: clean all + +@@ -276,22 +311,14 @@ CFLAGS += -MD + + CXXFLAGS += $(CFLAGS) + +-# reduced compile output when running make without V=1 +-ifneq ($(findstring $(MAKEFLAGS),s),s) +-ifndef V +- Q_CC = @echo ' CC '$@; +- Q_CXX = @echo ' CXX '$@; +- Q_LD = @echo ' LD '$@; +-endif +-endif +- +-# build rules +-$(TARGET): $(OBJECTS) +- $(Q_LD)$(CXX) $(SHARED) $^ $(LDFLAGS) -o $@ +- $(STRIP) $@ +- ++# standard build rules + $(OBJDIR)/%.o: $(SRCDIR)/%.c +- $(Q_CC)$(CC) -o $@ $(CFLAGS) -c $< ++ $(COMPILE.c) -o $@ $< + + $(OBJDIR)/%.o: $(SRCDIR)/%.cpp +- $(Q_CXX)$(CXX) -o $@ $(CXXFLAGS) -c $< ++ $(COMPILE.cc) -o $@ $< ++ ++$(TARGET): $(OBJECTS) ++ $(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@ ++ ++.PHONY: all clean install uninstall targets diff --git a/debian/patches/series b/debian/patches/series index 2eb2345..bc3dfe7 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,2 @@ -default-optimisations.patch +rewrite_makefile.patch printf_fixup.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/mupen64plus-video-z64.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

