Add patch

This commit is contained in:
xuxijian 2020-03-09 06:13:30 -04:00
parent 9daedd3719
commit bf9bd2d2cd
3 changed files with 114 additions and 1 deletions

View File

@ -0,0 +1,27 @@
diff -up irrlicht-1.8/include/fast_atof.h.fix-locale-decimal-points irrlicht-1.8/include/fast_atof.h
diff -up irrlicht-1.8/source/Irrlicht/Irrlicht.cpp.fix-locale-decimal-points irrlicht-1.8/source/Irrlicht/Irrlicht.cpp
--- irrlicht-1.8/source/Irrlicht/Irrlicht.cpp.fix-locale-decimal-points 2012-11-03 18:08:00.000000000 -0400
+++ irrlicht-1.8/source/Irrlicht/Irrlicht.cpp 2012-12-19 15:10:33.242427216 -0500
@@ -116,7 +116,7 @@ namespace irr
namespace core
{
const matrix4 IdentityMatrix(matrix4::EM4CONST_IDENTITY);
- irr::core::stringc LOCALE_DECIMAL_POINTS(".");
+ // irr::core::stringc LOCALE_DECIMAL_POINTS(".");
}
namespace video
diff -up irrlicht-1.8/source/Irrlicht/irrXML.cpp.fix-locale-decimal-points irrlicht-1.8/source/Irrlicht/irrXML.cpp
--- irrlicht-1.8/source/Irrlicht/irrXML.cpp.fix-locale-decimal-points 2012-12-19 15:11:36.592488302 -0500
+++ irrlicht-1.8/source/Irrlicht/irrXML.cpp 2012-12-19 15:12:03.084513847 -0500
@@ -10,6 +10,10 @@
namespace irr
{
+namespace core
+{
+ irr::core::stringc LOCALE_DECIMAL_POINTS(".");
+}
namespace io
{

View File

@ -0,0 +1,80 @@
diff -up irrlicht-1.8/source/Irrlicht/Makefile.irrXML irrlicht-1.8/source/Irrlicht/Makefile
--- irrlicht-1.8/source/Irrlicht/Makefile.irrXML 2012-11-13 12:55:50.000000000 -0500
+++ irrlicht-1.8/source/Irrlicht/Makefile 2012-11-13 13:00:51.266370158 -0500
@@ -43,9 +43,10 @@ IRRIMAGEOBJ = CColorConverter.o CImage.o
CImageWriterBMP.o CImageWriterJPG.o CImageWriterPCX.o CImageWriterPNG.o CImageWriterPPM.o CImageWriterPSD.o CImageWriterTGA.o
IRRVIDEOOBJ = CVideoModeList.o CFPSCounter.o $(IRRDRVROBJ) $(IRRIMAGEOBJ)
IRRSWRENDEROBJ = CSoftwareDriver.o CSoftwareTexture.o CTRFlat.o CTRFlatWire.o CTRGouraud.o CTRGouraudWire.o CTRNormalMap.o CTRStencilShadow.o CTRTextureFlat.o CTRTextureFlatWire.o CTRTextureGouraud.o CTRTextureGouraudAdd.o CTRTextureGouraudNoZ.o CTRTextureGouraudWire.o CZBuffer.o CTRTextureGouraudVertexAlpha2.o CTRTextureGouraudNoZ2.o CTRTextureLightMap2_M2.o CTRTextureLightMap2_M4.o CTRTextureLightMap2_M1.o CSoftwareDriver2.o CSoftwareTexture2.o CTRTextureGouraud2.o CTRGouraud2.o CTRGouraudAlpha2.o CTRGouraudAlphaNoZ2.o CTRTextureDetailMap2.o CTRTextureGouraudAdd2.o CTRTextureGouraudAddNoZ2.o CTRTextureWire2.o CTRTextureLightMap2_Add.o CTRTextureLightMapGouraud2_M4.o IBurningShader.o CTRTextureBlend.o CTRTextureGouraudAlpha.o CTRTextureGouraudAlphaNoZ.o CDepthBuffer.o CBurningShader_Raster_Reference.o
-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
+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 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
+IRRXMLOBJ = irrXML.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
@@ -86,8 +87,10 @@ staticlib sharedlib install: SYSTEM = Li
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 -lz -ljpeg `libpng-config --libs` -lbz2 -laesgm
+irrxml_sharedlib install: IRRXML_SHARED_LIB = libIrrXML.so
+irrlicht_sharedlib install: SHARED_LIB = libIrrlicht.so
+irrlicht_sharedlib irrxml_sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lz -ljpeg `libpng-config --libs` -lbz2 -laesgm
+irrlicht_sharedlib: LDFLAGS += -L$(LIB_PATH) -lIrrXML
staticlib sharedlib: CXXINCS += -I/usr/X11R6/include
#OSX specific options
@@ -118,14 +121,25 @@ SONAME = $(SHARED_LIB).$(VERSION_MAJOR).
# All target, builds Irrlicht as static lib (libIrrlicht.a) and copies it into lib/Linux
all linux: staticlib
+sharedlib: irrxml_sharedlib irrlicht_sharedlib
+
+# Builds IrrXML as a shared lib (libIrrXML.so.versionNumber) and copies it into lib/Linux
+irrxml_sharedlib: $(IRRXMLOBJ)
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -shared -Wl,-soname,$(IRRXML_SHARED_LIB).$(VERSION_MAJOR) -o $(IRRXML_SHARED_LIB).$(VERSION) $^ $(LDFLAGS)
+ mkdir -p $(LIB_PATH)
+ cp $(IRRXML_SHARED_LIB).$(VERSION) $(LIB_PATH)
+ # We need this for linking libIrrlicht.so
+ cd $(LIB_PATH) && ln -s $(IRRXML_SHARED_LIB).$(VERSION) $(IRRXML_SHARED_LIB)
+
+
# Builds Irrlicht as shared lib (libIrrlicht.so.versionNumber) and copies it into lib/Linux
-sharedlib: $(LINKOBJ)
- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -shared -Wl,-soname,$(SONAME) -o $(SHARED_FULLNAME) $^ $(LDFLAGS)
+irrlicht_sharedlib: irrxml_sharedlib $(LINKOBJ)
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -shared -Wl,-soname,$(SHARED_LIB).$(VERSION_MAJOR) -o $(SHARED_LIB).$(VERSION) $(LINKOBJ) $(LDFLAGS)
mkdir -p $(LIB_PATH)
cp $(SHARED_FULLNAME) $(LIB_PATH)
# Builds Irrlicht as static lib (libIrrlicht.a)
-$(STATIC_LIB): $(LINKOBJ)
+$(STATIC_LIB): $(LINKOBJ) $(IRRXMLOBJ)
$(AR) rs $@ $^
# Copies static lib into lib/Linux
@@ -153,8 +167,8 @@ install install_osx:
mkdir -p $(INSTALL_DIR)/../include/irrlicht
cp ../../include/*.h $(INSTALL_DIR)/../include/irrlicht/
cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR)
- cd $(INSTALL_DIR) && ln -s -f $(SHARED_FULLNAME) $(SONAME)
- cd $(INSTALL_DIR) && ln -s -f $(SONAME) $(SHARED_LIB)
+ cp $(LIB_PATH)/$(IRRXML_SHARED_LIB).$(VERSION) $(INSTALL_DIR)
+ cd $(INSTALL_DIR) && ln -s -f $(SHARED_LIB).$(VERSION) $(SHARED_LIB) && ln -s -f $(IRRXML_SHARED_LIB).$(VERSION) $(IRRXML_SHARED_LIB)
# ldconfig -n $(INSTALL_DIR)
TAGS:
@@ -178,8 +192,10 @@ endif
help:
@echo "Available targets for Irrlicht"
- @echo " sharedlib: Build shared library Irrlicht.so for Linux"
+ @echo " sharedlib: Build all shared libraries for Linux"
@echo " staticlib: Build static library Irrlicht.a for Linux"
+ @echo " irrlicht_sharedlib: Build shared library libIrrlicht.so for Linux"
+ @echo " irrxml_sharedlib: Build shared library libIrrXML.so for Linux"
@echo " install: Copy shared library to /usr/local/lib"
@echo ""
@echo " sharedlib_win32: Build shared library Irrlicht.dll for Windows"

View File

@ -1,13 +1,15 @@
Name: irrlicht
Summary: A high performance and free realtime 3D engine
Version: 1.8.4
Release: 10
Release: 11
License: zlib
URL: http://irrlicht.sourceforge.net/
Source0: http://downloads.sourceforge.net/irrlicht/irrlicht-1.8.4.zip
Patch0001: irrlicht-1.8-optflags.patch
Patch0002: irrlicht-1.8-glext.patch
Patch0003: irrlicht18-libaesgm.patch
Patch0004: irrlicht-1.8-irrXML-shared-library.patch
Patch0005: irrlicht-1.8-fix-locale-decimal-points.patch
BuildRequires: gcc-c++ libXxf86vm-devel mesa-libGL-devel mesa-libGLU-devel
BuildRequires: libjpeg-devel zlib-devel libaesgm-devel libpng-devel bzip2-devel
Provides: irrlicht18 = %{version}-%{release}
@ -84,6 +86,7 @@ popd
%files
%doc readme.txt
%{_libdir}/libIrrlicht.so.*
%{_libdir}/libIrrXML.so*
%files devel
%doc doc/upgrade-guide.txt
@ -100,5 +103,8 @@ popd
%{_includedir}/irrlicht/{fast_atof.h,heapsort.h,irrArray.h,irrString.h,irrTypes.h,irrXML.h}
%changelog
* Mon Mar 09 2020 xuxijian<xuxijian@huawei.com> - 1.8.4-11
- Add libIrrXML patch files
* Tue Feb 25 2020 xuxijian<xuxijian@huawei.com> - 1.8.4-10
- Package init