[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17555] trunk/blender: patch #8583: Add support for gcc on irix

Stefan Gartner stefang at aon.at
Mon Nov 24 15:15:06 CET 2008


Revision: 17555
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17555
Author:   sgefant
Date:     2008-11-24 15:15:05 +0100 (Mon, 24 Nov 2008)

Log Message:
-----------
patch #8583: Add support for gcc on irix

to compile blender with gcc on IRIX, IRIX_USE_GCC needs to be set to true in
user-def.mk.

Other changes related to irix:
 * compile solid from extern/
 * don't build plugins (yet) with "make release" when using gcc (the shell
   script used assumes MIPSpro is installed)
 * use statvfs instead of statfs on irix, like done on solaris
 * use external libs from $(LCGDIR) instead of /usr/freeware
 * use glew header files from $(LCGDIR)/glew instead of the ones installed on
   the system (this applies to other platforms as well)
 * ffmpeg support currently is disabled on irix

Modified Paths:
--------------
    trunk/blender/extern/Makefile
    trunk/blender/intern/SoundSystem/Makefile
    trunk/blender/intern/elbeem/intern/utilities.h
    trunk/blender/release/Makefile
    trunk/blender/source/Makefile
    trunk/blender/source/creator/creator.c
    trunk/blender/source/gameengine/BlenderRoutines/Makefile
    trunk/blender/source/gameengine/GamePlayer/common/unix/Makefile
    trunk/blender/source/nan_compile.mk
    trunk/blender/source/nan_definitions.mk
    trunk/blender/source/nan_link.mk

Modified: trunk/blender/extern/Makefile
===================================================================
--- trunk/blender/extern/Makefile	2008-11-24 12:12:24 UTC (rev 17554)
+++ trunk/blender/extern/Makefile	2008-11-24 14:15:05 UTC (rev 17555)
@@ -57,10 +57,7 @@
     DIRS += binreloc
 endif
 
-TARGET =
-ifneq ($(OS),irix)
-  TARGET=solid
-endif
+TARGET = solid
 
 all::
 	@[ -d $(OCGDIR)/extern ] || mkdir -p $(OCGDIR)/extern

Modified: trunk/blender/intern/SoundSystem/Makefile
===================================================================
--- trunk/blender/intern/SoundSystem/Makefile	2008-11-24 12:12:24 UTC (rev 17554)
+++ trunk/blender/intern/SoundSystem/Makefile	2008-11-24 14:15:05 UTC (rev 17555)
@@ -47,6 +47,9 @@
   ifeq ($(OS),$(findstring $(OS), "linux freebsd solaris"))
     DIRS += openal sdl
   endif
+  ifeq ($(OS), irix)
+    DIRS += sdl
+  endif
 else
   export CPPFLAGS += -DNO_SOUND
 endif

Modified: trunk/blender/intern/elbeem/intern/utilities.h
===================================================================
--- trunk/blender/intern/elbeem/intern/utilities.h	2008-11-24 12:12:24 UTC (rev 17554)
+++ trunk/blender/intern/elbeem/intern/utilities.h	2008-11-24 14:15:05 UTC (rev 17555)
@@ -154,12 +154,18 @@
  */
 
 /* minimum */
+#ifdef MIN
+#undef MIN
+#endif
 template < class T >
 inline T
 MIN( T a, T b )
 { return (a < b) ? a : b ; }
 
 /* maximum */
+#ifdef MAX
+#undef MAX
+#endif
 template < class T >
 inline T
 MAX( T a, T b )

Modified: trunk/blender/release/Makefile
===================================================================
--- trunk/blender/release/Makefile	2008-11-24 12:12:24 UTC (rev 17554)
+++ trunk/blender/release/Makefile	2008-11-24 14:15:05 UTC (rev 17555)
@@ -57,6 +57,12 @@
        NOPLUGINS?=true
      endif
    endif
