Commit Graph

392 Commits

Author SHA1 Message Date
Michel Selten
f2db673444 SCons update
* False was used in a comparisson. Only recent Python versions support this.
  Changed it to 0.
2004-04-11 13:09:10 +00:00
Kester Maddock
d3e88eae71 Remove GamePlayer libraries from the Scons build - they have to be linked into their own target. 2004-04-11 02:27:20 +00:00
Nathan Letwory
fc080d30d6 Added preliminary support for GamePlayer building with SCons. GPG_ghost and GPC_common are now being built. These will be built by setting BUILD_BLENDER_PLAYER to true in config.opts. BUILD_GAMEENGINE must be set to true, too. 2004-04-08 10:40:12 +00:00
Nathan Letwory
43595d21e4 Removed the -W warning flag so 'unnecessary' warnings are not shown. We should first get everything to compile cleanly with -Wall, after that we can enable more warnings. 2004-04-07 11:09:50 +00:00
Michel Selten
64c127d742 SCons update.
* Bug fix for latest commit. SCons would choke when the <root_build_dir> did
  not exist. First action now is to create the root_build_dir.
2004-04-04 13:57:28 +00:00
Michel Selten
b298ecbfac SCons update.
* .sconsign files are no longer written to the source tree.
  The output is now written to <root_build_dir>/scons-signatures
2004-04-04 13:03:14 +00:00
Kester Maddock
8e5fd5bba3 Added blender python module to game engine.
Updated Scons & Makefile
2004-04-02 13:21:04 +00:00
Nathan Letwory
fc275fd72f On Windows linking to the FTGL library was problematic for some users. This is solved by adding FTGL_LIBRARY_STATIC to the defines for win32.
Thanks go to BjornMoose and alien-xmp.
2004-03-29 18:46:17 +00:00
Nathan Letwory
00291b5cf4 [GameEngine] Commit all Kester's changes made to the gameengine to restore 2.25 like physics.
[SCons] Build with Solid as default when enabling the gameengine in the build process
[SCons] Build solid and qhull from the extern directory and link statically against them

That was about it.

There are a few things that needs double checking:

* Makefiles
* Projectfiles
* All the other systems than Linux and Windows on which the build (with scons) has been successfully tested.
2004-03-22 22:02:18 +00:00
Kent Mein
60955da36d Douglas Bischoff's fix for OSX (removing the spaces from link_env.Append
link_env.Append (LINKFLAGS=' -framework Carbon')
is now
 link_env.Append (LINKFLAGS='-framework')
 link_env.Append (LINKFLAGS='Carbon')


Kent
2004-03-18 15:06:48 +00:00
Michel Selten
2baab8323f SCons updates
* A little environment cleanup.
2004-03-17 13:18:03 +00:00
Nathan Letwory
67ccc51920 - [SCONS] Adding the creation of an Object Browser database (Source browser in MSVC6) when building a debug binary.
This is contributed by Jonathan Harris. I paste here his comments for further reference:

MSVC will open the database automatically when you debug blender.exe.
The database needs to be explicitly closed before rebuilding by removing
it from the MSVC7 "Solution Explorer" window. Add it back after the build.

TODO: .sbr intermediate files are created in the build tree. These
should be removed by a clean but aren't.
2004-03-16 21:45:46 +00:00
Michel Selten
90d179f014 SCons updates
* Added the following flags to config.opts:
  - PYTHON_LINKFLAGS
  - PLATFORM_LIBS
  - PLATFORM_LIBPATH
  - PLATFORM_LINKFLAGS
  Backup your original config.opts file and run scons again to get these new
  options.
* Use freetype-config instead of pkg-config for determining the freetype2
  flags.
* The new PYTHON_LINKFLAGS now enable the dynamic linking on Linux and
  possibly other platforms as well. This should resolve all linking problems
  reported to the mailing lists. (At least for Linux, I can't test other
  platforms).
2004-03-15 19:55:11 +00:00
Kent Mein
24954c9f3f Modifications to get scons to work under Solaris. Currently
its setup to use gcc and you need to edit config.opts and replace cc and CC
with gcc and g++ but other than that it compiles now.

Kent
2004-03-10 19:16:08 +00:00
Nathan Letwory
3081f4a635 - [SCONS] Added building of qhull and Solid from extern when selecting the Solid gameengine. The gameengine has not been updated with the Tuhopuu2 one, so it is not wise to do that yet. This is in preparation for that and won't effect the current build process. 2004-03-09 21:14:03 +00:00
Michel Selten
a2dc5f8f8e SCons updates
* Default build dir is now: ../build/<platform>/
  with <platform> ofcourse the platform you're building on.
  This option is still configurable in config.opts. It was just a feature
  request.
* Allow the user to specify a different config.opts file from the command
  line. This one was at my todo, but Kester was kind enough to implement this
  in Tuhopuu2 already. Thanks Kester!
  To generate/use a different options file:
  scons CONFIG=your_config_options_file
2004-03-09 20:02:38 +00:00
Nathan Letwory
cd0b492ca1 * Added linux-i386 to appease Mandrake 9 users
* Added stdc++ to the platform libs for linux2/linux-i386 for the same users
2004-03-07 20:27:27 +00:00
Nathan Letwory
9076b80db6 * [SCons] enable BUILD_DATE for win32. Basically SCons creates an extra file in source/creator, which is included by buildinfo.c whenever BUILD_DATE is on and building on Windows. SCons automatically takes care of this dependency. 2004-03-05 15:20:52 +00:00
Nathan Letwory
af2c3a4c10 Added OpenBSD3.x to the SCons build system. 2004-03-02 08:40:19 +00:00
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