Won't build on openSUSE 13.1 unless new glew is linked to the games prj. - Require qlew >= 1.10 as per upstream readme - Unbundle wiiuse too: * supertuxkart-no-undefined.patch * supertuxkart-unbundle-wiiuse.patch - Update to use %cmake macro and obey no-undefined/etc rules we have in SUSE - Apply patches to unbundle various broken things: * supertuxkart-irrlicht.patch * supertuxkart-no-undefined.patch * supertuxkart-system-enet-glew.patch OBS-URL: https://build.opensuse.org/request/show/307346 OBS-URL: https://build.opensuse.org/package/show/games/supertuxkart?expand=0&rev=62
109 lines
6.8 KiB
Diff
109 lines
6.8 KiB
Diff
unbundle Irrlicht dependencies
|
|
and respect CFLAGS
|
|
|
|
Index: lib/irrlicht/source/Irrlicht/Makefile
|
|
===================================================================
|
|
--- lib/irrlicht/source/Irrlicht/Makefile.orig
|
|
+++ lib/irrlicht/source/Irrlicht/Makefile
|
|
@@ -46,11 +46,7 @@ IRRSWRENDEROBJ = CSoftwareDriver.o CSoft
|
|
IRRIOOBJ = CFileList.o CFileSystem.o CLimitReadFile.o CMemoryFile.o CReadFile.o CWriteFile.o CXMLReader.o CXMLWriter.o CWADReader.o CZipReader.o CPakReader.o CNPKReader.o CTarReader.o CMountPointReader.o irrXML.o CAttributes.o lzma/LzmaDec.o
|
|
IRROTHEROBJ = CIrrDeviceSDL.o CIrrDeviceLinux.o CIrrDeviceConsole.o CIrrDeviceStub.o CIrrDeviceWin32.o CIrrDeviceFB.o CLogger.o COSOperator.o Irrlicht.o os.o
|
|
IRRGUIOBJ = CGUIButton.o CGUICheckBox.o CGUIComboBox.o CGUIContextMenu.o CGUIEditBox.o CGUIEnvironment.o CGUIFileOpenDialog.o CGUIFont.o CGUIImage.o CGUIInOutFader.o CGUIListBox.o CGUIMenu.o CGUIMeshViewer.o CGUIMessageBox.o CGUIModalScreen.o CGUIScrollBar.o CGUISpinBox.o CGUISkin.o CGUIStaticText.o CGUITabControl.o CGUITable.o CGUIToolBar.o CGUIWindow.o CGUIColorSelectDialog.o CDefaultGUIElementFactory.o CGUISpriteBank.o CGUIImageList.o CGUITreeView.o
|
|
-ZLIBOBJ = zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o
|
|
-JPEGLIBOBJ = jpeglib/jcapimin.o jpeglib/jcapistd.o jpeglib/jccoefct.o jpeglib/jccolor.o jpeglib/jcdctmgr.o jpeglib/jchuff.o jpeglib/jcinit.o jpeglib/jcmainct.o jpeglib/jcmarker.o jpeglib/jcmaster.o jpeglib/jcomapi.o jpeglib/jcparam.o jpeglib/jcprepct.o jpeglib/jcsample.o jpeglib/jctrans.o jpeglib/jdapimin.o jpeglib/jdapistd.o jpeglib/jdatadst.o jpeglib/jdatasrc.o jpeglib/jdcoefct.o jpeglib/jdcolor.o jpeglib/jddctmgr.o jpeglib/jdhuff.o jpeglib/jdinput.o jpeglib/jdmainct.o jpeglib/jdmarker.o jpeglib/jdmaster.o jpeglib/jdmerge.o jpeglib/jdpostct.o jpeglib/jdsample.o jpeglib/jdtrans.o jpeglib/jerror.o jpeglib/jfdctflt.o jpeglib/jfdctfst.o jpeglib/jfdctint.o jpeglib/jidctflt.o jpeglib/jidctfst.o jpeglib/jidctint.o jpeglib/jmemmgr.o jpeglib/jmemnobs.o jpeglib/jquant1.o jpeglib/jquant2.o jpeglib/jutils.o jpeglib/jcarith.o jpeglib/jdarith.o jpeglib/jaricom.o
|
|
-LIBPNGOBJ = libpng/png.o libpng/pngerror.o libpng/pngget.o libpng/pngmem.o libpng/pngpread.o libpng/pngread.o libpng/pngrio.o libpng/pngrtran.o libpng/pngrutil.o libpng/pngset.o libpng/pngtrans.o libpng/pngwio.o libpng/pngwrite.o libpng/pngwtran.o libpng/pngwutil.o
|
|
LIBAESGM = aesGladman/aescrypt.o aesGladman/aeskey.o aesGladman/aestab.o aesGladman/fileenc.o aesGladman/hmac.o aesGladman/prng.o aesGladman/pwd2key.o aesGladman/sha1.o aesGladman/sha2.o
|
|
-BZIP2OBJ = bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o bzip2/bzcompress.o bzip2/decompress.o bzip2/bzlib.o
|
|
|
|
# Next variable is for additional scene nodes etc. of customized Irrlicht versions
|
|
EXTRAOBJ =
|
|
@@ -61,18 +57,16 @@ LINKOBJ = $(IRRMESHOBJ) $(IRROBJ) $(IRRP
|
|
|
|
###############
|
|
#Compiler flags
|
|
-CXXINCS = -I../../include -Izlib -Ijpeglib -Ilibpng
|
|
+CXXINCS = -I../../include
|
|
CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1
|
|
-CXXFLAGS += -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing
|
|
+CXXFLAGS += -Wall -fno-exceptions -fno-rtti
|
|
ifndef NDEBUG
|
|
-CXXFLAGS += -g -D_DEBUG
|
|
-else
|
|
-CXXFLAGS += -fexpensive-optimizations -O3
|
|
+CXXFLAGS += -D_DEBUG
|
|
endif
|
|
ifdef PROFILE
|
|
CXXFLAGS += -pg
|
|
endif
|
|
-CFLAGS := -O3 -fexpensive-optimizations -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES
|
|
+CFLAGS += -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES
|
|
|
|
sharedlib sharedlib_osx: CXXFLAGS += -fPIC
|
|
sharedlib sharedlib_osx: CFLAGS += -fPIC
|
|
@@ -88,7 +82,7 @@ STATIC_LIB = libIrrlicht.a
|
|
LIB_PATH = ../../lib/$(SYSTEM)
|
|
INSTALL_DIR = /usr/local/lib
|
|
sharedlib install: SHARED_LIB = libIrrlicht.so
|
|
-sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm
|
|
+staticlib sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lX11 -lz -lpng -ljpeg -lbz2
|
|
staticlib sharedlib: CXXINCS += -I/usr/X11R6/include
|
|
|
|
#OSX specific options
|
|
Index: lib/irrlicht/CMakeLists.txt
|
|
===================================================================
|
|
--- lib/irrlicht/CMakeLists.txt.orig
|
|
+++ lib/irrlicht/CMakeLists.txt
|
|
@@ -2,11 +2,7 @@
|
|
find_package(PNG REQUIRED)
|
|
find_package(JPEG REQUIRED)
|
|
|
|
-include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include/"
|
|
- "${JPEG_INCLUDE_DIR}"
|
|
- "${PNG_INCLUDE_DIRS}"
|
|
- "${ZLIB_INCLUDE_DIR}"
|
|
- "${CMAKE_CURRENT_BINARY_DIR}/../zlib/") # For zconf.h on WIN32
|
|
+include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include/")
|
|
|
|
find_package(OpenGL REQUIRED)
|
|
include_directories(${OPENGL_INCLUDE_DIR})
|
|
@@ -491,18 +487,18 @@ if(APPLE)
|
|
#list(APPEND CMAKE_C_SOURCE_FILE_EXTENSIONS mm)
|
|
#set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS cpp)
|
|
|
|
- set_source_files_properties(source/Irrlicht/MacOSX/AppDelegate.mm PROPERTIES COMPILE_FLAGS "-x objective-c++ -O3 -fno-rtti")
|
|
+ set_source_files_properties(source/Irrlicht/MacOSX/AppDelegate.mm PROPERTIES COMPILE_FLAGS "-x objective-c++ -fno-rtti")
|
|
set_source_files_properties(source/Irrlicht/MacOSX/AppDelegate.mm PROPERTIES LANGUAGE C)
|
|
|
|
- set_source_files_properties(source/Irrlicht/MacOSX/CIrrDeviceMacOSX.mm PROPERTIES COMPILE_FLAGS "-x objective-c++ -O3 -fno-rtti")
|
|
+ set_source_files_properties(source/Irrlicht/MacOSX/CIrrDeviceMacOSX.mm PROPERTIES COMPILE_FLAGS "-x objective-c++ -fno-rtti")
|
|
set_source_files_properties(source/Irrlicht/MacOSX/CIrrDeviceMacOSX.mm PROPERTIES LANGUAGE C)
|
|
|
|
- set_source_files_properties(source/Irrlicht/MacOSX/OSXClipboard.mm PROPERTIES COMPILE_FLAGS "-x objective-c++ -O3 -fno-rtti")
|
|
+ set_source_files_properties(source/Irrlicht/MacOSX/OSXClipboard.mm PROPERTIES COMPILE_FLAGS "-x objective-c++ -fno-rtti")
|
|
set_source_files_properties(source/Irrlicht/MacOSX/OSXClipboard.mm PROPERTIES LANGUAGE C)
|
|
endif()
|
|
|
|
add_library(stkirrlicht ${IRRLICHT_SOURCES})
|
|
-target_link_libraries(stkirrlicht ${PNG_LIBRARY} ${JPEG_LIBRARY} ${ZLIB_LIBRARY})
|
|
+target_link_libraries(stkirrlicht png jpeg z GL Xxf86vm X11 Xrandr)
|
|
|
|
|
|
|
|
Index: lib/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp
|
|
===================================================================
|
|
--- lib/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp.orig
|
|
+++ lib/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp
|
|
@@ -3,7 +3,11 @@
|
|
// This file is part of the "Irrlicht Engine".
|
|
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
|
|
|
-extern bool GLContextDebugBit;
|
|
+#if DEBUG
|
|
+bool GLContextDebugBit = true;
|
|
+#else
|
|
+bool GLContextDebugBit = false;
|
|
+#endif
|
|
|
|
#include "CIrrDeviceLinux.h"
|
|
|