Browse Source

* fixes OpenGL on Haiku, resolves #16385, by Olivier Coursiere

git-svn-id: trunk@15207 -
florian 15 years ago
parent
commit
6acc54191f

+ 31 - 3
packages/opengl/Makefile

@@ -1,8 +1,8 @@
 #
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/12/10]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2010/05/02]
 #
 #
 default: all
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded mipsel-linux
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded mipsel-linux
 BSDs = freebsd netbsd openbsd darwin
 BSDs = freebsd netbsd openbsd darwin
 UNIXs = linux $(BSDs) solaris qnx haiku
 UNIXs = linux $(BSDs) solaris qnx haiku
 LIMIT83fs = go32v2 os2 emx watcom
 LIMIT83fs = go32v2 os2 emx watcom
@@ -285,7 +285,7 @@ ifeq ($(FULL_TARGET),i386-beos)
 override TARGET_UNITS+=gl glu glut
 override TARGET_UNITS+=gl glu glut
 endif
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
 ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_UNITS+=gl glu glut
+override TARGET_UNITS+=gl glu glut  glext
 endif
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 ifeq ($(FULL_TARGET),i386-netbsd)
 override TARGET_UNITS+=gl glu glut  glx glext
 override TARGET_UNITS+=gl glu glut  glx glext
@@ -326,6 +326,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 ifeq ($(FULL_TARGET),i386-symbian)
 override TARGET_UNITS+=gl glu glut
 override TARGET_UNITS+=gl glu glut
 endif
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override TARGET_UNITS+=gl glu glut
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 ifeq ($(FULL_TARGET),m68k-linux)
 override TARGET_UNITS+=gl glu glut  glx glext
 override TARGET_UNITS+=gl glu glut  glx glext
 endif
 endif
@@ -506,6 +509,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 ifeq ($(FULL_TARGET),i386-symbian)
 override TARGET_EXAMPLEDIRS+=examples
 override TARGET_EXAMPLEDIRS+=examples
 endif
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override TARGET_EXAMPLEDIRS+=examples
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 ifeq ($(FULL_TARGET),m68k-linux)
 override TARGET_EXAMPLEDIRS+=examples
 override TARGET_EXAMPLEDIRS+=examples
 endif
 endif
@@ -687,6 +693,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 ifeq ($(FULL_TARGET),i386-symbian)
 override COMPILER_INCLUDEDIR+=src
 override COMPILER_INCLUDEDIR+=src
 endif
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override COMPILER_INCLUDEDIR+=src
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 ifeq ($(FULL_TARGET),m68k-linux)
 override COMPILER_INCLUDEDIR+=src
 override COMPILER_INCLUDEDIR+=src
 endif
 endif
@@ -867,6 +876,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 ifeq ($(FULL_TARGET),i386-symbian)
 override COMPILER_SOURCEDIR+=src tests examples
 override COMPILER_SOURCEDIR+=src tests examples
 endif
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 ifeq ($(FULL_TARGET),m68k-linux)
 override COMPILER_SOURCEDIR+=src tests examples
 override COMPILER_SOURCEDIR+=src tests examples
 endif
 endif
@@ -1360,6 +1372,10 @@ ifeq ($(OS_TARGET),symbian)
 SHAREDLIBEXT=.dll
 SHAREDLIBEXT=.dll
 SHORTSUFFIX=symbian
 SHORTSUFFIX=symbian
 endif
 endif
+ifeq ($(OS_TARGET),NativeNT)
+SHAREDLIBEXT=.dll
+SHORTSUFFIX=nativent
+endif
 else
 else
 ifeq ($(OS_TARGET),go32v1)
 ifeq ($(OS_TARGET),go32v1)
 PPUEXT=.pp1
 PPUEXT=.pp1
