[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