+   # don"t build plugins on irix if using gcc
+   ifeq ($(OS), irix)
+     ifeq ($(IRIX_USE_GCC), true)
+       NOPLUGINS?=true
+     endif
+   endif
 endif
 
 ifeq ($(OS),windows)

Modified: trunk/blender/source/Makefile
===================================================================
--- trunk/blender/source/Makefile	2008-11-24 12:12:24 UTC (rev 17554)
+++ trunk/blender/source/Makefile	2008-11-24 14:15:05 UTC (rev 17555)
@@ -194,7 +194,7 @@
     else
       COMLIB += $(NAN_FTGL)/lib/libftgl.a
       ifeq ($(OS), irix)
-        COMLIB += $(NAN_FREETYPE)/lib32/libfreetype.a
+        COMLIB += $(NAN_FREETYPE)/lib/libfreetype.a
         else
             COMLIB += $(NAN_FREETYPE)/lib/libfreetype.a
       endif
@@ -395,9 +395,16 @@
         NAN_SND_LIBS += $(ALUT)
         NAN_SND_LIBS += $(SOUNDSYSTEM)
       else
-        NAN_SND_LIBS =  $(SOUNDSYSTEM)
-        NAN_SND_LIBS += $(DUMMYSOUND)
-        NAN_SND_LIBS += $(SOUNDSYSTEM)
+        ifeq ($(OS), irix)
+           NAN_SND_LIBS = $(SOUNDSYSTEM)
+           NAN_SND_LIBS += $(DUMMYSOUND)
+           NAN_SND_LIBS += $(SDLSOUND)
+           NAN_SND_LIBS += $(SOUNDSYSTEM)
+        else
+           NAN_SND_LIBS =  $(SOUNDSYSTEM)
+           NAN_SND_LIBS += $(DUMMYSOUND)
+           NAN_SND_LIBS += $(SOUNDSYSTEM)
+        endif
       endif
     endif
   endif

Modified: trunk/blender/source/creator/creator.c
===================================================================
--- trunk/blender/source/creator/creator.c	2008-11-24 12:12:24 UTC (rev 17554)
+++ trunk/blender/source/creator/creator.c	2008-11-24 14:15:05 UTC (rev 17555)
@@ -29,6 +29,13 @@
 #include <stdlib.h>
 #include <string.h>
 
+
+/* for setuid / getuid */
+#ifdef __sgi
+#include <sys/types.h>
+#include <unistd.h>
+#endif
+
 /* This little block needed for linking to Blender... */
 
 #include "MEM_guardedalloc.h"

Modified: trunk/blender/source/gameengine/BlenderRoutines/Makefile
===================================================================
--- trunk/blender/source/gameengine/BlenderRoutines/Makefile	2008-11-24 12:12:24 UTC (rev 17554)
+++ trunk/blender/source/gameengine/BlenderRoutines/Makefile	2008-11-24 14:15:05 UTC (rev 17555)
@@ -35,6 +35,7 @@
 
 CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
 
+CPPFLAGS += -I$(NAN_GLEW)/include
 CPPFLAGS += -I$(NAN_SUMO)/include -I$(NAN_SOLID)/include
 CPPFLAGS += -I$(NAN_SOLID)
 CPPFLAGS += -I$(NAN_STRING)/include    

Modified: trunk/blender/source/gameengine/GamePlayer/common/unix/Makefile
===================================================================
--- trunk/blender/source/gameengine/GamePlayer/common/unix/Makefile	2008-11-24 12:12:24 UTC (rev 17554)
+++ trunk/blender/source/gameengine/GamePlayer/common/unix/Makefile	2008-11-24 14:15:05 UTC (rev 17555)
@@ -35,6 +35,7 @@
 
 CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
 
+CPPFLAGS += -I$(NAN_GLEW)/include
 CPPFLAGS += -I$(OPENGL_HEADERS)
 CPPFLAGS += -I$(NAN_STRING)/include    
 

