Added new build option WITH_JACK_DYNLOAD for CMake and
WITH_BF_JACK_DYNLOAD for SCons, which means there'll be
no build-time linking against libjack and getting symbols
from libjack will happen runtime using dlopen and dlsym
tricks.
Alternative would be to use weak linking, but it'll require
having wrapper for preloading libjack.
This new options are disabled by default and they only
intended to be used on linux. Other platforms shall not
be using this and there shall be no functional changes
on non-linux platforms at all.
Crosscompiling of cubins doesn't work on linux with toolkit 4.2,
so use native toolkit for now. Disabled sm_13 for 32bit platform
for now.
Would keep cudakernels build target for a while. It doesn't hurt
being in the code and it could be helpful again once we'll switch
to toolkit 5.x where crosscompilation works fine.
Some further tweaks could probably be needed still, let's see how
building goes on buildbot now :)
Issue was caused by how CUDA devices availability done in Cycles.
Basically, if there's no WITH_CUDA_BINARIES buildtime, nvcc becomes
mandatory dependency.
Since kernels are building in separate target now, this logic broke
a bit.
Perhaps condition in util_cuda shall be changed to be a bit smarter,
but for now just work-around by enabling CUDA binaries when building
Cycles. Made it empty arch list to be sure no kernels will try to
re-compile after cudakernels target is done.
- BF_BITNESS should be passed as a command line argument
- Made it so CUDA binaries and OSL compiled scripts would
be installed regardless WITH_BF_PYTHON (which seems to
be quite obvious)
- Disable overwrite install, so CUDA kernels installed by
it's build target will be preserved when building blender
itself.
Initial support of OSL builds using SCons build system. Only tested on Linux now.
No changes to configuration files themselves -- for now check how it's configured
for linux buildbot (it was already horror to make all this changes and verify them,
changes to linux-config.py could easily be done later).
Currently WITH_BF_STATICOSL and WITH_BF_STATICLLVM are more like rudiments because
linking against oslexec requires special trick with --whole-archive. We woul either
need to find a way dealing with this oslexec less hackish or drop STATICOSL and
STATICLLVM flags. Will keep dropping this flags for until we have "final" build
rules for OSL.
Still can not make 32bit linux rendering with OSL -- blender simply crashes when
starting rendering. So for time being this issues are solving disabled OSL for
32bit build slaves.