- after building blender and blenderplayer an archive is created in bin/ containing all necessary files
- you'll need now python2.3 or newer for SConstruct to go through correctly. This is not a problem,
since Blender requires python2.3 now anyway.
- the release target has been done for linux, win32 and os x, other platforms get a
warning message after blender has been built, just no package. See warning message for instructions
- for linux, osx and win32 the blenderplayer target has been enabled for default
- the build is logged to build.log for all platforms except win32. If you want it, you'll need tee.exe from
http://unxutils.sf.net in your path (I put it in C:\\windows) and change the first if check in the
SConstruct accordingly
http://crd.lbl.gov/~xiaoye/SuperLU/
This is a library to solve sparse matrix systems (type A*x=B). It is able
to solve large systems very FAST. Only the necessary parts of the library
are included to limit file size and compilation time. This means the example
files, fortran interface, test files, matlab interface, cblas library,
complex number part and build system have been left out. All (gcc) warnings
have been fixed too.
This library will be used for LSCM UV unwrapping. With this library, LSCM
unwrapping can be calculated in a split second, making the unwrapping proces
much more interactive.
Added OpenNL (Open Numerical Libary):
http://www.loria.fr/~levy/OpenNL/
OpenNL is a library to easily construct and solve sparse linear systems. We
use a stripped down version, as an interface to SuperLU.
This library was kindly given to use by Bruno Levy.
with all needed files in Ressources dir (.Blanguages, .bfont.ttf, locale)
and with unwanted CVS dirs and DS_Store files removed.
binary is also stripped before inclusion in Bundle.
Sconstruct modified so that Blender build on 10.3 without any additionnal
download than source + darwin libs.
defaults settings correct for 10.3.
fixed bug # 1260 : added MT_NDEBUG flag at top-level.
the directories decrypt, deflate, encrypt, inflate, readstreamglue,
sign, writeblenfile and writestreamglue.
Sirdude was so kind to modify the makefiles, so SCons and
Make are ready to build with the new Blender.
Visual Studio workspaces, solutions and projectfiles still need
to be updated (I'll do the .vcprojs and .sln myself after this commit).
Runtimes created with the Blender Publisher are not anymore
recognised - if you want these available, you'll have to convert
them first to .blends with the Publisher.
* 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.
[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.
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.
* 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).
* 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
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.