Modified: trunk/blender/source/nan_compile.mk
===================================================================
--- trunk/blender/source/nan_compile.mk	2008-11-24 12:12:24 UTC (rev 17554)
+++ trunk/blender/source/nan_compile.mk	2008-11-24 14:15:05 UTC (rev 17555)
@@ -120,22 +120,34 @@
 endif
 
 ifeq ($(OS),irix)
-    CC	= cc
-    CCC	= CC
-    CFLAGS	+= -n32 -mips3 -Xcpluscomm
-    CCFLAGS	+= -n32 -mips3 -Xcpluscomm -LANG:std
-ifdef MIPS73_ISOHEADERS
-    CCFLAGS	+= -LANG:libc_in_namespace_std=off -I$(MIPS73_ISOHEADERS)
-else
-    CCFLAGS	+= -LANG:libc_in_namespace_std=off
-endif
-    REL_CFLAGS	+= -n32 -mips3 -O2 -OPT:Olimit=0
-    REL_CCFLAGS += -n32 -mips3 -O2 -OPT:Olimit=0
+    ifeq ($(IRIX_USE_GCC),true)
+        CC = gcc
+        CCC = g++
+        CFLAGS += -fPIC -funsigned-char -fno-strict-aliasing -mabi=n32 -mips4
+        CCFLAGS += -fPIC -fpermissive -funsigned-char -fno-strict-aliasing -mabi=n32 -mips4
+        REL_CFLAGS += -O2
+        REL_CCFLAGS += -O2
+        CPPFLAGS += -DXP_UNIX
+        DBG_CFLAGS += -g3 -gdwarf-2 -ggdb
+        DBG_CCFLAGS += -g3 -gdwarf-2 -ggdb
+    else
+        CC = cc
+        CCC = CC
+        CFLAGS	+= -n32 -mips3 -Xcpluscomm
+        CCFLAGS	+= -n32 -mips3 -Xcpluscomm -LANG:std
+        ifdef MIPS73_ISOHEADERS
+            CCFLAGS	+= -LANG:libc_in_namespace_std=off -I$(MIPS73_ISOHEADERS)
+        else
+            CCFLAGS	+= -LANG:libc_in_namespace_std=off
+        endif
+        REL_CFLAGS	+= -n32 -mips3 -O2 -OPT:Olimit=0
+        REL_CCFLAGS += -n32 -mips3 -O2 -OPT:Olimit=0
+    endif
     OPENGL_HEADERS = /usr/include
     NAN_DEPEND = true
     AR = CC
     ARFLAGS = -ar -o
-	ARFLAGSQUIET = -ar -o
+    ARFLAGSQUIET = -ar -o
 endif
 
 ifeq ($(OS),linux)

Modified: trunk/blender/source/nan_definitions.mk
===================================================================
--- trunk/blender/source/nan_definitions.mk	2008-11-24 12:12:24 UTC (rev 17554)
+++ trunk/blender/source/nan_definitions.mk	2008-11-24 14:15:05 UTC (rev 17555)
@@ -75,6 +75,7 @@
     export NAN_SOLID ?= $(LCGDIR)/solid
     export NAN_QHULL ?= $(LCGDIR)/qhull
 endif
+    export NAN_USE_BULLET ?= true
     export NAN_BULLET2 ?= $(LCGDIR)/bullet2
     export NAN_SUMO ?= $(SRCHOME)/gameengine/Physics/Sumo
     export NAN_FUZZICS ?= $(SRCHOME)/gameengine/Physics/Sumo/Fuzzics
@@ -149,8 +150,8 @@
 
               export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a $(NAN_OPENEXR)/lib/libIlmThread.a -lrt
           else
-            export NAN_OPENEXR ?= /usr/local
-	    export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a
+            export NAN_OPENEXR ?= $(LCGDIR)/openexr
+            export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a $(NAN_OPENEXR)/lib/libIlmThread.a
           endif
         endif
       endif