@@ -1850,6 +1866,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 ifeq ($(FULL_TARGET),i386-symbian)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 endif
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+REQUIRE_PACKAGES_RTL=1
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 ifeq ($(FULL_TARGET),m68k-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
 REQUIRE_PACKAGES_X11=1
@@ -2464,6 +2483,9 @@ fpc_zipdistinstall:
 ifdef EXEFILES
 ifdef EXEFILES
 override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
 override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
 endif
 endif
+ifdef CLEAN_PROGRAMS
+override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
+endif
 ifdef CLEAN_UNITS
 ifdef CLEAN_UNITS
 override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
 endif
 endif
@@ -2510,6 +2532,9 @@ endif
 ifdef CLEANRSTFILES
 ifdef CLEANRSTFILES
 	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
 	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
 endif
 endif
+endif
+ifdef CLEAN_FILES
+	-$(DEL) $(CLEAN_FILES)
 endif
 endif
 	-$(DELTREE) units
 	-$(DELTREE) units
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
 	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
@@ -2693,6 +2718,9 @@ endif
 ifeq ($(FULL_TARGET),i386-symbian)
 ifeq ($(FULL_TARGET),i386-symbian)
 TARGET_EXAMPLEDIRS_EXAMPLES=1
 TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 endif
+ifeq ($(FULL_TARGET),i386-nativent)
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
 ifeq ($(FULL_TARGET),m68k-linux)
 ifeq ($(FULL_TARGET),m68k-linux)
 TARGET_EXAMPLEDIRS_EXAMPLES=1
 TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 endif

+ 1 - 0
packages/opengl/Makefile.fpc

@@ -16,6 +16,7 @@ packages_darwin=x11
 [target]
 [target]
 units=gl glu glut
 units=gl glu glut
 units_win32=glext
 units_win32=glext
+units_haiku=glext
 units_linux=glx glext
 units_linux=glx glext
 units_freebsd=glx glext
 units_freebsd=glx glext
 units_netbsd=glx glext
 units_netbsd=glx glext

+ 4 - 0
packages/opengl/src/gl.pp

@@ -2334,7 +2334,11 @@ initialization
   {$IFDEF MorphOS}
   {$IFDEF MorphOS}
   InitTinyGLLibrary;
   InitTinyGLLibrary;
   {$ELSE}
   {$ELSE}
+  {$ifdef haiku}
+  LoadOpenGL('libGL.so');
+  {$else}
   LoadOpenGL('libGL.so.1');
   LoadOpenGL('libGL.so.1');
+  {$endif}
   {$ENDIF}
   {$ENDIF}
   {$endif}
   {$endif}
   {$ENDIF}
   {$ENDIF}

+ 4 - 0
packages/opengl/src/glu.pp

@@ -570,10 +570,14 @@ initialization
   {$ifdef darwin}
   {$ifdef darwin}
   LoadGLu('/System/Library/Frameworks/OpenGL.framework/Libraries/libGLU.dylib');
   LoadGLu('/System/Library/Frameworks/OpenGL.framework/Libraries/libGLU.dylib');
   {$else}
   {$else}
+  {$IFDEF haiku}
+  LoadGLu('libGLU.so');
+  {$ELSE}
   {$ifndef MorphOS}
   {$ifndef MorphOS}
   LoadGLu('libGLU.so.1');
   LoadGLu('libGLU.so.1');
   {$endif}
   {$endif}
   {$ENDIF}
   {$ENDIF}
+  {$ENDIF}
   {$endif}
   {$endif}
 
 
 finalization
 finalization

+ 4 - 0
packages/opengl/src/glut.pp

@@ -2089,9 +2089,13 @@ initialization
   {$ifdef darwin}
   {$ifdef darwin}
   LoadGlut('/System/Library/Frameworks/GLUT.framework/GLUT');
   LoadGlut('/System/Library/Frameworks/GLUT.framework/GLUT');
   {$else}
   {$else}
+  {$IFDEF haiku}
+  LoadGlut('libglut.so');
+  {$ELSE}
   {$IFNDEF MORPHOS}
   {$IFNDEF MORPHOS}
   LoadGlut('libglut.so.3');
   LoadGlut('libglut.so.3');
   {$ENDIF}
   {$ENDIF}
+  {$ENDIF}
   {$endif}
   {$endif}
   {$ENDIF}
   {$ENDIF}