Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-01-04Remove SCons building systemSergey Sharybin
While SCons building system was serving us really good for ages it's no longer having much attention by the developers and started to become quite a difficult task to maintain. What's even worse -- there started to be quite serious divergence between SCons and CMake which was only accumulating over the releases now. The fact that none of the active developers are really using SCons and that our main studio is also using CMake spotting bugs in the SCons builds became quite a difficult task and we aren't always spotting them in time. Meanwhile CMake became really mature building system which is available on every platform we support and arguably it's also easier and more robust to use. This commit includes: - Removal of actual SCons building system - Removal of SCons git submodule - Removal of documentation which is stored in the sources and covers SCons - Tweaks to the buildbot master to stop using SCons submodule (this change requires deploying to the server) - Tweaks to the install dependencies script to skip installing or mentioning SCons building system - Tweaks to various helper scripts to avoid mention of SCons folders/files as well Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit Reviewed By: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1680
2013-10-10Lock-free memory allocatorSergey Sharybin
Release builds will now use lock-free allocator by default without any internal locks happening. MemHead is also reduces to as minimum as it's possible. It still need to be size_t stored in a MemHead in order to make us keep track on memory we're requesting from the system, not memory which system is allocating. This is probably also faster than using a malloc's usable size function. Lock-free guarded allocator will say you whether all the blocks were freed, but wouldn't give you a list of unfreed blocks list. To have such a list use a --debug or --debug-memory command line arguments. Debug builds does have the same behavior as release builds. This is so tools like valgrind are not screwed up by guarded allocator as they're currently are. -- svn merge -r59941:59942 -r60072:60073 -r60093:60094 \ -r60095:60096 ^/branches/soc-2013-depsgraph_mt
2013-08-19Speedup for guarded allocatorSergey Sharybin
- Re-arrange locks, so no actual memory allocation (which is relatively slow) happens from inside the lock. operation system will take care of locks which might be needed there on it's own. - Use spin lock instead of mutex, since it's just list operations happens from inside lock, no need in mutex here. - Use atomic operations for memory in use and total used blocks counters. This makes guarded allocator almost the same speed as non-guarded one in files from Tube project. There're still MemHead/MemTail overhead which might be bad for CPU cache utilization
2013-05-08add option to disable guardedalloc, helps for debugging memory errorsCampbell Barton
since guardedalloc confuses them. The option cases a warning on build, since its ownly for experimental use.
2012-12-17Added GPL header to sconscripts!Bastien Montagne
Also changed shebang to '#!/usr/bin/env python', this is more portable across unixes...
2010-10-09Enable CXX_GUARDEDALLOC support through SCons.Nathan Letwory
2010-08-25rename most scons build targets to match cmakeCampbell Barton
2009-09-05== SCons ==Nathan Letwory
* bring back 'player' libtype, after investigation with ideasman. scons/mingw works nicely, for some reason msvc fails to link still, will look further into it.
2009-09-04== SCons ==Nathan Letwory
* further cleaning of 'player' stuff. Now only 3 libs are remaining, of which ideally the stubs lib will be fixed at some point, fading away into the dark history of not-so-nice code. The current blenderplayer part is still a little bit hackish, I'll see if I can find a better alternative, for now it works good enough.
2009-09-04== SCons ==Nathan Letwory
* first working changes to get blenderplayer linking * blenderplayer/ moved into source/ (CMakeLists.txt changed for that too) * added externs for bprogname to gp_ghost, so that it links properly
2008-01-08* tweak linking priorities - should help for GCC usersNathan Letwory
* some lib renaming
2007-03-27=== SCons ===Nathan Letwory
Bugfix #6168 * instead of compiling mallocn manually for makesdna, use the bf_guardedalloc lib that was already created looooooong time ago.
2006-02-08==SCons==Nathan Letwory
+ 'scons blenderplayer' builds blender AND blenderplayer now (tested on Linux only, but was only linking issue, so should work on other platforms too). NOTE: I noticed some compileflags for GE specific libs that were left out - I re-enabled them in the SConscripts, but I'm going to do a test build my- self now, so if there are problems with them on win32, I probably already know about them :)
2006-02-05==SCons==Nathan Letwory
* Changing linking order of a few libs, hopefully it solves a unresolved issue.
2006-02-04== SCons ==Nathan Letwory
* 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
2005-08-04updates to the OS X build system :Jean-Luc Peurière
- 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
2004-05-16Added #!/usr/bin/python standard script identifier to the start of ↵Kester Maddock
SConscript files. Makes text editors identify SConscripts as Python, and syntax highlight properly.
2004-03-01SCons updatesMichel Selten
* 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-15SCons updatesMichel Selten
* 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-01-05SCons build system files added.Michel Selten
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.