Commit Graph

173 Commits

Author SHA1 Message Date
Michel Selten
70a4ead0ae SCons updates
* Blender static now links. By default this option is disabled on all
  platforms. Simply set the option in config.opts to 'true'.
* Added the following flags to config.opts:
  - HOST_CC.    This is the C compiler for the host platform. This value is the
                same as TARGET_CC when not cross compiling.
  - HOST_CXX.   This is the C++ compiler for the host platform. This value is
                the same as TARGET_CXX when not cross compiling.
  - TARGET_CC.  This is the C compiler for the target platform.
  - TARGET_CXX. This is the C++ compiler for the target platform.
  - TARGET_AR.  This is the linker command for linking libraries.
  - PATH        This is the standard search path
  All SConscript files have been updated to reflect these changes. Now it's
  possible to change only the root SConstruct file, and all compiler specific
  variables are passed automatically to all SConscript files. Of course, this
  does not apply to makesdna because there the host and target platform is
  different from all other libraries.
  To pass a variable that applies to all platforms, all we now have to do is
  set the correct value in library_env


Note: as usual, to get the latest options in the config.opts file, first
      remove your version.
2004-02-29 21:40:48 +00:00
Daniel Dunbar
2c9b1d0005 - SCons prob, options file strings were printed with %s, changed
to %r so special characters are quoted properly
2004-02-29 15:08:18 +00:00
Michel Selten
8023fb4282 SCons updates
* Added the options to build (configurable via config.opts):
  - blender dynamic (default enabled),
  - blender static (default disabled). Not working because of a linking order
    problem. The /usr/lib/libGL.a and /usr/lib/libGLU.a flags need to be
    appended at the end of the link command, not directly after the linker.
    Mailed the SCons mail list for a possible solution.
  - blender player (default disabled). Not implemented yet anyway.
  - blender plugin (default disabled). Not implemented yet anyway.
* Added the following variables to the config.opts:
  - OPENGL_STATIC. This flag is only needed when building blender static.
  - USE_BUILDINFO (true/false). Display build information in the splash
    screen. When enabled, it will always rebuild source/creator/buildinfo.c,
    so for compilation speed reasons, it is not adviced to enable this all the
    time.

I had to make some adjustments specifically for the windows build
(winblender.res) file. This file is only compiled when building the dynamic
blender. I hope this is correct.
2004-02-24 20:03:27 +00:00
Michel Selten
d4b27baa2b SCons updates
* OpenAL support is now available on Linux. By default this feature is
  disabled since it is only necessary when building the game engine. And the
  game engine is disabled by default as well, so...
* Added 3 configurable options to config.opts. These apply to OpenAL settings.

NOTE: remove your current config.opts file to get the new options. (remember
      your current settings though ;) )

2nd NOTE: All options* are now configurable via the config.opts file. If the
          default settings for your platform are not correct, you should be
          able to only update the config.opts file.
  * FMOD is still not available - and I do not know if it is necessary to
    enable this feature.
2004-02-23 16:18:28 +00:00
Michel Selten
874d454d67 SCons updates
* Removed the I18N_DEFINES from the config.opts file. This define is not a
  user setting. The defines depend on what options the user enables in the top
  of the config.opts file (USE_INTERNATIONAL).
* Moved the defines to the correct SConscript files.
  Only the relevant libraries now use these defines.
* Windows fix for the python settings. There were missing brackets [ and ] for
  these settings.
2004-02-23 14:39:08 +00:00
Michel Selten
e1ab3cf480 SCons updates
* Game engine can now be build on Linux. By default this feature is disabled.
  The reason is that you need to have a precompiled version of the ode library
  for your gcc version.
  To enable ode support you need to do the following:
  - compile ode.
  - set BUILD_GAMEENGINE = 'true' in the config.opts file.
  - set USE_PHYSICS='ode' in the config.opts file.
  - set the ODE_INCLUDE and ODE_LIBPATH to valid locations.

