The file ##build_files/build_environment/install_deps.sh## contains the following line:
THREADS=`cat /proc/cpuinfo | grep processor | wc -l`
The command within the backticks is a [[ http://catb.org/jargon/html/U/UUOC.html | Useless Use Of Cat ]].
A more compact way of writing the same thing (saving two subprocesses) is
THREADS=`grep -c processor /proc/cpuinfo`
or (using POSIX-preferred command-substitution parentheses instead of backticks)
THREADS=$(grep -c processor /proc/cpuinfo)
But the most compact, and least Linux-specific, way is to use the ##nproc##(1) command from the [[ http://www.gnu.org/software/coreutils/manual/html_node/nproc-invocation.html | GNU coreutils package ]]:
THREADS=$(nproc)
Reviewers: sergey, mont29
Reviewed by: mont29
Differential Revision: https://developer.blender.org/D255
Some int/float conversion warnings were disabled by buildsystems but
re-enabled by BLI_winstuff.h, the warnigns relate to conversions not
considered issues on other systems so better just quiet them.
- moved assumed location of omp lib to blender libs
- prepared libiomp5 to link out of the box with cmake
- changed according in scons
- introduced a local var C_VENDOR, cause Apple clang 3.4 may not include omp support yet
- added a linklibs for msgfmt ( may not be needed for other than OSX )
Updating rpms built from 'make package' has issues using the git hash since it isn't in a set order like svn commits, this lets it use the date to determine if the rpm is newer than the installed version.
Also updates the license text.
Ubuntu hack: add a --libyaml-cpp-ver parameter, to try to force installing a given version of this lib...
(only for DEB-like distro, I dare hope Trusty (!) is the only affected distro.
Not happy at all to have such things here, this is actually an Ubuntu bug, but will have to live with it I guess.
On Linux/Mac OS X, simply type "make cycles" inside the Blender source directory, to get a standalone build of the engine.
Reviewed by: Brecht
Differential Revision: https://developer.blender.org/D228
Weird library names having version suffix (e.g. libIex-2_1.so) are used only
when the OpenEXR was built with CMake. Building the library with the Autotools
doesn't add the version suffix.
this allows for updating icons without committing a new PNG each time
(which is inefficient with git). The data files are converted into a
PNG at builds time and used just as they were before.
So, after hours of wild hunt, I think both CMake and Scons builds work again.
There were several small issues hiding here and there, esp. for scons.
*WARNING* the --all-static is currently officially broken (it was already quite useless in fact).
I’m seriously considering dropping it completely, having a script compiling a chain
of static libs in a complete working way for *two* different build systems is just
too much work (static libs are *really* a nightmare at link time).
Builders who want to generate static Blender (to share it e.g.) will have to handle things by hand for now.
Main other points changed:
* Many changes to generated settings for scons (notably, I had to hack around the fact that the short ld -l
option does not work with lib names like 'Iex-2_1', which is not that surprising).
* Opencollada remains the only lib built statically (can't get it to build dyn currently).
* All other libs, even ILMBase ones, are now fully dynamic ones.
* Some general cleanup with CMake definitions of built libs.
* Git-libs do not clone again and again the repo anymore!
Note that I also updated OpenEXR to 2.1.0 (and updated our CMake openexr module as well).
Users will have to update their build settings as told by the script (also in BUILD_NOTES.txt generated file)!
Note I removed all ugly patches from this script, we are currently using custom git repo for OpenEXR/OIIO/OSL,
hopefully we will soon be able to use vanillia code from official repos!
This is needed to resolve the real used compiler from the compatibility shim’S or symlinks.
Also set the real CCVERSION as scons CCVERSION would only read the default one, which
is not useful for OSX