Age | Commit message (Collapse) | Author |
|
is solved by adding FTGL_LIBRARY_STATIC to the defines for win32.
Thanks go to BjornMoose and alien-xmp.
|
|
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.
|
|
link_env.Append (LINKFLAGS=' -framework Carbon')
is now
link_env.Append (LINKFLAGS='-framework')
link_env.Append (LINKFLAGS='Carbon')
Kent
|
|
* A little environment cleanup.
|
|
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.
|
|
* 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).
|
|
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
|
|
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.
|
|
* 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
|
|
* Added stdc++ to the platform libs for linux2/linux-i386 for the same users
|
|
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.
|
|
|
|
* 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.
|
|
to %r so special characters are quoted properly
|
|
* 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.
|
|
'debug' in config.opts
|
|
* 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.
|
|
* 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.
|
|
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
|
|
|
|
source_files, so the addition makes sense.
- (win32) set the path for ode_include to the prebuilt library.
|
|
* 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
|
|
libraries/headers from lib, or use the system libraries.
At the moment just use sdl-config output for SDL.
|
|
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...
|
|
* 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).
|
|
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!
|
|
- [win32] python_include was missing, there was a double python_libpath. Corrected
- [win32] the soundsystem SConscript broke the win32 build.
|
|
|
|
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.
|