* Linking order has changed for the game engine
  There are cyclic dependencies between libraries. On linux we have to do some
  duplicate linking. I looked at the order of linking in source/Makefile, and
  did some clean up.
2004-02-22 19:01:12 +00:00
Michel Selten
2cc629eaa7 SCons updates
* Internationalization support is now available on Linux. By default this
  feature is disabled. The reason is that you need to have a precompiled
  version of the ftgl library for your gcc version.
  To enable ftgl support you need to do the following:
  - compile ftgl.
  - set USE_INTERNATIONAL='true' in the config.opts file
  - set the FTGL_INCLUDE and FTGL_LIBPATH to valid locations.
  Freetype2 is detected automatically on your system by using pkg-config.

  There was a problem with linking libraries. I took a look at how the
  Makefile environment did it, and copied the mechanism. Now we're linking:
  freetype, blender_ftf, ftgl and freetype. (Yes, 2x freetype).

* Minor variable cleanup.
  sdl flags are now collected in one Environment() in stead of two. Adapted
  all relevant platform variables accordingly.
2004-02-22 13:39:00 +00:00
Chris Want
c05901d98a Making the scons build create a mips3 binary. 2004-02-21 16:36:49 +00:00
Michel Selten
9e238d385d SCons updates
* Almost all library settings are now available in the config.opts user option
  file.
* All platform variables had to be updated to make this possible. Things are
  much clearer now, but I only was able to test the changes on Linux. I've
  tried to update all other platform variables, but things are most likely to
  be broken. Please contact me how to resolve the issues.


Note: Before running scons, remove your existing config.opts file to get all
      new options.
2004-02-21 15:13:15 +00:00
Nathan Letwory
32fb5478a8 * [WIN32] Make SCons build with debuggable info when BUILD_BINARY set to 'debug' in config.opts 2004-02-18 14:35:36 +00:00
Michel Selten
9330e553e8 SCons updates
* libraries are now generated in [BUILD_DIR]/lib
* passed the user_options to all libraries now.
  This means I could remove a couple of Export/Import lines.
* Changed the order in source/blender/src/SConscript and
  source/gameengine/SConscript.
  All libraries are now sorted alphabetically. This has no impact on the build
  process.
2004-02-15 19:25:32 +00:00
Michel Selten
95dc219ff8 SCons updates
* All output is now generated in a seperate directory. By default this is
  ../build/
  Currently all .lib / .a files are still build in lib/
  So, I guess I need to update all SConscript files to build the lib now also
  in the build_dir. TODO
