[Bf-committers] Re: Blender / FreeBSD w/ scons

Theodore Schundler bf-committers@blender.org
Wed, 11 Aug 2004 18:07:26 -0700


--=__Part2F0F79DE.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

While I may use FreeBSD in my personal workstations (even my laptop),
FreeBSD isn't very prolific as a workstation OS. I think people are
affraid of it or something. It also makes a great OS for a diskless
renderfarm. (where I'm using FreeBSD+Blender+DrQueue)

Attached is the cvs diff from the current bf-blender. I've tested it on
FreeBSD 4.10-STABLE, 5.2-RELEASE and 5.2.1-RELEASE. For 5.2, the python
2.3 version I had on the system didn't work right (it compiled, but
scripts using "import math" failed). Upgrading to the latest python port
resolved the problem.

I noticed the "scons release" creates a tar.gz with the python scripts,
but not the plugins. I'm not sure if this is a scons global issue, or
just specific to FreeBSD. Since I was making the alteration primarily
for my own purposes, I didn't need the release building & haven't
investigated that further. Since everything else is pretty much the same
for FreeBSD as for Linux, I'm guessing it's a scons issue.

Ted

>>> Hans Lambermont <hans@lambermont.dyndns.org> 08/11/04 11:06 AM >>>
Theodore Schundler wrote:

> Since it seems you're the one responsible for the FreeBSD binary, do
> you have a patched SConstruct?

No, I didn't look into SC yet ... (I should)

> I made some modifications for it to work with FreeBSD for me
> (specifically 5.2, but it should be identical for 4.x). I found it off
> that there isn't a FreeBSD entry for scons in the CVS version of
> SConstruct, since it is an officially listed platform for blender. So
> I figured I'd ask for the *official* FreeBSD tuned SConstruct. Or, if
> you're still using (g)make,

That's what I still use (I wrote the system at NaN).

> would you like my version (pretty much just based on the OpenBSD and
> Linux entries).

Sure. I'm pretty time-constrained, so I can use all the help there is.

Do you have cvs commit rights ? Or do you want me to commit it ?

Glad to hear something from the FreeBSD community, not many users I'm
afraid.

groetjes,
   Hans Lambermont

ps. Let's cc bf-committers@blender.org from your reply on.
-- 
http://lambermont.webhop.org/ () ASCII-ribbon campaign against vCards,
                              /\ HTML-mail and proprietary formats.


--=__Part2F0F79DE.0__=
Content-Type: text/plain; name="patch.txt"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="patch.txt"

Index: SConstruct
===================================================================
RCS file: /cvsroot/bf-blender/blender/SConstruct,v
retrieving revision 1.82
diff -r1.82 SConstruct
683a684,762
>     
> elif sys.platform=='freebsd4' or sys.platform=='freebsd5':
>     print "Building for FreeBSD"
>     use_international = 'false'
>     use_gameengine = 'false'
>     use_openal = 'false'
>     use_fmod = 'false'
>     use_quicktime = 'false'
>     use_sumo = 'false'
>     use_ode = 'false'
>     use_buildinfo = 'true'
>     build_blender_dynamic = 'true'
>     build_blender_static = 'false'
>     build_blender_player = 'false'
>     build_blender_plugin = 'false'
>     release_flags = ['-O2']
>     debug_flags = ['-O2', '-g']
>     extra_flags = ['-pipe', '-fPIC', '-funsigned-char']
>     cxxflags = []
>     defines = []
>     warn_flags = ['-Wall','-W']
>     window_system = 'X11'
>     platform_libs = ['m', 'stdc++', 'util']
>     platform_libpath = []
>     platform_linkflags = ['-pthread']
>     extra_includes = []
>     z_lib = ['z']
>     z_libpath = ['/usr/lib']
>     z_include = ['/usr/include']
>     # png library information
>     png_lib = ['png']
>     png_libpath = ['/usr/local/lib']
>     png_include = ['/usr/local/include']
>     # jpeg library information
>     jpeg_lib = ['jpeg']
>     jpeg_libpath = ['/usr/local/lib']
>     jpeg_include = ['/usr/local/include']
>     # OpenGL library information
>     opengl_lib = ['GL', 'GLU']
>     opengl_static = ['/usr/lib/libGL.a', '/usr/lib/libGLU.a']
>     opengl_libpath = ['/usr/lib', '/usr/X11R6/lib']
>     opengl_include = ['/usr/X11R6/include/']
>     # SDL library information
>     sdl_env.ParseConfig ('sdl11-config --cflags --libs')
>     sdl_cflags = sdl_env.Dictionary()['CCFLAGS']
>     sdl_include = sdl_env.Dictionary()['CPPPATH']
>     sdl_libpath = ['/usr/local/include/SDL11']
>     sdl_lib = sdl_env.Dictionary()['LIBS']
>     # SOLID library information
>     solid_lib = []                     # TODO
>     solid_libpath = []        # TODO
>     solid_include = ['#extern/solid']
>     qhull_lib = []       # TODO
>     qhull_libpath = []  # TODO
>     qhull_include = ['#extern/qhull/include']
>     # ODE library information
>     ode_lib = ['ode']
>     ode_libpath = ['#../lib/linux-glibc2.2.5-i386/ode/lib']
>     ode_include = ['#../lib/linux-glibc2.2.5-i386/ode/include']
>     # Python library information
>     python_lib = ['python%d.%d' % sys.version_info[0:2]]
>     python_libpath = [sysconfig.get_python_lib (0, 1) + '/config']
>     python_include = [sysconfig.get_python_inc ()]
>     python_linkflags = []
>     # International support information
>     ftgl_lib = ['ftgl']
>     ftgl_libpath = ['#../lib/linux-glibc2.2.5-i386/ftgl/lib']
>     ftgl_include = ['#../lib/linux-glibc2.2.5-i386/ftgl/include']
>     freetype_env.ParseConfig('pkg-config --cflags --libs freetype2')
>     freetype_lib = freetype_env.Dictionary()['LIBS']
>     freetype_libpath = freetype_env.Dictionary()['LIBPATH']
>     freetype_include = freetype_env.Dictionary()['CPPPATH']
>     gettext_lib = []
>     gettext_libpath = []
>     gettext_include = []
>     # OpenAL library information
>     openal_lib = ['openal']
>     openal_libpath = ['/usr/lib']
>     openal_include = ['/usr/include']
1191c1270
< 	elif sys.platform in ['linux2', 'linux-i386']:
---
> 	elif sys.platform in ['linux2', 'linux-i386', 'freebsd4', 'freebsd5']:
1378a1458,1463
> 	elif sys.platform == 'freebsd4':
> 		zipext += ".tar.gz"
> 		pf = "freebsd4"
> 	elif sys.platform == 'freebsd5':
> 		zipext += ".tar.gz"
> 		pf = "freebsd5"
1394c1479
< 	elif sys.platform == 'linux2' or sys.platform == 'linux-i386':
---
> 	else:
1604c1689
< 	elif sys.platform in ['win32', 'linux2', 'linux-i386']:
---
> 	elif sys.platform in ['win32', 'linux2', 'linux-i386', 'freebsd4', 'freebsd5']:
Index: extern/solid/SConscript
===================================================================
RCS file: /cvsroot/bf-blender/blender/extern/solid/SConscript,v
retrieving revision 1.6
diff -r1.6 SConscript
19c19
< elif sys.platform=='linux2' or sys.platform=='linux-i386':
---
> elif sys.platform=='linux2' or sys.platform=='linux-i386' or sys.platform=='freebsd4' or sys.platform=='freebsd5':

--=__Part2F0F79DE.0__=--