Commit Graph

120 Commits

Author SHA1 Message Date
Jens Verwiebe
a84bcea070 OSX/scons: allow for compiling with clang-openmp-3.4
See: http://clang-omp.github.io
+ fix a longstanding bad include in darwin-config
2014-02-09 18:03:13 +01:00
Lawrence D'Oliveiro
cb0a5adc56 SCons: cleaner determination of 32-bit/64-bit builds
Try not to be x86-centric, remove unneeded blenderdeps variable.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D240
2014-02-04 19:01:10 +01:00
Jens Verwiebe
74ae93d1cd Scons: Fix cycles OpenCL kernelcompile by distributing util_half.h 2014-01-17 00:33:32 +01:00
Jens Verwiebe
901ebbd94a Scons: as requested by Ideasman, make MACOSX_COMPILER -> C_COMPILER_ID,
leave env set for OSX exclusive for now”
2013-12-08 15:35:21 +01:00
Jens Verwiebe
c167d7b79a OSX/scons: Introduce a new env var 'MACOSX_COMPILER'
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
2013-12-06 17:06:51 +01:00
Jens Verwiebe
df2f604af2 OSX/scons: fix misdesigned version detection of compiler ( todo: do with submodule ), fix a compiler warning with clang < 5” 2013-12-04 23:15:29 +01:00
Sergey Sharybin
6a6c7b10de Correction to previous commit
Better just use "strip", to be sure \r\n is also stripped.
This also corresponds to what happens with popen() results.
2013-11-29 22:41:01 +06:00
Jens Verwiebe
f359b931f9 Better removal of \n in hash with rstrip 2013-11-29 17:27:29 +01:00
Jens Verwiebe
3bf77c34eb Fix scons compile after last commit ( unwanted new line ) 2013-11-29 17:04:29 +01:00
Sergey Sharybin
5f2400414a Buildinfo: suppress error prints when building local branches
Before this console output contained messages about branch is not
configured to use any upstream branch which is not useful information
at all.
2013-11-29 18:44:45 +06:00
Sergey Sharybin
af7a2a3b6a Fix buildinfo hash for cases there's no upstream set for the branch 2013-11-28 02:25:09 +06:00
Sergey Sharybin
551f3eef74 Show hash from latest pushed commit in buildinfo
Before this hash of latest local commit was used,
which is not so much useful since nobody can access
that commit hash.
2013-11-25 16:25:35 +06:00
Sergey Sharybin
50fbebe0a4 Buildinfo fixes
- Use -M suffix if working tree does have uncommitted
  modifications.
- Local commits are considered local changes as well
2013-11-19 22:22:21 +06:00
Jens Verwiebe
94416a493c OSX/scons: using ditto autocreates dirs, spares 2 steps of mkdir iterating over .mo files, faster bundling 2013-11-17 15:16:47 +01:00
Jens Verwiebe
c239baa0ba OSX/scons: small reorder and spelling 2013-11-16 22:13:51 +01:00
Jens Verwiebe
a05e90f5fc OSX/scons: fix msgfmt binary linking and locale files distribution 2013-11-16 21:46:55 +01:00
Sergey Sharybin
f2faebe9cf Fix compilation error with SCons when using BUILDINFO and git is not found
Fallback to "no buildinfo" mode in this case.
2013-11-17 00:45:46 +06:00
Sergey Sharybin
09ecfc318c Fixes for buildinfo of exported source tree
- Better to set branch/hash to "unknown" so
  it's clear build is done from exported tree.
- SCons used to reference undefined variable.
2013-11-17 00:02:27 +06:00
Sergey Sharybin
927dea436e Further tweaks to buildinfo
Summary:
Old idea with changes since previous release tag
didn't work good enough. In most of the cases tag
was done in a branch hence not actually reachable
from the master branch.

Now change since release is gone, and date of
the latest commit is used instead.

The date is displayed in format YYYY-MM-DD HH:mm
in the splash.

New bpy.app fields:

