- fix dead blender.org link (build dependencies)
- rewrite $BLENDERHOME/{config,tools}/* to $BLENDERHOME/build_files/scons/{config,tools}/*
Patch by David Creswick, thanks!
Reviewers: jesterking
Differential Revision: https://developer.blender.org/D798
This is mainly to address old issue when one need to have SDL library installed
in order to use our official builds. Some hip distros already installs SDL,
but it's not quite the same across all the variety of the distros.
We also now switching to SDL-2.0, most of the distros have it in repositories
already, so it shouldn't be huge deal to install it if needed.
Reviewers: campbellbarton
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D878
Also move this to a generic place in SConstruct instead of having this
defines in 6 different configurations.
Should not be functional changes, but please verify all the platforms.
Brings new bounds limiting and also prepares build system
for the changes in the upstream.
Namely shared_ptr header and namespace is now being detected
by a build system rather than by hacks in the code.
This commit includes some changes to auto-detection flags
in SCons, presumably adding more consistency there. This
is main changes which are suppoed to be reviewed here.
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D581
This also updates the configurations to build kernels for compute capability
5.0 cards, when using and older CUDA toolkit version this will be skipped.
Also includes tweaks to improve performance with this version:
* Increase max registers on sm_30, sm_35 and sm_50
* No longer use texture storage on sm_30
It's not needed, this should happen automatically already, and if you build
against libc++ instead (as on recent FreeBSD), this would give build errors.
Ref T37477.
This means that if you have WITH_BF_QUICKTIME or WITH_CODEC_QUICKTIME enabled,
it will always use QTKit.
The old backend was only used on 32 bit OS X builds, now 32 and 64 bit builds will
give consistent input/output. On Windows or Linux quicktime isn't being used.
* Better handling of "multiarch" python stuff (libs also need two different paths).
* Fix Opencollada default paths.
Hopefully this won't break anything...
* Deprecate computing capability 1.3 (sm_13)
This commit disables auto build of sm_13 CUDA platform, which means that starting with Blender 2.67, we don't support sm_13 devices anymore. It has become difficult to support that and it was already feature incomplete (no render-passes, AO, Multi Closure etc).
It's still possible to manually enable sm_13 for own tests, but building might break in the future.
This should make it easier to write user-config.py
Still not sure how to deal with OSL and LLVM in a nice way, they're currently
using some hacks which didn't support specifying this libraries as static.
Proper implementation for only including the boost locale libs when
WITH_BF_INTERNATIONAL is enabled, so that those of us who do not need/want to
bother with translated ui's can compile. The way it was done before was wrong as
1) the value was always set to true earlier in the config scripts, 2) the base
config scripts run before user config overrides are set
This commit adds a small and simplistic C wrapper around boost's locale library as intern/locale, and heavily simplifies/reduces Blender's own i18n code (under blenfont/ dir). And it adds back UI translation on windows' official builds (with msvc)!
Note to platform maintainers: iconv and gettext (libintl) can now be removed from precompiled libs (not gettext binaries, under windows, of course ;) ).
Note to MinGW32/64 users: boost_locale lib has not yet been uploaded for those build env, please disable WITH_INTERNATIONAL for now (hopefully will be fixed very soon, have contacted psy-fy).
This commit integrates support of OpenColorIO library into build systems.
It also contains C-API for OpenColorIO library which could be used by Blender.
CMake has got find rules familiar to OpenImageIO's one which makes it easier
for build system to find needed libraries and includes. Scons only could use
explicitly defined paths to libraries and includes.
C-API would be compiled and Blender would be linked against C-API and OpenColorIO
but it wouldn't affect on Blender behavior at all.
OpenColorIO could be disabled by setting up WITH_OCIO to Off in CMake and
setting WITH_BF_OCIO in Scons.
* Some code and comment cleanup
* Remove cmake equivalent variable comments
* Remove some non used parameters from config files and btools: WITH_BF_FMOD, BF_VERSION.
* Remove some commented non-used variables
of python bundling on systems where python is installed to /usr/lib64
Now ABI flags are automatically detecting (by checking all available flags
and checking if there's include directory exists for flag).
Also, automatically set PYTHON_LIBPATH to /usr/lib64 if python
scripts are stored in this folder.
Bundling python on *nix platforms is now checks if python is installed
to lib64 directory and if it is, python will be bundled to lib64
folder instead of lib.
This will make building on openSUSE a bit less annoying
* Compile all of cycles with -ffast-math again
* Add scons compilation of cuda binaries, tested on mac/linux.
* Add UI option for supported/experimental features, to make it
more clear what is supported, opencl/subdivision is experimental.
* Remove cycles xml exporter, was just for testing.
directory if available, which should make building with ffmpeg and cycles easier.
If this folder is not available or another path is specified in user-config.py
or CMakeCache.txt, this should have no effect. Wiki build instructions now show
how to use these.
http://wiki.blender.org/index.php/Dev:2.5/Doc/Building_Blender/Linux
* Fix excessive fireflies in Velvet BSDF (patch by David).
* Disable some unused SSE code
* Remove RTTI disabling flags for now, this is giving some compile issues and
was only needed of OSL which we're not using yet.
Change OURPLATFORM from "linux<major_version>" to simple "linux".
Since new policy for linux kernel versions that major version in
platform doesn't make much sense for building rules so the same
rules could be used for both of linux2 and linux3 now/
Tested on both of linux2 and linux3 systems.