@@ -331,23 +332,27 @@
     export NAN_PYTHON ?= $(LCGDIR)/python
     export NAN_PYTHON_VERSION ?= 2.3
     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
-    export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
+    export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a -lpthread
     export NAN_OPENAL ?= $(LCGDIR)/openal
     export NAN_FMOD ?= $(LCGDIR)/fmod
     export NAN_JPEG ?= $(LCGDIR)/jpeg
     export NAN_PNG ?= $(LCGDIR)/png
-    export NAN_TIFF ?= /usr/freeware
+    export NAN_TIFF ?= $(LCGDIR)/tiff
     export NAN_ODE ?= $(LCGDIR)/ode
     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
     export NAN_MESA ?= /usr/src/Mesa-3.1
-    export NAN_ZLIB ?= /usr/freeware
+    export NAN_ZLIB ?= $(LCGDIR)/zlib
     export NAN_NSPR ?= $(LCGDIR)/nspr
-    export NAN_FREETYPE ?= /usr/freeware
-    export NAN_GETTEXT ?= /usr/freeware
-    export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib32/libintl.a
+    export NAN_FREETYPE ?= $(LCGDIR)/freetype
+    export NAN_ICONV ?= $(LCGDIR)/iconv
+    export NAN_GETTEXT ?= $(LCGDIR)/gettext
+    export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/libintl.a $(NAN_ICONV)/lib/libiconv.a
     export NAN_SDL ?= $(LCGDIR)/sdl
-    export NAN_SDLLIBS ?= -L$(NAN_SDL)/lib -lSDL
+    export NAN_SDLLIBS ?= $(NAN_SDL)/lib/libSDL.a
     export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include/SDL
+    export NAN_FFMPEG ?= $(LCGDIR)/ffmpeg
+    export NAN_FFMPEGLIBS = $(NAN_FFMPEG)/lib/libavformat.a $(NAN_FFMPEG)/lib/libavcodec.a $(NAN_FFMPEG)/lib/libswscale.a $(NAN_FFMPEG)/lib/libavutil.a $(NAN_FFMPEG)/lib/libogg.a $(NAN_FFMPEG)/lib/libfaad.a $(NAN_FFMPEG)/lib/libmp3lame.a $(NAN_FFMPEG)/lib/libvorbis.a $(NAN_FFMPEG)/lib/libx264.a $(NAN_FFMPEG)/lib/libfaac.a $(NAN_ZLIB)/lib/libz.a
+    export NAN_FFMPEGCFLAGS ?= -I$(NAN_FFMPEG)/include
  
     # Uncomment the following line to use Mozilla inplace of netscape
     # CPPFLAGS +=-DMOZ_NOT_NET

Modified: trunk/blender/source/nan_link.mk
===================================================================
--- trunk/blender/source/nan_link.mk	2008-11-24 12:12:24 UTC (rev 17554)
+++ trunk/blender/source/nan_link.mk	2008-11-24 14:15:05 UTC (rev 17555)
@@ -72,11 +72,19 @@
 endif
 
 ifeq ($(OS),irix)
-    LDFLAGS += -mips3
-    LLIBS = -lmovieGL -lGLU -lGL -lXmu -lXext -lX11 -lc -lm -ldmedia
-    LLIBS += -lcl -laudio -ldb -lCio -lz
-    LLIBS += -lpthread
-    LLIBS += -woff 84,171
+    ifeq ($(IRIX_USE_GCC), true)
+        LDFLAGS += -mabi=n32 -mips4 
+        DBG_LDFLAGS += -LD_LAYOUT:lgot_buffer=40
+    else
+        LDFLAGS += -n32 -mips3
+        LDFLAGS += -woff 84,171
+    endif
+    LLIBS = -lmovieGL -lGLU -lGL -lXmu -lXext -lXi -lX11 -lc -lm -ldmedia
+    LLIBS += -lcl -laudio

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list