Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jan 2011 12:21:28 GMT
From:      Pascal Stumpf <Pascal.Stumpf@cubes.de>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/154111: Fix shlib version of x11-toolkits/irrlicht
Message-ID:  <201101181221.p0ICLSQs022152@red.freebsd.org>
Resent-Message-ID: <201101181230.p0ICUBC4020261@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         154111
>Category:       ports
>Synopsis:       Fix shlib version of x11-toolkits/irrlicht
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 18 12:30:10 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Pascal Stumpf
>Release:        
>Organization:
>Environment:
>Description:
Irrlicht currently has an invalid shlib version (1.7.2). This diff brings version numbering under our own control and enables us to actually use Irrlicht in LIB_DEPENDS, avoiding an ugly hack where one would have to add it to both BUILD_DEPENDS and RUN_DEPENDS. It will probably have to be bumped on each minor release.

Inspired by a suggestion of Matthias Kilian on ports@openbsd.org.
>How-To-Repeat:

>Fix:
--- Makefile.orig       2011-01-18 13:07:58.413337109 +0100
+++ Makefile    2011-01-18 13:08:58.843477498 +0100
@@ -7,6 +7,7 @@
 
 PORTNAME=      supertuxkart
 PORTVERSION=   0.7
+PORTREVISION=  1
 CATEGORIES=    games
 MASTER_SITES=  SF/supertuxkart/SuperTuxKart/${PORTVERSION}
 EXTRACT_SUFX=  -src.tar.bz2
@@ -16,9 +17,8 @@
 
 LIB_DEPENDS=   vorbisfile.6:${PORTSDIR}/audio/libvorbis \
                ogg.7:${PORTSDIR}/audio/libogg \
-               fribidi.3:${PORTSDIR}/converters/fribidi
-BUILD_DEPENDS= ${LOCALBASE}/lib/libIrrlicht.so:${PORTSDIR}/x11-toolkits/irrlicht
-RUN_DEPENDS=   ${LOCALBASE}/lib/libIrrlicht.so:${PORTSDIR}/x11-toolkits/irrlicht
+               fribidi.3:${PORTSDIR}/converters/fribidi \
+               Irrlicht.1:${PORTSDIR}/x11-toolkits/irrlicht
 
 USE_BZIP2=     yes
 USE_GL=                gl glu glut


Patch attached with submission follows:

diff -urN irrlicht.orig/Makefile irrlicht/Makefile
--- irrlicht.orig/Makefile	2010-12-13 21:04:36.000000000 +0100
+++ irrlicht/Makefile	2011-01-18 12:59:18.946139275 +0100
@@ -7,6 +7,7 @@
 
 PORTNAME=	irrlicht
 PORTVERSION=	1.7.2
+PORTREVIDION=	1
 CATEGORIES=	x11-toolkits graphics
 MASTER_SITES=	SF/${PORTNAME}/Irrlicht%20SDK/1.7/${PORTVERSION}
 
@@ -22,11 +23,13 @@
 USE_GL=		yes
 USE_LDCONFIG=	yes
 
+MAKE_ENV+=	SHLIB_VER=${SHARED_LIB_VER}
+
 PLIST_SUB+=	SHARED_LIB_VER=${SHARED_LIB_VER}
 SUB_FILES=	pkg-message
 BUILD_WRKSRC=	${WRKSRC}/source/Irrlicht
 
-SHARED_LIB_VER=	${PORTVERSION}
+SHARED_LIB_VER=	1
 EXAMPLEDIRS=	01.HelloWorld 02.Quake3Map 03.CustomSceneNode 04.Movement 05.UserInterface \
 		06.2DGraphics 07.Collision 08.SpecialFX 09.Meshviewer 10.Shaders \
 		11.PerPixelLighting 12.TerrainRendering 13.RenderToTexture 15.LoadIrrFile \
diff -urN irrlicht.orig/files/patch-include_IrrCompileConfig.h irrlicht/files/patch-include_IrrCompileConfig.h
--- irrlicht.orig/files/patch-include_IrrCompileConfig.h	2010-12-13 21:04:36.000000000 +0100
+++ irrlicht/files/patch-include_IrrCompileConfig.h	2011-01-18 13:01:01.549376227 +0100
@@ -1,6 +1,14 @@
---- include/IrrCompileConfig.h	2010-12-13 13:05:25.000000000 -0500
-+++ include/IrrCompileConfig.h	2010-12-13 13:09:57.000000000 -0500
-@@ -176,7 +176,7 @@
+--- include/IrrCompileConfig.h.orig	2011-01-18 12:59:32.500170720 +0100
++++ include/IrrCompileConfig.h	2011-01-18 12:59:32.818170690 +0100
+@@ -94,7 +94,6 @@
+ #endif
+ 
+ //! Define _IRR_COMPILE_WITH_JOYSTICK_SUPPORT_ if you want joystick events.
+-#define _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
+ 
+ //! Maximum number of texture an SMaterial can have, up to 8 are supported by Irrlicht.
+ #define _IRR_MATERIAL_MAX_TEXTURES_ 4
+@@ -176,7 +175,7 @@ the engine will no longer read .jpeg ima
  //! Define _IRR_USE_NON_SYSTEM_JPEG_LIB_ to let irrlicht use the jpeglib which comes with irrlicht.
  /** If this is commented out, Irrlicht will try to compile using the jpeg lib installed in the system.
  	This is only used when _IRR_COMPILE_WITH_LIBJPEG_ is defined. */