- build_commit_timestamp is an unix timestamp of
  the commit blender was build from.
- build_commit_date is a date of that commit.
- build_commit_time is a time of that commit.

Reviewers: campbellbarton

Differential Revision: http://developer.blender.org/D5
2013-11-15 18:05:27 +06:00
Jens Verwiebe
e572a433a8 OSX/scons: make gcc version detection more futureproof 2013-11-07 15:05:59 +00:00
Sergey Sharybin
2010c6ad6c Made buildinfo aware of builds from GIT
- Use commit number since last annotated tag as a
  revision number replacement. It'll eb followed
  by 'M' symbol if there're local modification in
  the source tree.

- Commit short SHA1 is included. Helps getting
  information about commit used to build blender
  with much faster.

- If build is not done from master branch, this also
  will be noticed in the splash screen.

This commit also replaces revision stored in the
files with git-specific fields (change and hash).
This is kind of breaks compatibility, meaning
files which were saved before this change wouldn't
display any information about which revision they
were saved with. When we'll finally switch to git,
we'll see proper hash and change number since
previous release in the files, for until then
svn version will be used as a change number and
hash will be empty.

Not a huge deal, since this field was only used
by developers to help torubleshooting things and
isn't needed for blender itself.

Some additional tweaks are probably needed :)
2013-11-04 13:21:39 +00:00
Jens Verwiebe
4ef6f82a10 OSX/codesigning: add the signing rules used for releases 2013-10-28 17:08:07 +00:00
Campbell Barton
01da2c0e53 fix [#37195] particles crash with viewport render 2013-10-26 22:38:12 +00:00
Jens Verwiebe
f418097bc6 OSX/Scons/OMP: 1. Allow for compile with gnu gcc 4.8.1, 2. fix compiling with sdk > 10.7 by using libgomp dynamic, which includes proper errorhandling vs. static. Before xtra linking to system libstdc++.6.dylib was needed, which then caused incompatibilities 2013-09-28 18:42:14 +00:00
Sergey Sharybin
db01d290e7 Compilation error fix when using scons
OpenEXR libraries shall go after OpenImageIO,
otherwise it'll fail to find symbols needed
for OIIO.
2013-08-15 12:05:42 +00:00
Campbell Barton
a5b78bb6bd replace use of 'a.find(b) != -1' --> 'b in a' 2013-06-24 05:55:05 +00:00
Sergey Sharybin
732c566f2f Fix #35587: Cycles: image movie to single image crashing
Crash was happening on windows platforms only and was caused
by some specifics about how CRT works.

Basically, blender and all of the .dll are compiled with /MT
flag, which means blender.exe and all .dll are using separate
environments. This makes it impossible to pass file descriptors
from blender to other dll, because it becomes invalid in the dll.

And this is exactly what was happening: OIIO was trying to open
movie file with all known plugins and one of them was zlib. And
the way OIIO was using zlib API is opening the file using Boost
and passing a file descriptor to zlib. And since zlib was a
dynamic library this lead to general issues using this descriptor
in zlib code.

Solved by linking to zlib statically. This allows to safely pass
file descriptor to zlib API. Alternative would be to compile all
the stuff with /MD flag, but that's much bigger and less robust
way to fix the issue.

Tested on windows using msvc2008, scons plus cmake both 32 and 64
bit versions. Seems to be working fine.

Further tweaks for mingw and msvc2012 could be needed tho.
2013-06-02 15:02:17 +00:00
Jens Verwiebe
07c31b8a86 OSX/scons: use ditto --arch <arch> instead of cp, to thin out unused architecture on the fly 2013-05-21 16:44:39 +00:00
Sergey Sharybin
aa206bcd14 Strip unneeded folders and files from numpy 2013-04-23 15:51:41 +00:00
Jens Verwiebe
367de67889 OSX: remove the applescript and env var for omp_set_treads from plist 2013-04-10 15:22:39 +00:00
Tamito Kajiyama
eeb95280be Missing build_files updates in the merger in revision 55847. 2013-04-07 06:44:33 +00:00
Thomas Dinges
95080ea5cd Freestyle / Scons:
* Changes in tools\Blender.py were not merged, causing compile failure.
2013-04-06 22:21:42 +00:00
Sergey Sharybin
31eee77a45 Fix #33518: Jack sync doesn't work in 2.64, 2.64 or 2.65 stable versions
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.
2013-03-27 07:19:54 +00:00
Campbell Barton
41b801ab9c patch [#34525] Scons ' color
by Andrey Izrantsev (bdancer)
2013-03-04 13:59:54 +00:00
Bastien Montagne
ad76a8a10c Fix scons building under unix. Now we should really have only *one* '/usr/lib' lib search path, in last position! Previously we could have a bunch of those, even in first position, which would e.g. prevent linking against a custom boost in /opt/lib/boost if you had a system boost installed... 2013-01-31 12:24:12 +00:00
Brecht Van Lommel
dbd44e3bf5 Fix scons not installing closure/ directory for runtime compiles of CUDA kernel. 2012-12-03 16:51:05 +00:00
Campbell Barton
a7555a81c7 remove unmaintained eltopo, keeping scons/cmake entries, but commenting out user visible config to make branch merging less of a hassle. 2012-11-27 09:52:20 +00:00
Campbell Barton
d3d5c57c32 move source/darwin into release/darwin since these files are for osx packaging. 2012-11-18 07:41:38 +00:00
Jens Verwiebe
4ece50723b OSX/scons/osl: ready for compile now, little hack to be resolved, todo:fix a crash with shadercompile 2012-11-16 00:43:28 +00:00
Sergey Sharybin
9eccf40daa OSL Scons rules
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.
2012-11-15 13:11:12 +00:00
Campbell Barton
050f09aa6c buildsystem cleanup: remove duplicate source & includes for scons,
add a check for duplicates in BlenderLib()m, if 0'd now.
2012-11-14 01:41:24 +00:00
Joshua Leung
c844033cd0 Scons compiling fix
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
2012-11-12 02:30:16 +00:00
Bastien Montagne
0738284e32 Clen up of gettext stuff from scons scripts... Did not touch to buildbots ones, nor to iconv, as it’s still uncleare whether we can get rid of it :/ 2012-11-11 19:46:36 +00:00
Sergey Sharybin
b9e652a669 SCons: more libraries could be specified to be static now
Jack, jpeg, png, openmp, opencollada libraris now could be forced to be static
2012-10-27 13:22:36 +00:00
Sergey Sharybin
b93da9b01e Color Management, Stage 1: Initial OpenColorIO library integration
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.
2012-09-15 10:03:17 +00:00
Antony Riakiotakis
59c71eb00a For gcc based systems use g++ for linking. This is necessary so that exceptions are propagated between shared libraries. We already use g++ when linking with cmake.
This solves crash when trying to render with missing files on MinGW-w64 cycles. The cause was an OpenEXR exception that went uncaught when trying to check the file's extension through OpenImageIO while building the shader tree. Thus my bug-hunting frustration can end with a happy chord.
2012-08-21 21:01:07 +00:00
Daniel Genrich
1aaaf67a9e Fix El Topo compile with scons (only win64 so far) 2012-08-12 00:19:55 +00:00
Sergey Sharybin
990466e87e Initial support for numpy in scons
Assumes numpy is installed to the BF_PYTHON/site-packages/numpy directory,
could be tweaked further, but this should be enough to setup release
building environment.

Seems blender can't import numpy, but that doesn't seem to be scons issue,
the same happens here with cmake too. Would ask Campbell to help looking
into this.
2012-07-27 16:01:33 +00:00
Joshua Leung
795edb74fa scons - Added option to not remove and unpack python modules bundle every
compile
2012-05-23 03:49:42 +00:00
Brecht Van Lommel
ad929044d3 Fix: recent commit setting python3.2 command should not be applied to this file
scons build scripts are still using python2.
2012-05-02 09:03:04 +00:00