Commit Graph

18 Commits

Author SHA1 Message Date
Nathan Letwory
36a4af22c3 ==SCons==
* These changes bring cross-compiling Blender for Windows on Linux one step
  closer to reality. The 'biggest' change is in makesdna SConscript to make
  sure a linux native makesdna is built, that can be run, too. Next to that
  proper checks for env['OURPLATFORM']=='linuxcross' are added in various
  places.

  Switch change in pluginapi.c was necessary, and AFAIK it should work like
  that also on WIN32, if not, slap me.

  Note: everything *compiles* now nicely, it is just that the final *linking*
  doesn't work (yet). Anyone who fixes this will be the
  hero of cross-compilers :)
2006-03-13 11:42:49 +00:00
Nathan Letwory
3ab31078df ==SCons==
* The only lib that needs change in more than one place (two), and I forgot
  that, of course.
2006-02-07 21:47:11 +00:00
Nathan Letwory
c0234bd9ec ==SCons==
* add REL_CFLAGS and REL_CCFLAGS when not building debug. This adds NDEBUG
  to compile on Win32
* fix path to makesdna binary
2006-02-04 15:44:34 +00:00
Nathan Letwory
3bb82a27fc == SCons ==
* This commit is all of the rewrite work done on the SCons system. For
  documentation see doc/blender-scons.txt and doc/blender-scons-dev.txt.
  Also http://mediawiki.blender.org/index.php/BlenderDev/SconsRefactoring
  contains valuable information, along with what still needs to be done.

    - linux, os x and windows compile now.
    - files are compiled to BF_INSTALLDIR (see config/(platform)-config.py)
        - NOTE: Jean-Luc P will commit sometime during the weekend proper
          appit() for OS X. For now, copy the resulting binary to an
          existing .app bundle.
    - features:
        - cleaner structure for better maintenance
        - cleaner output during compile
        - better handling of build options
        - general overall speed increase
        - see the wiki for more info

  Cygwin, FreeBSD and Solaris systems still need work. For these systems:
    1) copy a config/(platform)-config.py to ie. config/cygwin-config.py
    2) set the proper defaults for your platform
    3) mail me at jesterking at letwory dot net with you configuration. if
       you need any modifications to the system, do send a patch, too.

  I'll be giving first-aid today and tomorrow, after that it'll be all
  regular development work :)

  /Nathan
2006-02-04 14:15:10 +00:00
b12f801681 updates to the OS X build system :
- XCode project
- Scons :
    scons stopped working for Os X in the last month (dont know when) :

     * the '.' and '..' keywords in CCPPATH
          are not recognized anymore for sconscripts compiling files at
          a sub level
     * when doing a scons clean, the 3 subdirs in build dir are removed
      and scons then fail to recreate them (exten, intern, source)

this commit solve the first problem as a temp workaround
for the latter simply recreate the dirs manually

I will investigate that further when on vacations,  which i should already
 be.
 ;(

all 3 build systems are now working on Os X
2005-08-04 16:05:28 +00:00
208da2a5d0 Added support for compiling BULLET with scons on windows
using bandoler's patch as a basis (thanks!).

A couple of notes:

-  This is for windows only, I did not have a chance to try linux yet.

-  SConscript for PHY_Bullet may need tweaking (plus support
 for other platforms), but at least it's in there :)

Any problems, shout :)
2005-08-01 21:19:41 +00:00
Nathan Letwory
bcd5d1c9ed * integrate bFTGL with Scons
* add some ENV = os.environ's here and there (help those who have msvc toolkit installed)

Note for OSX users: check from your config.opts the correct info for the precompiled ftgl lib is used.
2005-05-06 13:37:18 +00:00
d5fde6c48b Added #!/usr/bin/python standard script identifier to the start of SConscript files.
Makes text editors identify SConscripts as Python, and syntax highlight properly.
2004-05-16 13:07:20 +00:00
450fdbfd82 SCons updates
* Updates to the cygwin build.
  the dna.c file used to be generated with a full path. Cygwin doesn't like
  this. The problem was with some cflags and linkflags that are used to build
  makesdna.exe
  Hos nicely pointed this out and proposed a solution.
  Now, these flags are only added to the command when the platform != 'cygwin'.
* Updated some variables in SConstruct.
2004-04-11 21:11:18 +00:00
48d2ea15f1 SCons updates
* Removed win32 specific stuff from the SConscript in makesdna/intern.
  This stuff is obsolete after yesterdays update.
2004-03-16 18:43:18 +00:00
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
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
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
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
c8d8b2c4de SCons update
* makesdna generates dna.c which in turn should be compiled with nice cflags,
  linkflags etc. But, a small error slipped in which caused the .c file to be
  compiled into a nice .o file without those flags.
  Thanks to Hos for pointing out the error and persisting there indeed was an
  error.
2004-01-25 20:57:25 +00:00
20d64f4b8d don't link makesdna against libpng and friends when building with scons 2004-01-05 14:49:52 +00:00
29d23bf864 Forgot to add some lines and cleanup in the makesdna/intern/SConscript file.
The makesdna tool is SDL 'aware', but I forgot to pass some crucial flags to
the build command.
While working in that file, did some cleanup to make it more consistent with
the other SConscript files.
2004-01-04 21:42:01 +00:00
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