@@ -9,7 +17,7 @@
  
  
  //! Define _IRR_COMPILE_WITH_LIBPNG_ to enable compiling the engine using libpng.
-@@ -187,7 +187,7 @@
+@@ -187,7 +186,7 @@ the engine will no longer read .png imag
  //! Define _IRR_USE_NON_SYSTEM_LIBPNG_ to let irrlicht use the libpng which comes with irrlicht.
  /** If this is commented out, Irrlicht will try to compile using the libpng installed in the system.
  	This is only used when _IRR_COMPILE_WITH_LIBPNG_ is defined. */
@@ -18,7 +26,7 @@
  
  
  //! Define _IRR_D3D_NO_SHADER_DEBUGGING to disable shader debugging in D3D9
-@@ -348,14 +348,14 @@
+@@ -348,14 +347,14 @@ ones. */
  /** If this is commented out, Irrlicht will try to compile using the zlib
  installed on the system. This is only used when _IRR_COMPILE_WITH_ZLIB_ is
  defined. */
diff -urN irrlicht.orig/files/patch-source-Irrlicht_Makefile irrlicht/files/patch-source-Irrlicht_Makefile
--- irrlicht.orig/files/patch-source-Irrlicht_Makefile	2010-12-13 21:04:36.000000000 +0100
+++ irrlicht/files/patch-source-Irrlicht_Makefile	1970-01-01 01:00:00.000000000 +0100
@@ -1,111 +0,0 @@
---- source/Irrlicht/Makefile	2010-12-13 14:40:13.000000000 -0500
-+++ source/Irrlicht/Makefile	2010-12-13 14:46:13.000000000 -0500
-@@ -3,7 +3,7 @@
- VERSION_RELEASE = 2
- VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_RELEASE)
- # Irrlicht Engine 1.7.2
--# Makefile for Linux
-+# Makefile for FreeBSD/Linux
- #
- # To use, just run:
- #
-@@ -39,33 +39,32 @@
- IRRIOOBJ = CFileList.o CFileSystem.o CLimitReadFile.o CMemoryFile.o CReadFile.o CWriteFile.o CXMLReader.o CXMLWriter.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
-+#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
-+#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 =
- LINKOBJ = $(IRRMESHOBJ) $(IRROBJ) $(IRRPARTICLEOBJ) $(IRRANIMOBJ) \
- 	$(IRRVIDEOOBJ) $(IRRSWRENDEROBJ) $(IRRIOOBJ) $(IRROTHEROBJ) \
--	$(IRRGUIOBJ) $(ZLIBOBJ) $(JPEGLIBOBJ) $(LIBPNGOBJ) $(LIBAESGM) \
--	$(BZIP2OBJ) $(EXTRAOBJ)
-+	$(IRRGUIOBJ) $(LIBAESGM) $(BZIP2OBJ) $(EXTRAOBJ)
- 
- ###############
- #Compiler flags
--CXXINCS = -I../../include -Izlib -Ijpeglib -Ilibpng
-+CXXINCS = -I../../include -I$(LOCALBASE)/include -I/usr/include
- CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1
- CXXFLAGS += -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing
- ifndef NDEBUG
- CXXFLAGS += -g -D_DEBUG
- else
--CXXFLAGS += -fexpensive-optimizations -O3
-+CXXFLAGS += -fexpensive-optimizations
- endif
- ifdef PROFILE
- CXXFLAGS += -pg
- endif
--CFLAGS := -O3 -fexpensive-optimizations -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES
-+#CFLAGS := -O3 -fexpensive-optimizations -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES
- 
- sharedlib sharedlib_osx: CXXFLAGS += -fPIC
- sharedlib sharedlib_osx: CFLAGS += -fPIC
-@@ -75,15 +74,15 @@
- LIBSELECT=64
- endif
- 
--#Linux specific options
--staticlib sharedlib install: SYSTEM = Linux
-+# FreeBSD/Linux specific options
-+staticlib sharedlib install: SYSTEM = FreeBSD
- STATIC_LIB = libIrrlicht.a
- LIB_PATH = ../../lib/$(SYSTEM)
--INSTALL_DIR = /usr/local/lib
-+INSTALL_DIR = $(PREFIX)/lib
- sharedlib install: SHARED_LIB = libIrrlicht.so
- staticlib sharedlib: LDFLAGS += --no-export-all-symbols --add-stdcall-alias
--sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm
--staticlib sharedlib: CXXINCS += -I/usr/X11R6/include
-+sharedlib: LDFLAGS += -L/usr/lib -L$(LOCALBASE)/lib -lGL -lXxf86vm -lpng -ljpeg
-+staticlib sharedlib: CXXINCS += -I$(LOCALBASE)/include
- 
- #OSX specific options
- staticlib_osx sharedlib_osx install_osx: SYSTEM = MacOSX
-@@ -103,12 +102,12 @@
- staticlib_win32: CPPFLAGS += -D_IRR_STATIC_LIB_
- 
- ####################
--# All target, builds Irrlicht as static lib (libIrrlicht.a) and copies it into lib/Linux
--all linux: staticlib
-+# All target, builds Irrlicht as static lib (libIrrlicht.a) and copies it into lib/FreeBSD
-+all linux: staticlib sharedlib
- 
--# Builds Irrlicht as shared lib (libIrrlicht.so.versionNumber) and copies it into lib/Linux
-+# Builds Irrlicht as shared lib (libIrrlicht.so.versionNumber) and copies it into lib/FreeBSD
- sharedlib: $(LINKOBJ)
--	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -shared -Wl,-soname,$(SHARED_LIB).$(VERSION_MAJOR).$(VERSION_MINOR) -o $(SHARED_LIB).$(VERSION) $^ $(LDFLAGS)
-+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -shared -Wl,-soname,$(SHARED_LIB).$(VERSION) -o $(SHARED_LIB).$(VERSION) $^ $(LDFLAGS)
- 	mkdir -p $(LIB_PATH)
- 	cp $(SHARED_LIB).$(VERSION) $(LIB_PATH)
- 
-@@ -116,7 +115,7 @@
- $(STATIC_LIB): $(LINKOBJ)
- 	$(AR) rs $@ $^
- 
--# Copies static lib into lib/Linux
-+# Copies static lib into lib/FreeBSD
- staticlib staticlib_osx: $(STATIC_LIB)
- 	mkdir -p $(LIB_PATH)
- 	cp $^ $(LIB_PATH)
-@@ -165,8 +164,8 @@
- 
- help:
- 	@echo "Available targets for Irrlicht"
--	@echo " sharedlib: Build shared library Irrlicht.so for Linux"
--	@echo " staticlib: Build static library Irrlicht.a for Linux"
-+	@echo " sharedlib: Build shared library Irrlicht.so for FreeBSD/Linux"
-+	@echo " staticlib: Build static library Irrlicht.a for FreeBSD/Linux"
- 	@echo " install: Copy shared library to /usr/local/lib"
- 	@echo ""
- 	@echo " sharedlib_win32: Build shared library Irrlicht.dll for Windows"
diff -urN irrlicht.orig/files/patch-source_Irrlicht_Makefile irrlicht/files/patch-source_Irrlicht_Makefile
--- irrlicht.orig/files/patch-source_Irrlicht_Makefile	1970-01-01 01:00:00.000000000 +0100
+++ irrlicht/files/patch-source_Irrlicht_Makefile	2011-01-18 13:01:01.562375345 +0100
@@ -0,0 +1,112 @@
+--- source/Irrlicht/Makefile.orig	2011-01-18 12:59:32.115168764 +0100
++++ source/Irrlicht/Makefile	2011-01-18 13:00:20.726282913 +0100
+@@ -3,7 +3,7 @@ VERSION_MINOR = 7
+ VERSION_RELEASE = 2
+ VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_RELEASE)
+ # Irrlicht Engine 1.7.2
+-# Makefile for Linux
++# Makefile for FreeBSD/Linux
+ #
+ # To use, just run:
+ #
+@@ -39,33 +39,32 @@ IRRSWRENDEROBJ = CSoftwareDriver.o CSoft
+ IRRIOOBJ = CFileList.o CFileSystem.o CLimitReadFile.o CMemoryFile.o CReadFile.o CWriteFile.o CXMLReader.o CXMLWriter.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
++#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
++#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 =
+ LINKOBJ = $(IRRMESHOBJ) $(IRROBJ) $(IRRPARTICLEOBJ) $(IRRANIMOBJ) \
+ 	$(IRRVIDEOOBJ) $(IRRSWRENDEROBJ) $(IRRIOOBJ) $(IRROTHEROBJ) \
+-	$(IRRGUIOBJ) $(ZLIBOBJ) $(JPEGLIBOBJ) $(LIBPNGOBJ) $(LIBAESGM) \
+-	$(BZIP2OBJ) $(EXTRAOBJ)
++	$(IRRGUIOBJ) $(LIBAESGM) $(BZIP2OBJ) $(EXTRAOBJ)
+ 
+ ###############
+ #Compiler flags
+-CXXINCS = -I../../include -Izlib -Ijpeglib -Ilibpng
++CXXINCS = -I../../include -I$(LOCALBASE)/include -I/usr/include
+ CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1
+ CXXFLAGS += -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing
+ ifndef NDEBUG
+ CXXFLAGS += -g -D_DEBUG
+ else
+-CXXFLAGS += -fexpensive-optimizations -O3
++CXXFLAGS += -fexpensive-optimizations
+ endif
+ ifdef PROFILE
+ CXXFLAGS += -pg
+ endif
+-CFLAGS := -O3 -fexpensive-optimizations -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES
++#CFLAGS := -O3 -fexpensive-optimizations -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES
+ 
+ sharedlib sharedlib_osx: CXXFLAGS += -fPIC
+ sharedlib sharedlib_osx: CFLAGS += -fPIC
+@@ -75,15 +74,15 @@ ifeq ($(HOSTTYPE), x86_64)
+ LIBSELECT=64
+ endif
+ 
+-#Linux specific options
+-staticlib sharedlib install: SYSTEM = Linux
++# FreeBSD/Linux specific options
++staticlib sharedlib install: SYSTEM = FreeBSD
+ STATIC_LIB = libIrrlicht.a
+ LIB_PATH = ../../lib/$(SYSTEM)
+-INSTALL_DIR = /usr/local/lib
++INSTALL_DIR = $(PREFIX)/lib
+ sharedlib install: SHARED_LIB = libIrrlicht.so
+ staticlib sharedlib: LDFLAGS += --no-export-all-symbols --add-stdcall-alias
+-sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm
+-staticlib sharedlib: CXXINCS += -I/usr/X11R6/include
++sharedlib: LDFLAGS += -L/usr/lib -L$(LOCALBASE)/lib -lGL -lXxf86vm -lpng -ljpeg
++staticlib sharedlib: CXXINCS += -I$(LOCALBASE)/include
+ 
+ #OSX specific options
+ staticlib_osx sharedlib_osx install_osx: SYSTEM = MacOSX
+@@ -103,20 +102,20 @@ sharedlib_win32 staticlib_win32: CPPFLAG
+ staticlib_win32: CPPFLAGS += -D_IRR_STATIC_LIB_
+ 
+ ####################
+-# All target, builds Irrlicht as static lib (libIrrlicht.a) and copies it into lib/Linux
+-all linux: staticlib
++# All target, builds Irrlicht as static lib (libIrrlicht.a) and copies it into lib/FreeBSD
++all linux: staticlib sharedlib
+ 
+-# Builds Irrlicht as shared lib (libIrrlicht.so.versionNumber) and copies it into lib/Linux
++# Builds Irrlicht as shared lib (libIrrlicht.so.versionNumber) and copies it into lib/FreeBSD
+ sharedlib: $(LINKOBJ)
+-	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -shared -Wl,-soname,$(SHARED_LIB).$(VERSION_MAJOR).$(VERSION_MINOR) -o $(SHARED_LIB).$(VERSION) $^ $(LDFLAGS)
++	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -shared -Wl,-soname,$(SHARED_LIB).$(SHLIB_VER) -o $(SHARED_LIB).$(SHLIB_VER) $^ $(LDFLAGS)
+ 	mkdir -p $(LIB_PATH)
+-	cp $(SHARED_LIB).$(VERSION) $(LIB_PATH)
++	cp $(SHARED_LIB).$(SHLIB_VER) $(LIB_PATH)
+ 
+ # Builds Irrlicht as static lib (libIrrlicht.a)
+ $(STATIC_LIB): $(LINKOBJ)
+ 	$(AR) rs $@ $^
+ 
+-# Copies static lib into lib/Linux
++# Copies static lib into lib/FreeBSD
+ staticlib staticlib_osx: $(STATIC_LIB)
+ 	mkdir -p $(LIB_PATH)
+ 	cp $^ $(LIB_PATH)
+@@ -165,8 +164,8 @@ endif
+ 
+ help:
+ 	@echo "Available targets for Irrlicht"
+-	@echo " sharedlib: Build shared library Irrlicht.so for Linux"
+-	@echo " staticlib: Build static library Irrlicht.a for Linux"
++	@echo " sharedlib: Build shared library Irrlicht.so for FreeBSD/Linux"
++	@echo " staticlib: Build static library Irrlicht.a for FreeBSD/Linux"
+ 	@echo " install: Copy shared library to /usr/local/lib"
+ 	@echo ""
+ 	@echo " sharedlib_win32: Build shared library Irrlicht.dll for Windows"


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101181221.p0ICLSQs022152>