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
2021-03-16CMake/deps: Updated deps build requirements prompt for macOS arm64Sebastián Barschkis
Building deps on macOS arm64 has slightly different requirements. Belongs to 4b3dcd80698a
2021-03-16Fix T86124: Self-hosting external libraries packagesSybren A. Stüvel
Allow downloading of source packages of Blender's dependencies, so that it's easier to provide a "full source archive" that contains the blender source + all dependencies archives. A `make` command for this will be introduced soon. This changes the deps builder slightly to be more flexible with the origin of our source packages. To support this a new CMake variable has been added called `PACKAGE_DIR` where all sources archives will be stored. default: a directory called `packages` in the build folder. alternative-default: if a directory called `packages` exists in the blender source folder that will be used. This is to support the "full source archive" use case. The download phase have been moved from the build phase to the configure phase. Configure will download all sources validate the hashes while downloading. All `[depname].cmake` files have been changed to take a local `file://[path_to_local_tarball]` path rather than a remote URI. A second requirement was that there needed to be an option to grab the sources from the blender SVN mirror rather than upstream. For this an option has been added PACKAGE_USE_UPSTREAM_SOURCES (default ON). The exact location in SVN still needs to be worked out, I tested with my local webserver and codewise it checks out. The path that is in there currently will not work (given there is no mirror there yet). To build this mirror our local package caches can be used. Reviewed By: lazydodo Differential Revision: https://developer.blender.org/D10598
2021-03-02CMake/deps: Append platform CFLAGS and LDFLAGS to Python build to ensure ↵Sebastián Barschkis
compatibility with minimum macOS version Similarly to other dependencies, the Python build should make use of the default CMake arguments. On macOS, for example, these arguments are required to set the deployment target correctly. See also: https://devtalk.blender.org/t/compiling-latest-branch-on-macos-fails-undefined-symbol/17649 Reviewed By: brecht, sybren Differential Revision: https://developer.blender.org/D10498
2021-02-26CMake/deps: Fix LLVM and OSL buildsSebastián Barschkis
This commit is addition to D10212. Apple arm64 support was left out in that patch.
2021-02-26CMake/Deps: Python 3.9.2Ray Molenkamp
Straight up minor version bump, no anomalies to report Reviewed By: sebbas, sybren Differential Revision: https://developer.blender.org/D10523
2021-02-24Cmake/deps: Update OSL to 1.11.10.0Ray Molenkamp
This bumps OSL to 1.11.10.0. OSL Has a new build time dependency: Clang, and more importantly it expects clang and llvm to share a library folder, which it previously for us did not. This patch changes: -OSL Update to 1.11.10.0 -refactor the llvm/clang/clang-tools-extra builds into the llvm build using the llvm-project tarball for building that has all of the subprojects in it. -update ispc/openmp builds since clang no longer its own dependency and they have to depend on the llvm build now. -Update the windows builder to use the 64 bit host tools since it ran out of ram linking clang -Since OSL now needs clang to link successfully a findclang.cmake has been provided for linux/OSX Differential Revision: https://developer.blender.org/D10212 Reviewed By: brecht, sebbas, sybren
2021-02-23Build Environment/macOS/Python: link against zlib staticallyAnkit Meel
rBc70eb30240f8b5d5a8f2ac509f0eb585936142b5 added patch to use static zlib on Linux. But also added flags to use the zlib in LIBDIR for Python on macOS. That causes some shared libraries (binascii for one) to link against libz.1.dylib which will not be there on users' systems. Reuse the said patch for macOS also to avoid rpath issues. Fix T85648. Reviewed By: #platform_macos, brecht Differential Revision: https://developer.blender.org/D10479
2021-02-21CMake/Deps: OpenEXR 2.5.5Ray Molenkamp
2021-02-19CMake/Deps: Mesa, harvest lib files from new locationSybren A. Stüvel
The upgraded Mesa (see D10282) stores library files in `mesa/lib64`.
2021-02-15macOS: add Embree, OpenImageDenoise and sse2neon libraries for ARMBrecht Van Lommel
This required using a fork of Embree, newer LLVM version, unreleased ISPC version and sse2neon directly from Git. Hopefully over time all the required changes end up in official releases. For now we deviate from other platforms. Based on contributions by Apple and Stefan Werner. Ref D9527, D8237, T78710
2021-02-15macOS Deps: NumPy: Remove buggy Accelerate frameworkAnkit Meel
Building NumPy from source with default options of builder causes it to link against Accelerate framework which is buggy and raises a warning mentioned in [2]. "RankWarning: Polyfit may be poorly conditioned" Accelerate is deprecated with NumPy 1.20+.[1] So either we build OpenBLAS in dependencies also and set appropriate env variables suggested in [1] while building NumPy for it to find OpenBLAS. Or download NumPy wheel from pip and never allow pip to build NumPy from source while installing. After this change, pip wheels are used for NumPy for macOS with x86_64. [1] https://numpy.org/doc/stable/user/building.html#lapack [2] https://github.com/numpy/numpy/issues/15947 Reviewed By: #platform_macos, sebbas Differential Revision: https://developer.blender.org/D10368
2021-02-15CMake/Deps: upgrade USD 20.05 → 21.02Sybren A. Stüvel
USD version 21.02 includes two of the changes Blender used to patch in, which have now been removed from `usd.diff`. Unfortunately 21.02 introduces another issue where LZ4 symbols are accidentally exported, causing linker errors. Fortunately these symbols are only used for resting, so I added a patch hunk that simply removes their `extern "C"` declaration. The LZ4 linker issue has been reported upstream at https://github.com/PixarAnimationStudios/USD/issues/1447. Reviewed By: sebbas, mont29 Differential Revision: https://developer.blender.org/D10367
2021-02-15CMake/Deps: OpenImageDenoise 1.2.3 → 1.3.0Sybren A. Stüvel
2021-02-15CMake/Deps: XR_OpenXR v1.0.14Ray molenkamp
Straight up version bump Things of note: They started using API calls only available in windows 8, however given the Python 3.9 update will forcibly bump us to 8.1+ anyhow this is not an issue. Will require some minor tweaks to platform_win32.cmake after adding the libs to svn which are not included in this diff so this diff can land without having to have the libs in place yet. Reviewed By: sebbas, sybren Differential Revision: https://developer.blender.org/D10349
2021-02-15CMake/Deps: OpenVDB 8.0.1Ray molenkamp
Straight forward version bump, some of the variables to detect a static OpenEXR changed and the folder structure seemingly changed a little requiring updates to the diff Reviewed By: sebbas, sybren Differential Revision: https://developer.blender.org/D10340
2021-02-15CMake/Deps: Alembic 1.7.16Sybren A. Stüvel
Version bump + no longer using Boost. Building Alembic with Boost gave compiler errors, and having one less inter-dependency is good as well. Reviewed By: sebbas, sybren Differential Revision: https://developer.blender.org/D10329
2021-02-15CMake/Deps: TBB 2020U2Ray molenkamp
Straight forward version bump. 2020U2 is significantly louder in the deprecated header usage warning department, we should probably see if we need to act on this: P1949 Differential Revision: https://developer.blender.org/D10359
2021-02-15CMake/Deps: Boost 1.73Ray molenkamp
Just a simple version bump. Maniphest Tasks: T85365 Differential Revision: https://developer.blender.org/D10314
2021-02-14cmake/deps: Update mesa to 20.3.4Campbell Barton
This resolves build error with Py3.9x, use meson build system since autoconf/automake are no longer supported. This adds ninja & meson as dependencies for Linux. Reviewed By: brecht, sybren Ref D10282
2021-02-13Build: fix macOS minimum version link warning with pystringBrecht Van Lommel
Patch OpenColorIO again to pass along build flags, and remove outdated patches which were no longer being used.
2021-02-12OpenColorIO: upgrade to version 2.0.0Brecht Van Lommel
Ref T84819 Build System ============ This is an API breaking new version, and the updated code only builds with OpenColorIO 2.0 and later. Adding backwards compatibility was too complicated. * Tinyxml was replaced with Expat, adding a new dependency. * Yaml-cpp is now built as a dependency on Unix, as was already done on Windows. * Removed currently unused LCMS code. * Pystring remains built as part of OCIO itself, since it has no good build system. * Linux and macOS check for the OpenColorIO verison, and disable it if too old. Ref D10270 Processors and Transforms ========================= CPU processors now need to be created to do CPU processing. These are cached internally, but the cache lookup is not fast enough to execute per pixel or texture sample, so for performance these are now also exposed in the C API. The C API for transforms will no longer be needed afer all changes, so remove it to simplify the API and fallback implementation. Ref D10271 Display Transforms ================== Needs a bit more manual work constructing the transform. LegacyViewingPipeline could also have been used, but isn't really any simpler and since it's legacy we better not rely on it. We moved more logic into the opencolorio module, to simplify the API. There is no need to wrap a dozen functions just to be able to do this in C rather than C++. It's also tightly coupled to the GPU shader logic, and so should be in the same module. Ref D10271 GPU Display Shader ================== To avoid baking exposure and gamma into the GLSL shader and requiring slow recompiles when tweaking, we manually apply them in the shader. This leads to some logic duplicaton between the CPU and GPU display processor, but it seems unavoidable. Caching was also changed. Previously this was done both on the imbuf and opencolorio module levels. Now it's all done in the opencolorio module by simply matching color space names. We no longer use cacheIDs from OpenColorIO since computing them is expensive, and they are unlikely to match now that more is baked into the shader code. Shaders can now use multiple 2D textures, 3D textures and uniforms, rather than a single 3D texture. So allocating and binding those adds some code. Color space conversions for blending with overlays is now hardcoded in the shader. This was using harcoded numbers anyway, if this every becomes a general OpenColorIO transform it can be changed, but for now there is no point to add code complexity. Ref D10273 CIE XYZ ======= We need standard CIE XYZ values for rendering effects like blackbody emission. The relation to the scene linear role is based on OpenColorIO configuration. In OpenColorIO 2.0 configs roles can no longer have the same name as color spaces, which means our XYZ role and colorspace in the configuration give an error. Instead use the new standard aces_interchange role, which relates scene linear to a known scene referred color space. Compatibility with the old XYZ role is preserved, if the configuration file has no conflicting names. Also includes a non-functional change to the configuraton file to use an XYZ-to-ACES matrix instead of REC709-to-ACES, makes debugging a little easier since the matrix is the same one we have in the code now and that is also found easily in the ACES specs. Ref D10274
2021-02-12CMake/Deps: fix build of nasm when asciidoc and xmlto are unavailableSybren A. Stüvel
Create zero-byte manual page files `nasm.1` and `ndisasm.1` such that nasm's `make install` step succeeds. Installing nasm requires that its manual pages are built. This requires local packages `asciidoc` and `xmlto` to be installed. Not only does `asciidoc` pull in 110 MB of packages (itself + dependencies), there is also no need for these manual pages. Nasm is just used for building other dependencies, and not even part of our precompiled libraries in SVN. Reviewed By: sebbas Differential Revision: https://developer.blender.org/D10396
2021-02-12Docs: add notes to 'make deps' & the sqlite build configurationCampbell Barton
- Move non-blender build targets into their own section. - Expand 'make help' text, noting a local 'make deps' overrides. - Note where the spell checkers word-list is maintained. - Note on why sqlite is built without 'tcl'.
2021-02-10CMake/Deps: Fix building cython on windowsRay Molenkamp
For the debug version of cython pip was trying to link against the release version of python for some strange reason. Passing some flags to explicitly target the debug version fixes the issue. Given other platforms do not have different builds for debug/release this is not an issue there.
2021-02-10cmake/deps: update Python to 3.9.1Ray Molenkamp
The following packages also have received updates: - IDNA 2.10 - CHARDET 4.0.0 - URLLIB3 1.26.3 - CERTIFI 2020.12.5 - REQUESTS 2.25.1 - NUMPY 1.19.5 numpy has gained a hard dependency on cython: - CYTHON 0.29.21 Notes: - This only updates the build environment files, once these are built, Blender can default to Python 3.9. - The 'm' suffix for Python binaries/libs has been removed. - The macOS patch in Python 3.7 is has been removed. Reviewed By: sybren, campbellbarton, sebbas Ref D10257
2021-02-05Cleanup: cmake indentation, white-spaceCampbell Barton
2021-02-02Merge branch 'blender-v2.92-release'Campbell Barton
2021-02-02cmake/deps: remove 'tcl' language support from sqliteCampbell Barton
Build sqlite without `tcl` support, as it's causes an error on installation when `tcl` is installed into the systems `/usr/lib/` and install isn't running as root. This could be resolves by adding `tcl` as a dependency however it's not needed for Python's sqlite integration. Linux distributions (Debian & Arch at least) split this off into a separate package (which Python doesn't depend on), so there is no need for Blender to include sqlite's `tcl` integration either. Reviewed By: brecht, LazyDodo Ref D10281
2021-02-01CMake/Windows/macOS: Add LibharuAnkit Meel
Decision: https://lists.blender.org/pipermail/bf-committers/2020-December/050836.html Adds CMake dependency builder support. Tested on macOS and Windows (Thanks @LazyDodo). Reviewed By: #platform_macos, LazyDodo, sebbas Maniphest Task: T84836 Differential Revision: https://developer.blender.org/D9928
2020-12-04macOS deps: Support building clang tidyAnkit Meel
This patch builds clang-extra-tools on macOS for the clang-tidy binary. The script "run-clang-tidy.py" is also harvested because using the `CMAKE_C[XX]_CLANG_TIDY` option can miss out some files (like makesrna), and using the script is faster as it does not compile the files. Thanks to `@LazyDodo` for the base patch D8502. Reviewed By: LazyDodo, sebbas, #platform_macos Differential Revision: https://developer.blender.org/D9450
2020-11-30Deps: PugiXML 1.10Ray Molenkamp
This separates out PugiXML that was previously bundled by OIIO. As this linux/mac libs are not available this commit only contains the builder and windows changes, and the option to enable pugixml is guarded by a platform if, this can be removed once all platforms have committed the svn libs. For details see D8628
2020-11-26macOS: Added new location for Homebrew.Stefan Werner
The build script for macOS dependencies expects to find bison provided by Homebrew under /usr/local. Since the default install location for Homebrew changes on macOS/ARM, the script now looks at the host architecture and switches to /opt/homebrew on Macs with Apple Silicon.
2020-11-06Cleanup: use string APPEND/PREPENDCampbell Barton
Replace 'set' with 'string(APPEND/PREPEND ...)'. This avoids duplicating the variable name.
2020-10-29Simplify and enable NanoVDB dependency installationPatrick Mours
Changes NanoVDB to be a standalone dependency that is independent of the OpenVDB one. It works by downloading the "feature/nanovdb" branch of OpenVDB, but using the NanoVDB CMake in the "nanovdb" subdirectory. Since it is header-only, only the install target is used. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9383
2020-10-20CMake/Windows: Compile GMP library as fat libraryRay Molenkamp
2020-10-20CMake: Compile GMP library as fat librarySergey Sharybin
The idea behind this is to compile all versions of functions, and let the library to pick the best at runtime. Attempting to fix T81835
2020-10-05Cycles: Add NanoVDB support for rendering volumesPatrick Mours
NanoVDB is a platform-independent sparse volume data structure that makes it possible to use OpenVDB volumes on the GPU. This patch uses it for volume rendering in Cycles, replacing the previous usage of dense 3D textures. Since it has a big impact on memory usage and performance and changes the OpenVDB branch used for the rest of Blender as well, this is not enabled by default yet, which will happen only after 2.82 was branched off. To enable it, build both dependencies and Blender itself with the "WITH_NANOVDB" CMake option. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8794
2020-10-05Cleanup: remove arguments to ENDIF in CMake filesCampbell Barton
This is an old convention that hasn't been used by Blender or CMake distributed Find* files for a long time.
2020-09-21Make deps: Enable fPIC for LinuxSergey Sharybin
Similar to D8823.
2020-09-18deps: fix build issue on windows.Ray Molenkamp
Windows does not build libxml2 so the dependency recently added for mac caused a cmake error.
2020-09-18Fix T79929: crashes with Cycles denoising on older MacsBrecht Van Lommel
This was a bug in OpenImageDenoise, upgrade to latest 1.2.3 which has the fix. This in turn required a newer ispc version. Differential Revision: https://developer.blender.org/D8892
2020-09-17Make deps: Compile own nasm for LinuxSergey Sharybin
This solves annoyance that the official RPM repository of nasm requires newer version of rpm tool compared to what is shipped by default with centOS 7. Differential Revision: https://developer.blender.org/D8905
2020-09-15GMP/macOS: silence "PIE disabled" linker warning.Ankit
The change builds GMP with `--with-pic` flag on non-arm architecture. The warning: ld: warning: PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in ___gmpn_divexact_1 from lib/darwin/gmp/lib/libgmp.a(dive_1.o). To fix this warning, don't compile with -mdynamic-no-pic or link with -Wl,-no_pie Reviewed By: sebbas Differential Revision: https://developer.blender.org/D8823
2020-09-15Deps: Add potrace as a new library dependencyRay Molenkamp
For work the GP team plans to land soon (T79877) potrace was taken on as an additional optional dependency. This diff adds building the library to the deps builder and takes care of the integration into the build-system with the `WITH_POTRACE` cmake switch. Differential Revision: https://developer.blender.org/D8662 Reviewed by: brecht, sergey
2020-09-15Cleanup: add missing headers to CMake, formattingCampbell Barton
2020-09-14Make deps: Updated required list of dependencies for macOSSebastián Barschkis
It was possible to drop `nasm` from the list of required macOS dependencies. However, `pkg-config` had to be added - it was required before but probably no one noticed this. In order to build `external_clang` successfully, `external_xml2` had to be added to the clang dependencies (`c-index-test` was failing). Note: On Linux `make deps` still seems to require `nasm` installed via apt. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8870
2020-09-03Make deps: Disabled assembly for GMP on Apple/arm64.Stefan Werner
This appears to be a configuration for which GMP has no assembly, yet the default configure script tries to build it.
2020-08-27Cleanup: Fix white space in versions.cmakeRay Molenkamp
2020-08-18Build deps: Enable SSE optimization for FFmpegSergey Sharybin
The description is self-explanatory: enable SSE optimizations in the FFmpeg library. They were disabled from the very beginning of the dependency builder, possibly due to portability concerns. FFmpeg does perform runtime check for available CPU microarchitectures, so the codecs will still run on older hardware, but they will run way faster on newer hardware. For example, re-encoding 3405 2560x1376 frames on Xeon E5-2699 V4 CPU went down from 313sec to 210. Differential Revision: https://developer.blender.org/D8594
2020-08-15deps_builder: Fix boost::python linking release python libraryRay Molenkamp
By default boost::python in debug configuration links the release python libraries. Which leads to loading issues with the produced modules in a debug blender (which does use the debug python libs) Bjam has an option to switch this to the debug libraries but when you switch that on it changes the library names for *all* boost libraries, even ones that don't have anything to do with python and even the release libraries. therefore an alternative way has been chosen and we're dealing with this by adding a define rather than asking bjam to do it.