* User configurable options have been added.
  When running SCons for the first time, a new config.opts file is generated.
  The defaults are taken from each section currently in SConstruct.
  Currently implemented options:
  - VERSION             // Blender version. not used at the moment
  - BUILD_BINARY        // release or debug
  - BUILD_DIR           // target directory to build intermediate files
  - USE_INTERNATIONAL   // true or false
  - BUILD_GAMEENGINE    // true or false
  - USE_PHYSICS         // ode or solid
  - USE_OPENAL          // true or false
  - USE_FMOD            // true or false
  - USE_QUICKTIME       // true or false

  Note that all options are strings, so quotes are necessary (')

  There's currently some duplicate code in the SConstruct and SConscript
  files, but this currently works and cleanup can be done in small steps
  afterwards.

* Disabled international support on Linux by default for now.
  There is something wrong with this currently. I'll fix it in the near
  future.
2004-02-07 20:44:43 +00:00
Kent Mein
abe7425f3c Added Solaris specific stuff. Mostly its just a copy of the linux side
of things with a couple of tweaks.  It still needs work but I'm stuck.
Working with Michel to change compiler to gcc for solaris since Sun's c++
compiler is broken and won't compile blender.

Kent
2004-01-28 19:11:24 +00:00
Chris Want
5b5d9f9844 SCons for irix update (now does mips3 binary). 2004-01-25 21:42:18 +00:00
Nathan Letwory
314f4db5e4 - (win32) moved the .res addition to source_files to after the first use of source_files, so the addition makes sense.
- (win32) set the path for ode_include to the prebuilt library.
2004-01-21 09:05:17 +00:00
Michel Selten
2883110a54 SCons updates: (All done by jesterKing)
* Windows .exe file now includes the blender icon.
* Builds with game engine on Windows only.
  I tried building the game engine on Linux, but I get weird errors when
  building with ode. There's a dirty #include path in
  Physics/BlOde/OdePhysicsEnvironment.cpp (../ode/src/joint.h). gcc doesn't
  like this somehow.
* Other platforms need to add a couple of flags to the SConstruct:
  use_sumo, use_ode, solid_include and ode_include
2004-01-20 20:28:39 +00:00
Wouter van Heyst
7b6c2cba1a - Introduce use_precomp on Darwin to decide wether to use precompiled
libraries/headers from lib, or use the system libraries.

  At the moment just use sdl-config output for SDL.
2004-01-09 11:13:58 +00:00
Stefan Gartner
2830db381e fix building with quicktime support on os x.
some platform specific sections had link_env.Append(CPPDEFINES=defines)
(darwin was not one of them). I moved that line to the global part of
SConstruct and added "defines = []" to the platforms that didn't have
it (sunos and hp-ux). I hope I didn't break anything...
2004-01-08 16:14:09 +00:00
Michel Selten
906c75396a SCons updates:
* Removed debug print in ftfont.
* Added FreeType/FTGL support to the Linux build.
  NOTE: This feature is on by default, but depends on the pre-build libraries.
  So checkout the lib directory. The lib dir should be on the same level as
  the blender dir. (In case you didn't know).
2004-01-05 21:30:26 +00:00
Michel Selten
f78c0478f5 Fix building a bundle for MacOS. (SCons related).
This is a dirty solution. Maybe when we get to understand SCons better, we can
come up with a better one. For now, it works - and that's important!
2004-01-05 19:39:20 +00:00
Nathan Letwory
a66108134c - Added the SConscripts for ftfont and quicktime
- [win32] python_include was missing, there was a double python_libpath. Corrected
- [win32] the soundsystem SConscript broke the win32 build.
2004-01-05 18:17:23 +00:00
Stefan Gartner
3cf499e044 update scons files to build with yafray support 2004-01-05 15:33:32 +00:00
Michel Selten
d3e1fc8870 SCons build system files added.
You'll need SCons (www.scons.org) to build.
Platforms currently working:
* Linux (me)
  - options for quicktime, openal and international disabled
  - uses the system libs and include files for building - no option to build
    with the precompiled libraries yet.
* Windows (jesterKing)
  - builds with quicktime (optional)
  - builds with openal (optional)
  - builds with international support (optional)
  - Use the DOS box to build
  - builds with precompiled libraries
* Irix (Hos)
  - Uses default Irix compiler
  - Not all optimization levels correct yet
  - options for quicktime, openal and international disabled
  - builds with precompiled libraries
* Cygwin (me)
  - has a problem in the linking stage
  - uses free build tools (gcc)
  - options for quicktime, openal and international disabled
  - uses the system libs and include files for building - no option to build
    with the precompiled libraries yet.
* MacOS (sgefant)
  - builds with quicktime (optional)
  - options for openal and international disabled
  - builds a nice bundle
  - builds with precompiled libraries

Thanks to IanWill for a bugfix in the Linux build.
Note: This is a work in progress. A lot still has to be done - for example the
      optional parts are only to be enabled by directly setting 'true' or
      'false' in the SConstruct file. This needs to be moved to a user config
      file. Also, the .o/.obj files are stored in the source tree. This needs
      to be fixed as well.
      The game engine is not yet built.
2004-01-04 21:11:59 +00:00