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
diff options
context:
space:
mode:
-rw-r--r--build_files/cmake/cmake_consistency_check.py229
-rw-r--r--build_files/cmake/cmake_qtcreator_project.py104
-rw-r--r--build_files/cmake/example_scripts/make_quiet.sh10
-rw-r--r--build_files/cmake/macros.cmake587
-rwxr-xr-xbuild_files/make/example_scripts/linux_nanmakefiles.sh38
-rwxr-xr-xbuild_files/make/example_scripts/macos_nanmakefiles.sh18
-rwxr-xr-xbuild_files/make/example_scripts/sunos_nanmakefiles.sh35
-rw-r--r--build_files/make/nan_compile.mk474
-rw-r--r--build_files/make/nan_definitions.mk646
-rw-r--r--build_files/make/nan_link.mk202
-rw-r--r--build_files/make/nan_subdirs.mk78
-rw-r--r--build_files/make/nan_warn.mk167
-rw-r--r--build_files/package_spec/build_debian.sh34
-rw-r--r--build_files/package_spec/pacman/PKGBUILD98
-rw-r--r--build_files/package_spec/pacman/blender.install58
-rw-r--r--build_files/scons/config/aix4-config.py2
-rw-r--r--build_files/scons/config/darwin-config.py4
-rw-r--r--build_files/scons/config/freebsd7-config.py10
-rw-r--r--build_files/scons/config/freebsd8-config.py10
-rw-r--r--build_files/scons/config/freebsd9-config.py10
-rw-r--r--build_files/scons/config/irix6-config.py6
-rw-r--r--build_files/scons/config/linux2-config.py18
-rw-r--r--build_files/scons/config/linuxcross-config.py6
-rw-r--r--build_files/scons/config/openbsd3-config.py4
-rw-r--r--build_files/scons/config/sunos5-config.py2
-rw-r--r--build_files/scons/config/win32-mingw-config.py6
-rw-r--r--build_files/scons/config/win32-vc-config.py11
-rw-r--r--build_files/scons/config/win64-vc-config.py45
-rw-r--r--build_files/scons/tools/Blender.py38
-rw-r--r--build_files/scons/tools/btools.py68
30 files changed, 943 insertions, 2075 deletions
diff --git a/build_files/cmake/cmake_consistency_check.py b/build_files/cmake/cmake_consistency_check.py
new file mode 100644
index 00000000000..a34f21d9e8a
--- /dev/null
+++ b/build_files/cmake/cmake_consistency_check.py
@@ -0,0 +1,229 @@
+#!/usr/bin/env python
+
+# $Id: cmake_consistency_check.py 34636 2011-02-04 09:27:25Z campbellbarton $
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# Contributor(s): Campbell Barton
+#
+# ***** END GPL LICENSE BLOCK *****
+
+# <pep8 compliant>
+
+IGNORE = \
+ "/test/",\
+ "/decimate_glut_test/",\
+ "/BSP_GhostTest/",\
+ "/release/",\
+ "/xembed/",\
+ "/decimation/intern/future/",\
+ "/TerraplayNetwork/",\
+ "/ik_glut_test/"
+
+import os
+from os.path import join, dirname, normpath, abspath
+
+base = join(os.path.dirname(__file__), "..", "..")
+base = normpath(base)
+base = abspath(base)
+
+print("Scanning:", base)
+
+global_h = set()
+global_c = set()
+
+import os
+from os.path import splitext
+
+
+def source_list(path, filename_check=None):
+ for dirpath, dirnames, filenames in os.walk(path):
+
+ # skip '.svn'
+ if dirpath.startswith("."):
+ continue
+
+ for filename in filenames:
+ if filename_check is None or filename_check(filename):
+ yield os.path.join(dirpath, filename)
+
+
+# extension checking
+def is_c_header(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".h", ".hpp", ".hxx"))
+
+
+def is_cmake(filename):
+ ext = splitext(filename)[1]
+ return (ext == ".cmake") or (filename == "CMakeLists.txt")
+
+
+def is_c_header(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".h", ".hpp", ".hxx"))
+
+
+def is_c(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".c", ".cpp", ".cxx", ".m", ".mm", ".rc"))
+
+
+def is_c_any(filename):
+ return is_c(filename) or is_c_header(filename)
+
+
+def cmake_get_src(f):
+
+ sources_h = []
+ sources_c = []
+
+ filen = open(f, "r", encoding="utf8")
+ it = iter(filen)
+ found = False
+ i = 0
+ # print(f)
+ while it is not None:
+ while it is not None:
+ i += 1
+ try:
+ l = next(it)
+ except StopIteration:
+ it = None
+ break
+ l = l.strip()
+ if not l.startswith("#"):
+ if 'set(SRC' in l or ('set(' in l and l.endswith("SRC")):
+ if len(l.split()) > 1:
+ raise Exception("strict formatting not kept 'set(SRC*' %s:%d" % (f, i))
+ found = True
+ break
+
+ if "list(APPEND SRC" in l:
+ if l.endswith(")"):
+ raise Exception("strict formatting not kept 'list(APPEND SRC...)' on 1 line %s:%d" % (f, i))
+ found = True
+ break
+
+ if found:
+ cmake_base = dirname(f)
+
+ while it is not None:
+ i += 1
+ try:
+ l = next(it)
+ except StopIteration:
+ it = None
+ break
+
+ l = l.strip()
+
+ if not l.startswith("#"):
+
+ if ")" in l:
+ if l.strip() != ")":
+ raise Exception("strict formatting not kept '*)' %s:%d" % (f, i))
+ break
+
+ # replace dirs
+ l = l.replace("${CMAKE_CURRENT_SOURCE_DIR}", cmake_base)
+
+ if not l:
+ pass
+ elif l.startswith("$"):
+ print("Cant use var '%s' %s:%d" % (l, f, i))
+ elif len(l.split()) > 1:
+ raise Exception("Multi-line define '%s' %s:%d" % (l, f, i))
+ else:
+ new_file = normpath(join(cmake_base, l))
+
+ if is_c_header(new_file):
+ sources_h.append(new_file)
+ elif is_c(new_file):
+ sources_c.append(new_file)
+ elif l in ("PARENT_SCOPE", ):
+ # cmake var, ignore
+ pass
+ else:
+ raise Exception("unknown file type - not c or h %s -> %s" % (f, new_file))
+
+ # print(new_file)
+
+ global_h.update(set(sources_h))
+ global_c.update(set(sources_c))
+ '''
+ if not sources_h and not sources_c:
+ raise Exception("No sources %s" % f)
+
+ sources_h_fs = list(source_list(cmake_base, is_c_header))
+ sources_c_fs = list(source_list(cmake_base, is_c))
+ '''
+ # find missing C files:
+ '''
+ for ff in sources_c_fs:
+ if ff not in sources_c:
+ print(" missing: " + ff)
+ '''
+
+ filen.close()
+
+
+for cmake in source_list(base, is_cmake):
+ cmake_get_src(cmake)
+
+
+def is_ignore(f):
+ for ig in IGNORE:
+ if ig in f:
+ return True
+ return False
+
+# First do stupid check, do these files exist?
+for f in (global_h | global_c):
+ if f.endswith("dna.c"):
+ continue
+
+ if not os.path.exists(f):
+ raise Exception("CMake referenced file missing: " + f)
+
+
+# now check on files not accounted for.
+print("\nC/C++ Files CMake doesnt know about...")
+for cf in sorted(source_list(base, is_c)):
+ if not is_ignore(cf):
+ if cf not in global_c:
+ print("missing_c: ", cf)
+print("\nC/C++ Headers CMake doesnt know about...")
+for hf in sorted(source_list(base, is_c_header)):
+ if not is_ignore(hf):
+ if hf not in global_h:
+ print("missing_h: ", hf)
+
+# test encoding
+import traceback
+for files in (global_c, global_h):
+ for f in sorted(files):
+ if os.path.exists(f):
+ # ignore outside of our source tree
+ if "extern" not in f:
+ i = 1
+ try:
+ for l in open(f, "r", encoding="utf8"):
+ i += 1
+ except:
+ print("Non utf8: %s:%d" % (f, i))
+ if i > 1:
+ traceback.print_exc()
diff --git a/build_files/cmake/cmake_qtcreator_project.py b/build_files/cmake/cmake_qtcreator_project.py
new file mode 100644
index 00000000000..3adce66fade
--- /dev/null
+++ b/build_files/cmake/cmake_qtcreator_project.py
@@ -0,0 +1,104 @@
+#!/usr/bin/env python
+
+# $Id:
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# Contributor(s): Campbell Barton
+#
+# ***** END GPL LICENSE BLOCK *****
+
+# <pep8 compliant>
+
+import os
+from os.path import join, dirname, normpath, abspath, splitext, relpath, exists
+
+base = join(os.path.dirname(__file__), "..", "..")
+base = normpath(base)
+base = abspath(base)
+
+
+def source_list(path, filename_check=None):
+ for dirpath, dirnames, filenames in os.walk(path):
+
+ # skip '.svn'
+ if dirpath.startswith("."):
+ continue
+
+ for filename in filenames:
+ filepath = join(dirpath, filename)
+ if filename_check is None or filename_check(filepath):
+ yield filepath
+
+
+# extension checking
+def is_c_header(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".h", ".hpp", ".hxx"))
+
+
+def is_cmake(filename):
+ ext = splitext(filename)[1]
+ return (ext == ".cmake") or (filename == "CMakeLists.txt")
+
+
+def is_c_header(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".h", ".hpp", ".hxx"))
+
+
+def is_c(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".c", ".cpp", ".cxx", ".m", ".mm", ".rc"))
+
+
+def is_c_any(filename):
+ return is_c(filename) or is_c_header(filename)
+
+
+def is_svn_file(filename):
+ dn, fn = os.path.split(filename)
+ filename_svn = join(dn, ".svn", "text-base", "%s.svn-base" % fn)
+ return exists(filename_svn)
+
+
+def is_project_file(filename):
+ return (is_c_any(filename) or is_cmake(filename)) and is_svn_file(filename)
+
+files = list(source_list(base, filename_check=is_project_file))
+files_rel = [relpath(f, start=base) for f in files]
+files_rel.sort()
+
+
+# --- qtcreator spesific, simple format
+PROJECT_NAME = "Blender"
+f = open(join(base, "%s.files" % PROJECT_NAME), 'w')
+f.write("\n".join(files_rel))
+
+f = open(join(base, "%s.includes" % PROJECT_NAME), 'w')
+f.write("\n".join(sorted(list(set(dirname(f) for f in files_rel if is_c_header(f))))))
+
+qtc_prj = join(base, "%s.creator" % PROJECT_NAME)
+f = open(qtc_prj, 'w')
+f.write("[General]\n")
+
+qtc_cfg = join(base, "%s.config" % PROJECT_NAME)
+if not exists(qtc_cfg):
+ f = open(qtc_cfg, 'w')
+ f.write("// ADD PREDEFINED MACROS HERE!\n")
+
+print("Project file written to: %s" % qtc_prj)
+# --- end
diff --git a/build_files/cmake/example_scripts/make_quiet.sh b/build_files/cmake/example_scripts/make_quiet.sh
new file mode 100644
index 00000000000..9e179201541
--- /dev/null
+++ b/build_files/cmake/example_scripts/make_quiet.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+# filters CMake output to be more like nan-makefiles
+
+FILTER="^\[ *[0-9]*%] \|^Built target \|^Scanning "
+make $@ | \
+ sed -u -e 's/^Linking .*\//Linking /' | \
+ sed -u -e 's/^.*\// /' | \
+ grep --line-buffered -v "$FILTER"
+
+echo "Build Done"
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index 0957ace301c..b700fdf2cfa 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -1,253 +1,378 @@
-MACRO(BLENDERLIB_NOLIST
+# -*- mode: cmake; indent-tabs-mode: t; -*-
+# $Id$
+
+# Nicer makefiles with -I/1/foo/ instead of -I/1/2/3/../../foo/
+# use it instead of include_directories()
+macro(blender_include_dirs
+ includes)
+
+ foreach(inc ${ARGV})
+ get_filename_component(abs_inc ${inc} ABSOLUTE)
+ list(APPEND all_incs ${abs_inc})
+ endforeach()
+ include_directories(${all_incs})
+endmacro()
+
+# only MSVC uses SOURCE_GROUP
+macro(blender_add_lib_nolist
name
sources
includes)
- # Gather all headers
- FILE(GLOB_RECURSE INC_ALL *.h)
-
- INCLUDE_DIRECTORIES(${includes})
- ADD_LIBRARY(${name} ${INC_ALL} ${sources})
+ # message(STATUS "Configuring library ${name}")
+
+ blender_include_dirs("${includes}")
+ add_library(${name} ${sources})
# Group by location on disk
- SOURCE_GROUP(Files FILES CMakeLists.txt)
- SET(ALL_FILES ${sources} ${INC_ALL})
- FOREACH(SRC ${ALL_FILES})
- STRING(REGEX REPLACE ${CMAKE_CURRENT_SOURCE_DIR} "Files" REL_DIR "${SRC}")
- STRING(REGEX REPLACE "[\\\\/][^\\\\/]*$" "" REL_DIR "${REL_DIR}")
- STRING(REGEX REPLACE "^[\\\\/]" "" REL_DIR "${REL_DIR}")
- IF(REL_DIR)
- SOURCE_GROUP(${REL_DIR} FILES ${SRC})
- ELSE(REL_DIR)
- SOURCE_GROUP(Files FILES ${SRC})
- ENDIF(REL_DIR)
- ENDFOREACH(SRC)
-
- MESSAGE(STATUS "Configuring library ${name}")
-ENDMACRO(BLENDERLIB_NOLIST)
-
-MACRO(BLENDERLIB
+ source_group("Source Files" FILES CMakeLists.txt)
+ foreach(SRC ${sources})
+ get_filename_component(SRC_EXT ${SRC} EXT)
+ if(${SRC_EXT} MATCHES ".h" OR ${SRC_EXT} MATCHES ".hpp")
+ source_group("Header Files" FILES ${SRC})
+ else()
+ source_group("Source Files" FILES ${SRC})
+ endif()
+ endforeach()
+endmacro()
+
+# # works fine but having the includes listed is helpful for IDE's (QtCreator/MSVC)
+# macro(blender_add_lib_nolist
+# name
+# sources
+# includes)
+#
+# message(STATUS "Configuring library ${name}")
+# include_directories(${includes})
+# add_library(${name} ${sources})
+# endmacro()
+
+macro(blender_add_lib
name
sources
includes)
- BLENDERLIB_NOLIST(${name} "${sources}" "${includes}")
+ blender_add_lib_nolist(${name} "${sources}" "${includes}")
- # Add to blender's list of libraries
- FILE(APPEND ${CMAKE_BINARY_DIR}/cmake_blender_libs.txt "${name};")
-ENDMACRO(BLENDERLIB)
+ set_property(GLOBAL APPEND PROPERTY BLENDER_LINK_LIBS ${name})
-MACRO(SETUP_LIBDIRS)
+endmacro()
+
+macro(SETUP_LIBDIRS)
# see "cmake --help-policy CMP0003"
if(COMMAND cmake_policy)
- CMAKE_POLICY(SET CMP0003 NEW)
- endif(COMMAND cmake_policy)
-
- LINK_DIRECTORIES(${JPEG_LIBPATH} ${PNG_LIBPATH} ${ZLIB_LIBPATH} ${FREETYPE_LIBPATH} ${LIBSAMPLERATE_LIBPATH})
-
- IF(WITH_PYTHON)
- LINK_DIRECTORIES(${PYTHON_LIBPATH})
- ENDIF(WITH_PYTHON)
- IF(WITH_INTERNATIONAL)
- LINK_DIRECTORIES(${ICONV_LIBPATH})
- LINK_DIRECTORIES(${GETTEXT_LIBPATH})
- ENDIF(WITH_INTERNATIONAL)
- IF(WITH_SDL)
- LINK_DIRECTORIES(${SDL_LIBPATH})
- ENDIF(WITH_SDL)
- IF(WITH_FFMPEG)
- LINK_DIRECTORIES(${FFMPEG_LIBPATH})
- ENDIF(WITH_FFMPEG)
- IF(WITH_IMAGE_OPENEXR)
- LINK_DIRECTORIES(${OPENEXR_LIBPATH})
- ENDIF(WITH_IMAGE_OPENEXR)
- IF(WITH_IMAGE_TIFF)
- LINK_DIRECTORIES(${TIFF_LIBPATH})
- ENDIF(WITH_IMAGE_TIFF)
- IF(WITH_LCMS)
- LINK_DIRECTORIES(${LCMS_LIBPATH})
- ENDIF(WITH_LCMS)
- IF(WITH_QUICKTIME)
- LINK_DIRECTORIES(${QUICKTIME_LIBPATH})
- ENDIF(WITH_QUICKTIME)
- IF(WITH_OPENAL)
- LINK_DIRECTORIES(${OPENAL_LIBPATH})
- ENDIF(WITH_OPENAL)
- IF(WITH_JACK)
- LINK_DIRECTORIES(${JACK_LIBPATH})
- ENDIF(WITH_JACK)
- IF(WITH_SNDFILE)
- LINK_DIRECTORIES(${SNDFILE_LIBPATH})
- ENDIF(WITH_SNDFILE)
- IF(WITH_FFTW3)
- LINK_DIRECTORIES(${FFTW3_LIBPATH})
- ENDIF(WITH_FFTW3)
- IF(WITH_OPENCOLLADA)
- LINK_DIRECTORIES(${OPENCOLLADA_LIBPATH})
- LINK_DIRECTORIES(${PCRE_LIBPATH})
- LINK_DIRECTORIES(${EXPAT_LIBPATH})
- ENDIF(WITH_OPENCOLLADA)
-
- IF(WIN32)
- LINK_DIRECTORIES(${PTHREADS_LIBPATH})
- ENDIF(WIN32)
-ENDMACRO(SETUP_LIBDIRS)
-
-MACRO(SETUP_LIBLINKS
+ cmake_policy(SET CMP0003 NEW)
+ endif()
+
+ link_directories(${JPEG_LIBPATH} ${PNG_LIBPATH} ${ZLIB_LIBPATH} ${FREETYPE_LIBPATH})
+
+ if(WITH_PYTHON)
+ link_directories(${PYTHON_LIBPATH})
+ endif()
+ if(WITH_INTERNATIONAL)
+ link_directories(${ICONV_LIBPATH})
+ link_directories(${GETTEXT_LIBPATH})
+ endif()
+ if(WITH_SDL)
+ link_directories(${SDL_LIBPATH})
+ endif()
+ if(WITH_CODEC_FFMPEG)
+ link_directories(${FFMPEG_LIBPATH})
+ endif()
+ if(WITH_IMAGE_OPENEXR)
+ link_directories(${OPENEXR_LIBPATH})
+ endif()
+ if(WITH_IMAGE_TIFF)
+ link_directories(${TIFF_LIBPATH})
+ endif()
+ if(WITH_LCMS)
+ link_directories(${LCMS_LIBPATH})
+ endif()
+ if(WITH_CODEC_QUICKTIME)
+ link_directories(${QUICKTIME_LIBPATH})
+ endif()
+ if(WITH_OPENAL)
+ link_directories(${OPENAL_LIBPATH})
+ endif()
+ if(WITH_JACK)
+ link_directories(${JACK_LIBPATH})
+ endif()
+ if(WITH_CODEC_SNDFILE)
+ link_directories(${SNDFILE_LIBPATH})
+ endif()
+ if(WITH_SAMPLERATE)
+ link_directories(${LIBSAMPLERATE_LIBPATH})
+ endif()
+ if(WITH_FFTW3)
+ link_directories(${FFTW3_LIBPATH})
+ endif()
+ if(WITH_OPENCOLLADA)
+ link_directories(${OPENCOLLADA_LIBPATH})
+ link_directories(${PCRE_LIBPATH})
+ link_directories(${EXPAT_LIBPATH})
+ endif()
+
+ if(WIN32 AND NOT UNIX)
+ link_directories(${PTHREADS_LIBPATH})
+ endif()
+endmacro()
+
+macro(setup_liblinks
target)
- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS} ")
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS} ")
- TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${JPEG_LIBRARY} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${LLIBS})
+ target_link_libraries(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${LLIBS})
# since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions
- IF(WITH_PYTHON)
- TARGET_LINK_LIBRARIES(${target} ${PYTHON_LINKFLAGS})
-
- IF(WIN32)
- TARGET_LINK_LIBRARIES(${target} debug ${PYTHON_LIB}_d)
- TARGET_LINK_LIBRARIES(${target} optimized ${PYTHON_LIB})
- ELSE(WIN32)
- TARGET_LINK_LIBRARIES(${target} ${PYTHON_LIB})
- ENDIF(WIN32)
- ENDIF(WITH_PYTHON)
-
- TARGET_LINK_LIBRARIES(${target} ${OPENGL_glu_LIBRARY} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB})
- TARGET_LINK_LIBRARIES(${target} ${FREETYPE_LIBRARY} ${LIBSAMPLERATE_LIB})
-
- IF(WITH_INTERNATIONAL)
- TARGET_LINK_LIBRARIES(${target} ${GETTEXT_LIB})
-
- IF(WIN32)
- TARGET_LINK_LIBRARIES(${target} ${ICONV_LIB})
- ENDIF(WIN32)
- ENDIF(WITH_INTERNATIONAL)
-
- IF(WITH_OPENAL)
- TARGET_LINK_LIBRARIES(${target} ${OPENAL_LIBRARY})
- ENDIF(WITH_OPENAL)
- IF(WITH_FFTW3)
- TARGET_LINK_LIBRARIES(${target} ${FFTW3_LIB})
- ENDIF(WITH_FFTW3)
- IF(WITH_JACK)
- TARGET_LINK_LIBRARIES(${target} ${JACK_LIB})
- ENDIF(WITH_JACK)
- IF(WITH_SNDFILE)
- TARGET_LINK_LIBRARIES(${target} ${SNDFILE_LIB})
- ENDIF(WITH_SNDFILE)
- IF(WITH_SDL)
- TARGET_LINK_LIBRARIES(${target} ${SDL_LIBRARY})
- ENDIF(WITH_SDL)
- IF(WITH_QUICKTIME)
- TARGET_LINK_LIBRARIES(${target} ${QUICKTIME_LIB})
- ENDIF(WITH_QUICKTIME)
- IF(WITH_IMAGE_TIFF)
- TARGET_LINK_LIBRARIES(${target} ${TIFF_LIBRARY})
- ENDIF(WITH_IMAGE_TIFF)
- IF(WITH_IMAGE_OPENEXR)
- IF(WIN32)
- FOREACH(loop_var ${OPENEXR_LIB})
- TARGET_LINK_LIBRARIES(${target} debug ${loop_var}_d)
- TARGET_LINK_LIBRARIES(${target} optimized ${loop_var})
- ENDFOREACH(loop_var)
- ELSE(WIN32)
- TARGET_LINK_LIBRARIES(${target} ${OPENEXR_LIB})
- ENDIF(WIN32)
- ENDIF(WITH_IMAGE_OPENEXR)
- IF(WITH_LCMS)
- TARGET_LINK_LIBRARIES(${target} ${LCMS_LIBRARY})
- ENDIF(WITH_LCMS)
- IF(WITH_FFMPEG)
- TARGET_LINK_LIBRARIES(${target} ${FFMPEG_LIB})
- ENDIF(WITH_FFMPEG)
- IF(WITH_OPENCOLLADA)
- IF(WIN32)
- FOREACH(loop_var ${OPENCOLLADA_LIB})
- TARGET_LINK_LIBRARIES(${target} debug ${loop_var}_d)
- TARGET_LINK_LIBRARIES(${target} optimized ${loop_var})
- ENDFOREACH(loop_var)
- TARGET_LINK_LIBRARIES(${target} debug ${PCRE_LIB}_d)
- TARGET_LINK_LIBRARIES(${target} optimized ${PCRE_LIB})
- IF(EXPAT_LIB)
- TARGET_LINK_LIBRARIES(${target} debug ${EXPAT_LIB}_d)
- TARGET_LINK_LIBRARIES(${target} optimized ${EXPAT_LIB})
- ENDIF(EXPAT_LIB)
- ELSE(WIN32)
- TARGET_LINK_LIBRARIES(${target} ${OPENCOLLADA_LIB})
- TARGET_LINK_LIBRARIES(${target} ${PCRE_LIB})
- TARGET_LINK_LIBRARIES(${target} ${EXPAT_LIB})
- ENDIF(WIN32)
- ENDIF(WITH_OPENCOLLADA)
- IF(WIN32)
- TARGET_LINK_LIBRARIES(${target} ${PTHREADS_LIB})
- ENDIF(WIN32)
-ENDMACRO(SETUP_LIBLINKS)
-
-MACRO(TEST_SSE_SUPPORT)
- INCLUDE(CheckCSourceRuns)
-
- MESSAGE(STATUS "Detecting SSE support")
- IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_REQUIRED_FLAGS "-msse -msse2")
- ELSEIF(MSVC)
- SET(CMAKE_REQUIRED_FLAGS "/arch:SSE2") # TODO, SSE 1 ?
- ENDIF()
-
- CHECK_C_SOURCE_RUNS("
- #include <xmmintrin.h>
- int main() { __m128 v = _mm_setzero_ps(); return 0; }"
- SUPPORT_SSE_BUILD)
-
- CHECK_C_SOURCE_RUNS("
- #include <emmintrin.h>
- int main() { __m128d v = _mm_setzero_pd(); return 0; }"
- SUPPORT_SSE2_BUILD)
- MESSAGE(STATUS "Detecting SSE support")
-
- IF(SUPPORT_SSE_BUILD)
- MESSAGE(STATUS " ...SSE support found.")
- ELSE(SUPPORT_SSE_BUILD)
- MESSAGE(STATUS " ...SSE support missing.")
- ENDIF(SUPPORT_SSE_BUILD)
-
- IF(SUPPORT_SSE2_BUILD)
- MESSAGE(STATUS " ...SSE2 support found.")
- ELSE(SUPPORT_SSE2_BUILD)
- MESSAGE(STATUS " ...SSE2 support missing.")
- ENDIF(SUPPORT_SSE2_BUILD)
-
-ENDMACRO(TEST_SSE_SUPPORT)
-
-
-MACRO(GET_BLENDER_VERSION)
- FILE(READ ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender.h CONTENT)
- STRING(REGEX REPLACE "\n" ";" CONTENT "${CONTENT}")
- STRING(REGEX REPLACE "\t" ";" CONTENT "${CONTENT}")
- STRING(REGEX REPLACE " " ";" CONTENT "${CONTENT}")
-
- FOREACH(ITEM ${CONTENT})
- IF(LASTITEM MATCHES "BLENDER_VERSION")
+ if(WITH_PYTHON)
+ target_link_libraries(${target} ${PYTHON_LINKFLAGS})
+
+ if(WIN32 AND NOT UNIX)
+ target_link_libraries(${target} debug ${PYTHON_LIBRARY}_d)
+ target_link_libraries(${target} optimized ${PYTHON_LIBRARY})
+ else()
+ target_link_libraries(${target} ${PYTHON_LIBRARY})
+ endif()
+ endif()
+
+ target_link_libraries(${target} ${OPENGL_glu_LIBRARY} ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES})
+ target_link_libraries(${target} ${FREETYPE_LIBRARY})
+
+ if(WITH_INTERNATIONAL)
+ target_link_libraries(${target} ${GETTEXT_LIB})
+
+ if(WIN32 AND NOT UNIX)
+ target_link_libraries(${target} ${ICONV_LIB})
+ endif()
+ endif()
+
+ if(WITH_OPENAL)
+ target_link_libraries(${target} ${OPENAL_LIBRARY})
+ endif()
+ if(WITH_FFTW3)
+ target_link_libraries(${target} ${FFTW3_LIB})
+ endif()
+ if(WITH_JACK)
+ target_link_libraries(${target} ${JACK_LIB})
+ endif()
+ if(WITH_CODEC_SNDFILE)
+ target_link_libraries(${target} ${SNDFILE_LIB})
+ endif()
+ if(WITH_SAMPLERATE)
+ target_link_libraries(${target} ${LIBSAMPLERATE_LIB})
+ endif()
+ if(WITH_SDL)
+ target_link_libraries(${target} ${SDL_LIBRARY})
+ endif()
+ if(WITH_CODEC_QUICKTIME)
+ target_link_libraries(${target} ${QUICKTIME_LIB})
+ endif()
+ if(WITH_IMAGE_TIFF)
+ target_link_libraries(${target} ${TIFF_LIBRARY})
+ endif()
+ if(WITH_IMAGE_OPENEXR)
+ if(WIN32 AND NOT UNIX)
+ foreach(loop_var ${OPENEXR_LIB})
+ target_link_libraries(${target} debug ${loop_var}_d)
+ target_link_libraries(${target} optimized ${loop_var})
+ endforeach()
+ else()
+ target_link_libraries(${target} ${OPENEXR_LIB})
+ endif()
+ endif()
+ if(WITH_LCMS)
+ target_link_libraries(${target} ${LCMS_LIBRARY})
+ endif()
+ if(WITH_CODEC_FFMPEG)
+ target_link_libraries(${target} ${FFMPEG_LIB})
+ endif()
+ if(WITH_OPENCOLLADA)
+ if(WIN32 AND NOT UNIX)
+ foreach(loop_var ${OPENCOLLADA_LIB})
+ target_link_libraries(${target} debug ${loop_var}_d)
+ target_link_libraries(${target} optimized ${loop_var})
+ endforeach()
+ target_link_libraries(${target} debug ${PCRE_LIB}_d)
+ target_link_libraries(${target} optimized ${PCRE_LIB})
+ if(EXPAT_LIB)
+ target_link_libraries(${target} debug ${EXPAT_LIB}_d)
+ target_link_libraries(${target} optimized ${EXPAT_LIB})
+ endif()
+ else()
+ target_link_libraries(${target} ${OPENCOLLADA_LIB})
+ target_link_libraries(${target} ${PCRE_LIB})
+ target_link_libraries(${target} ${EXPAT_LIB})
+ endif()
+ endif()
+ if(WITH_LCMS)
+ if(WIN32 AND NOT UNIX)
+ target_link_libraries(${target} debug ${LCMS_LIB}_d)
+ target_link_libraries(${target} optimized ${LCMS_LIB})
+ endif()
+ endif()
+ if(WIN32 AND NOT UNIX)
+ target_link_libraries(${target} ${PTHREADS_LIB})
+ endif()
+endmacro()
+
+macro(TEST_SSE_SUPPORT)
+ include(CheckCSourceRuns)
+
+ # message(STATUS "Detecting SSE support")
+ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_REQUIRED_FLAGS "-msse -msse2")
+ elseif(MSVC)
+ set(CMAKE_REQUIRED_FLAGS "/arch:SSE2") # TODO, SSE 1 ?
+ endif()
+
+ if(NOT DEFINED ${SUPPORT_SSE_BUILD})
+ check_c_source_runs("
+ #include <xmmintrin.h>
+ int main() { __m128 v = _mm_setzero_ps(); return 0; }"
+ SUPPORT_SSE_BUILD)
+
+ if(SUPPORT_SSE_BUILD)
+ message(STATUS "SSE Support: detected.")
+ else()
+ message(STATUS "SSE Support: missing.")
+ endif()
+ set(${SUPPORT_SSE_BUILD} ${SUPPORT_SSE_BUILD} CACHE INTERNAL "SSE Test")
+ endif()
+
+ if(NOT DEFINED ${SUPPORT_SSE2_BUILD})
+ check_c_source_runs("
+ #include <emmintrin.h>
+ int main() { __m128d v = _mm_setzero_pd(); return 0; }"
+ SUPPORT_SSE2_BUILD)
+
+ if(SUPPORT_SSE2_BUILD)
+ message(STATUS "SSE2 Support: detected.")
+ else()
+ message(STATUS "SSE2 Support: missing.")
+ endif()
+ set(${SUPPORT_SSE2_BUILD} ${SUPPORT_SSE2_BUILD} CACHE INTERNAL "SSE2 Test")
+ endif()
+
+endmacro()
+
+# when we have warnings as errors applied globally this
+# needs to be removed for some external libs which we dont maintain.
+
+# utility macro
+macro(_remove_strict_flags
+ flag)
+
+ string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+ string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
+ string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
+ string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}")
+ string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
+
+ string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
+ string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
+ string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}")
+ string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
+
+endmacro()
+
+macro(remove_strict_flags)
+
+ if(CMAKE_COMPILER_IS_GNUCC)
+ _remove_strict_flags("-Wstrict-prototypes")
+ _remove_strict_flags("-Wunused-parameter")
+ _remove_strict_flags("-Wwrite-strings")
+ _remove_strict_flags("-Wshadow")
+ _remove_strict_flags("-Werror=[^ ]+")
+ _remove_strict_flags("-Werror")
+ endif()
+
+ if(MSVC)
+ # TODO
+ endif()
+
+endmacro()
+
+
+# XXX, until cmake 2.8.4 is released.
+INCLUDE(CheckCSourceCompiles)
+MACRO (CHECK_C_COMPILER_FLAG__INTERNAL _FLAG _RESULT)
+ SET(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
+ SET(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
+ CHECK_C_SOURCE_COMPILES("int main(void) { return 0;}" ${_RESULT}
+ # Some compilers do not fail with a bad flag
+ FAIL_REGEX "unrecognized .*option" # GNU
+ FAIL_REGEX "ignoring unknown option" # MSVC
+ FAIL_REGEX "[Uu]nknown option" # HP
+ FAIL_REGEX "[Ww]arning: [Oo]ption" # SunPro
+ FAIL_REGEX "command option .* is not recognized" # XL
+ )
+ SET (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
+ENDMACRO (CHECK_C_COMPILER_FLAG__INTERNAL)
+# XXX, end duplicate code.
+
+macro(ADD_CHECK_C_COMPILER_FLAG
+ _CFLAGS
+ _CACHE_VAR
+ _FLAG)
+
+ # include(CheckCCompilerFlag)
+
+ CHECK_C_COMPILER_FLAG__INTERNAL("${_FLAG}" "${_CACHE_VAR}")
+ if(${_CACHE_VAR})
+ # message(STATUS "Using CFLAG: ${_FLAG}")
+ set(${_CFLAGS} "${${_CFLAGS}} ${_FLAG}")
+ else()
+ message(STATUS "Unsupported CFLAG: ${_FLAG}")
+ endif()
+endmacro()
+
+macro(ADD_CHECK_CXX_COMPILER_FLAG
+ _CXXFLAGS
+ _CACHE_VAR
+ _FLAG)
+
+ include(CheckCXXCompilerFlag)
+
+ CHECK_CXX_COMPILER_FLAG("${_FLAG}" "${_CACHE_VAR}")
+ if(${_CACHE_VAR})
+ # message(STATUS "Using CXXFLAG: ${_FLAG}")
+ set(${_CXXFLAGS} "${${_CXXFLAGS}} ${_FLAG}")
+ else()
+ message(STATUS "Unsupported CXXFLAG: ${_FLAG}")
+ endif()
+endmacro()
+
+macro(get_blender_version)
+ file(READ ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender.h CONTENT)
+ string(REGEX REPLACE "\n" ";" CONTENT "${CONTENT}")
+ string(REGEX REPLACE "\t" ";" CONTENT "${CONTENT}")
+ string(REGEX REPLACE " " ";" CONTENT "${CONTENT}")
+
+ foreach(ITEM ${CONTENT})
+ if(LASTITEM MATCHES "BLENDER_VERSION")
MATH(EXPR BLENDER_VERSION_MAJOR "${ITEM} / 100")
MATH(EXPR BLENDER_VERSION_MINOR "${ITEM} % 100")
- SET(BLENDER_VERSION "${BLENDER_VERSION_MAJOR}.${BLENDER_VERSION_MINOR}")
- ENDIF(LASTITEM MATCHES "BLENDER_VERSION")
-
- IF(LASTITEM MATCHES "BLENDER_SUBVERSION")
- SET(BLENDER_SUBVERSION ${ITEM})
- ENDIF(LASTITEM MATCHES "BLENDER_SUBVERSION")
-
- IF(LASTITEM MATCHES "BLENDER_MINVERSION")
+ set(BLENDER_VERSION "${BLENDER_VERSION_MAJOR}.${BLENDER_VERSION_MINOR}")
+ endif()
+
+ if(LASTITEM MATCHES "BLENDER_SUBVERSION")
+ set(BLENDER_SUBVERSION ${ITEM})
+ endif()
+
+ if(LASTITEM MATCHES "BLENDER_MINVERSION")
MATH(EXPR BLENDER_MINVERSION_MAJOR "${ITEM} / 100")
MATH(EXPR BLENDER_MINVERSION_MINOR "${ITEM} % 100")
- SET(BLENDER_MINVERSION "${BLENDER_MINVERSION_MAJOR}.${BLENDER_MINVERSION_MINOR}")
- ENDIF(LASTITEM MATCHES "BLENDER_MINVERSION")
-
- IF(LASTITEM MATCHES "BLENDER_MINSUBVERSION")
- SET(BLENDER_MINSUBVERSION ${ITEM})
- ENDIF(LASTITEM MATCHES "BLENDER_MINSUBVERSION")
-
- SET(LASTITEM ${ITEM})
- ENDFOREACH(ITEM ${CONTENT})
-
- MESSAGE(STATUS "Version major: ${BLENDER_VERSION_MAJOR}, Version minor: ${BLENDER_VERSION_MINOR}, Subversion: ${BLENDER_SUBVERSION}, Version: ${BLENDER_VERSION}")
- MESSAGE(STATUS "Minversion major: ${BLENDER_MINVERSION_MAJOR}, Minversion minor: ${BLENDER_MINVERSION_MINOR}, MinSubversion: ${BLENDER_MINSUBVERSION}, Minversion: ${BLENDER_MINVERSION}")
-ENDMACRO(GET_BLENDER_VERSION)
+ set(BLENDER_MINVERSION "${BLENDER_MINVERSION_MAJOR}.${BLENDER_MINVERSION_MINOR}")
+ endif()
+
+ if(LASTITEM MATCHES "BLENDER_MINSUBVERSION")
+ set(BLENDER_MINSUBVERSION ${ITEM})
+ endif()
+
+ set(LASTITEM ${ITEM})
+ endforeach()
+
+ # message(STATUS "Version major: ${BLENDER_VERSION_MAJOR}, Version minor: ${BLENDER_VERSION_MINOR}, Subversion: ${BLENDER_SUBVERSION}, Version: ${BLENDER_VERSION}")
+ # message(STATUS "Minversion major: ${BLENDER_MINVERSION_MAJOR}, Minversion minor: ${BLENDER_MINVERSION_MINOR}, MinSubversion: ${BLENDER_MINSUBVERSION}, Minversion: ${BLENDER_MINVERSION}")
+endmacro()
diff --git a/build_files/make/example_scripts/linux_nanmakefiles.sh b/build_files/make/example_scripts/linux_nanmakefiles.sh
deleted file mode 100755
index aa8d8820681..00000000000
--- a/build_files/make/example_scripts/linux_nanmakefiles.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/sh
-
-#
-# This is an example script to build things with the Nan Makefiles
-#
-#
-
-rm -f /tmp/.nanguess
-export MAKE=make
-export NANBLENDERHOME=`pwd`
-export MAKEFLAGS="-w -I $NANBLENDERHOME/source --no-print-directory"
-export HMAKE="$NANBLENDERHOME/source/tools/hmake/hmake"
-
-export NAN_PYTHON=/soft/python-2.2.2b1/progeny1
-export NAN_PYTHON_VERSION=2.2
-export NAN_OPENAL=/usr/local
-export NAN_JPEG=/usr/local
-export NAN_PNG=/usr/local
-export NAN_SDL=/usr/local
-export NAN_ODE=/usr/local
-export NAN_ZLIB=/usr/local
-export NAN_FREETYPE=/usr/local
-
-export NAN_MOZILLA_INC=/usr/local/include/mozilla-1.0.1/
-export NAN_MOZILLA_LIB=/usr/local/lib/mozilla-1.0.1/
-#export NAN_NSPR=/scratch/irulan/mein/nspr-4.2.2/mozilla/nsprpub/dist/
-export CPPFLAGS="$CPPFLAGS"
-export CFLAGS="$CFLAGS"
-export INTERNATIONAL=true
-
-$HMAKE -C intern/
-if [ $? -eq 0 ]; then
- $HMAKE -C source/
-fi
-$HMAKE -C release
-
-#cd release
-#make
diff --git a/build_files/make/example_scripts/macos_nanmakefiles.sh b/build_files/make/example_scripts/macos_nanmakefiles.sh
deleted file mode 100755
index d2cce204a53..00000000000
--- a/build_files/make/example_scripts/macos_nanmakefiles.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-
-rm -f /tmp/.nanguess
-export MAKE=make
-export NANBLENDERHOME=`pwd`
-export MAKEFLAGS="-w -I $NANBLENDERHOME/source --no-print-directory"
-export HMAKE="$NANBLENDERHOME/source/tools/hmake/hmake"
-echo
-echo NANBLENDERHOME : ${NANBLENDERHOME}
-
-export NAN_PYTHON=/sw
-
-$HMAKE -C intern/
-if [ $? -eq 0 ]; then
- $HMAKE -C source/
-fi
-cd release
-make
diff --git a/build_files/make/example_scripts/sunos_nanmakefiles.sh b/build_files/make/example_scripts/sunos_nanmakefiles.sh
deleted file mode 100755
index 25dd17bebb1..00000000000
--- a/build_files/make/example_scripts/sunos_nanmakefiles.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-# This is an example build script for SunOS5.8
-
-rm -f /tmp/.nanguess
-export MAKE=make
-export NANBLENDERHOME=`pwd`
-export MAKEFLAGS="-w -I $NANBLENDERHOME/source --no-print-directory"
-export HMAKE="$NANBLENDERHOME/source/tools/hmake/hmake"
-
-export NAN_PYTHON=/soft/python-2.2.2b1/SunOS5.8
-export NAN_PYTHON_VERSION=2.2
-export NAN_OPENAL=/usr/local
-export NAN_JPEG=/usr/local
-export NAN_PNG=/usr/local
-export NAN_SDL=/usr/local
-export NAN_ODE=/usr/local
-export NAN_OPENSSL=/soft/ssl/openssl-0.9.6e
-export NAN_ZLIB=/usr/local
-export NAN_FREETYPE=/usr/local
-
-export NAN_MOZILLA_INC=/usr/local/include/mozilla-1.0.1/
-export NAN_MOZILLA_LIB=/usr/local/lib/mozilla-1.0.1/
-export NAN_NSPR=/scratch/irulan/mein/nspr-4.2.2/mozilla/nsprpub/dist/
-export CPPFLAGS="$CPPFLAGS"
-export CFLAGS="$CFLAGS"
-export INTERNATIONAL=true
-
-$HMAKE -C intern/
-if [ $? -eq 0 ]; then
- $HMAKE -C source/
-fi
-$HMAKE -C release
-
-#cd release
-#make
diff --git a/build_files/make/nan_compile.mk b/build_files/make/nan_compile.mk
deleted file mode 100644
index 4107bb1820d..00000000000
--- a/build_files/make/nan_compile.mk
+++ /dev/null
@@ -1,474 +0,0 @@
-# -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
-# vim: tabstop=8
-#
-# $Id$
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): GSR, Stefan Gartner
-#
-# ***** END GPL LICENSE BLOCK *****
-#
-# Compile and archive
-
-include nan_definitions.mk
-
-CPPFLAGS ?= $(NAN_CPPFLAGS)
-
-# common parts ---------------------------------------------------
-
-# Uncomment next lines to enable integrated game engine
-ifneq ($(NAN_NO_KETSJI), true)
- CFLAGS += -DGAMEBLENDER=1
- ifeq ($(NAN_USE_BULLET), true)
- CFLAGS += -DUSE_BULLET
- CCFLAGS += -DUSE_BULLET
- endif
-else
- CPPFLAGS += -DNO_KETSJI
-endif
-
-ifeq ($(BF_PROFILE), true)
- CFLAGS += -pg
- CCFLAGS += -pg
-endif
-
-ifeq ($(WITH_BF_OPENMP), true)
- CFLAGS += -fopenmp
- CCFLAGS += -fopenmp
-endif
-
-ifdef NAN_DEBUG
- CFLAGS += $(NAN_DEBUG)
- CCFLAGS += $(NAN_DEBUG)
-endif
-
-REL_CFLAGS += -DNDEBUG
-REL_CCFLAGS += -DNDEBUG
-DBG_CFLAGS += -g
-DBG_CCFLAGS += -g
-
-# OS dependent parts ---------------------------------------------------
-
-ifeq ($(OS),darwin)
- CC ?= gcc
- CCC ?= g++
- ifeq ($(MACOSX_DEPLOYMENT_TARGET), 10.4)
- CC = gcc-4.0
- CCC = g++-4.0
- else
- ifeq ($(MACOSX_DEPLOYMENT_TARGET), 10.5)
- CC = gcc-4.2
- CCC = g++-4.2
- endif
- endif
- ifeq ($(CPU),powerpc)
- CFLAGS += -pipe -fPIC -mcpu=7450 -mtune=G5 -funsigned-char -fno-strict-aliasing
- CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
- else
- CFLAGS += -pipe -fPIC -funsigned-char
- CCFLAGS += -pipe -fPIC -funsigned-char
- endif
-
- CFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
- CCFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
-
- ifeq ($(MACOSX_ARCHITECTURE), $(findstring $(MACOSX_ARCHITECTURE), "i386 x86_64"))
- REL_CFLAGS += -O2 -ftree-vectorize -msse -msse2 -msse3
- REL_CCFLAGS += -O2 -ftree-vectorize -msse -msse2 -msse3
- else
- REL_CFLAGS += -O2
- REL_CCFLAGS += -O2
- endif
-
- CPPFLAGS += -D_THREAD_SAFE
-
- ifeq ($(WITH_COCOA), true)
- CPPFLAGS += -DGHOST_COCOA
- endif
- ifeq ($(USE_QTKIT), true)
- CPPFLAGS += -DUSE_QTKIT
- endif
-
- NAN_DEPEND = true
- OPENGL_HEADERS = /System/Library/Frameworks/OpenGL.framework
- AR = ar
- ARFLAGS = ruv
- RANLIB = ranlib
- ARFLAGSQUIET = ru
-endif
-
-ifeq ($(OS),freebsd)
- CC ?= gcc
- CCC ?= g++
- JAVAC = javac
- JAVAH = javah
- CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
- CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
- REL_CFLAGS += -O2
- REL_CCFLAGS += -O2
- CPPFLAGS += -D_THREAD_SAFE
- NAN_DEPEND = true
- OPENGL_HEADERS = /usr/X11R6/include
- JAVA_HEADERS = /usr/local/jdk1.3.1/include
- JAVA_SYSTEM_HEADERS = /usr/local/jdk1.3.1/include/freebsd
- AR = ar
- ARFLAGS = ruv
- ARFLAGSQUIET = ru
-endif
-
-ifeq ($(OS),irix)
- ifeq ($(IRIX_USE_GCC),true)
- CC ?= gcc
- CCC ?= g++
- CFLAGS += -fPIC -funsigned-char -fno-strict-aliasing -mabi=n32 -mips4
- CCFLAGS += -fPIC -fpermissive -funsigned-char -fno-strict-aliasing -mabi=n32 -mips4
- REL_CFLAGS += -O2
- REL_CCFLAGS += -O2
- DBG_CFLAGS += -g3 -gdwarf-2 -ggdb
- DBG_CCFLAGS += -g3 -gdwarf-2 -ggdb
- else
- CC ?= cc
- CCC ?= CC
- CFLAGS += -n32 -mips3 -Xcpluscomm
- CCFLAGS += -n32 -mips3 -Xcpluscomm -LANG:std
- ifdef MIPS73_ISOHEADERS
- CCFLAGS += -LANG:libc_in_namespace_std=off -I$(MIPS73_ISOHEADERS)
- else
- CCFLAGS += -LANG:libc_in_namespace_std=off
- endif
- REL_CFLAGS += -n32 -mips3 -O2 -OPT:Olimit=0
- REL_CCFLAGS += -n32 -mips3 -O2 -OPT:Olimit=0
- endif
- OPENGL_HEADERS = /usr/include
- NAN_DEPEND = true
- AR = CC
- ARFLAGS = -ar -o
- ARFLAGSQUIET = -ar -o
-endif
-
-ifeq ($(OS),linux)
- CC ?= gcc
- CCC ?= g++
-# CFLAGS += -pipe
-# CCFLAGS += -pipe
- CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
- CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
- REL_CFLAGS += -O2
- REL_CCFLAGS += -O2
- NAN_DEPEND = true
- ifeq ($(WITH_BF_RAYOPTIMIZATION), true)
- CCFLAGS += -msse
- endif
- ifeq ($(CPU),alpha)
- CFLAGS += -mieee
- endif
- OPENGL_HEADERS = /usr/X11R6/include
- AR = ar
- ARFLAGS = ruv
- ARFLAGSQUIET = ru
-endif
-
-ifeq ($(OS),openbsd)
- CC ?= gcc
- CCC ?= g++
- CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
- CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
- REL_CFLAGS += -O2
- REL_CCFLAGS += -O2
- NAN_DEPEND = true
- CPPFLAGS += -D__FreeBSD__
- OPENGL_HEADERS = /usr/X11R6/include
- AR = ar
- ARFLAGS = ruv
- ARFLAGSQUIET = ru
-endif
-
-ifeq ($(OS),solaris)
- # Adding gcc flag to $CC is not good, however if its not there makesdna wont build - Campbell
- ifeq (x86_64, $(findstring x86_64, $(CPU)))
- CC ?= gcc -m64
- CCC ?= g++ -m64
- else
- CC ?= gcc
- CCC ?= g++
- #CC ?= cc
- #CCC ?= CC
- endif
-
- JAVAC = javac
- JAVAH = javah
- CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
- CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
-# CFLAGS += "-fast -xdepend -xarch=v8plus -xO3 -xlibmil -KPIC -DPIC -xchar=unsigned"
-# CCFLAGS += "-fast -xdepend -xarch=v8plus -xO3 -xlibmil -xlibmopt -features=tmplife -norunpath -KPIC -DPIC -xchar=unsigned"
-
- # Note, you might still want to compile a 32 bit binary if you have a 64bit system. if so remove the following lines
-# ifeq ($(findstring 64,$(CPU)), 64)
-# CFLAGS += -m64
-# CCFLAGS += -m64
-# endif
-
- REL_CFLAGS += -O2
- REL_CCFLAGS += -O2
-
- NAN_DEPEND = true
-# ifeq ($(CPU),sparc)
- ifeq ($(findstring sparc,$(CPU)), sparc)
- OPENGL_HEADERS = /usr/openwin/share/include
- CPPFLAGS += -DSUN_OGL_NO_VERTEX_MACROS
- JAVA_HEADERS = /usr/java/include
- JAVA_SYSTEM_HEADERS = /usr/java/include/solaris
- else
- # OPENGL_HEADERS = /usr/X11/include/mesa
- OPENGL_HEADERS = /usr/X11/include/
- endif
- AR = ar
- ARFLAGS = ruv
- ARFLAGSQUIET = ru
-endif
-
-ifeq ($(OS),windows)
- ifeq ($(FREE_WINDOWS),true)
- CC ?= gcc
- CCC ?= g++
- CFLAGS += -pipe -mno-cygwin -mwindows -funsigned-char -fno-strict-aliasing
- CCFLAGS += -pipe -mno-cygwin -mwindows -funsigned-char -fno-strict-aliasing
- CPPFLAGS += -DFREE_WINDOWS
- REL_CFLAGS += -O2
- REL_CCFLAGS += -O2
- NAN_DEPEND = true
- #OPENGL_HEADERS = /usr/include/w32api
- OPENGL_HEADERS = ./
- AR = ar
- ARFLAGS = ruv
- ARFLAGSQUIET = ru
- WINRC = $(wildcard *.rc)
- RANLIB = ranlib
- else
- CC ?= $(SRCHOME)/tools/cygwin/cl_wrapper.pl
- CCC ?= $(SRCHOME)/tools/cygwin/cl_wrapper.pl
- JAVAC = $(SRCHOME)/tools/cygwin/java_wrapper.pl -c
- JAVAH = $(SRCHOME)/tools/cygwin/java_wrapper.pl -h
- REL_CFLAGS += /O2
- REL_CCFLAGS += /O2 -GX
- DBG_CFLAGS += /Fd$(DIR)/debug/
- DBG_CCFLAGS += /Fd$(DIR)/debug/
- CFLAGS += /MT
- CCFLAGS += /MT
- NAN_DEPEND = true
- OPENGL_HEADERS = .
- CPPFLAGS += -DWIN32 -D_WIN32 -D__WIN32
- CPPFLAGS += -D_M_IX86
- CPPFLAGS += -I"/cygdrive/c/Program Files/Microsoft Visual Studio/VC98/include"
- JAVA_HEADERS = /cygdrive/c/j2sdk1.4.0-beta3/include
- JAVA_SYSTEM_HEADERS = /cygdrive/c/j2sdk1.4.0-beta3/include/win32
- CPP = $(SRCHOME)/tools/cygwin/cl_wrapper.pl
- AR = ar
- ARFLAGS = ruv
- ARFLAGSQUIET = ru
- WINRC = $(wildcard *.rc)
- endif
-endif
-
-ifeq (debug, $(findstring debug, $(MAKECMDGOALS)))
- export DEBUG_DIR=debug/
-endif
-
-ifneq (x$(DEBUG_DIR), x)
- CFLAGS +=$(DBG_CFLAGS)
- CCFLAGS+=$(DBG_CCFLAGS)
-else
- CFLAGS +=$(REL_CFLAGS)
- CCFLAGS+=$(REL_CCFLAGS)
-endif
-
-# Note: include nan_warn's LEVEL_*_WARNINGS after CC/OS have been set.
-include nan_warn.mk
-
-# compile rules
-
-default: all
-
-$(DIR)/$(DEBUG_DIR)%.o: %.c
- ifdef NAN_DEPEND
- @set -e; $(CC) -M $(CPPFLAGS) $< 2>/dev/null \
- | sed 's@\($*\)\.o[ :]*@$(DIR)/$(DEBUG_DIR)\1.o : @g' \
- > $(DIR)/$(DEBUG_DIR)$*.d; \
- [ -s $(DIR)/$(DEBUG_DIR)$*.d ] || $(RM) $(DIR)/$(DEBUG_DIR)$*.d
- endif
- ifdef NAN_QUIET
- @echo " -- $< -- "
- @$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
- else
- $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
- endif
-
-$(DIR)/$(DEBUG_DIR)%.o: %.cpp
- ifdef NAN_DEPEND
- @set -e; $(CCC) -M $(CPPFLAGS) $< 2>/dev/null \
- | sed 's@\($*\)\.o[ :]*@$(DIR)/$(DEBUG_DIR)\1.o : @g' \
- > $(DIR)/$(DEBUG_DIR)$*.d; \
- [ -s $(DIR)/$(DEBUG_DIR)$*.d ] || $(RM) $(DIR)/$(DEBUG_DIR)$*.d
- endif
- ifdef NAN_QUIET
- @echo " -- $< -- "
- @$(CCC) -c $(CCFLAGS) $(CPPFLAGS) $< -o $@
- else
- $(CCC) -c $(CCFLAGS) $(CPPFLAGS) $< -o $@
- endif
-
-$(DIR)/$(DEBUG_DIR)%.o: %.mm
- ifdef NAN_DEPEND
- @set -e; $(CC) -M $(CPPFLAGS) $< 2>/dev/null \
- | sed 's@\($*\)\.o[ :]*@$(DIR)/$(DEBUG_DIR)\1.o : @g' \
- > $(DIR)/$(DEBUG_DIR)$*.d; \
- [ -s $(DIR)/$(DEBUG_DIR)$*.d ] || $(RM) $(DIR)/$(DEBUG_DIR)$*.d
- endif
- ifdef NAN_QUIET
- @echo " -- $< -- "
- @$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
- else
- $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
- endif
-
-$(DIR)/$(DEBUG_DIR)%.o: %.m
- ifdef NAN_DEPEND
- @set -e; $(CC) -M $(CPPFLAGS) $< 2>/dev/null \
- | sed 's@\($*\)\.o[ :]*@$(DIR)/$(DEBUG_DIR)\1.o : @g' \
- > $(DIR)/$(DEBUG_DIR)$*.d; \
- [ -s $(DIR)/$(DEBUG_DIR)$*.d ] || $(RM) $(DIR)/$(DEBUG_DIR)$*.d
- endif
- ifdef NAN_QUIET
- @echo " -- $< -- "
- @$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
- else
- $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
- endif
-
-
-$(DIR)/$(DEBUG_DIR)%.res: %.rc
-ifeq ($(FREE_WINDOWS),true)
- windres $< -O coff -o $@
-else
- $(SRCHOME)/tools/cygwin/cl_wrapper.pl - rc /fo$@ $<
-endif
-
-$(DIR)/$(DEBUG_DIR)%.class: %.java
- ifdef JARS
- $(JAVAC) -verbose -g -deprecation -sourcepath . -classpath "$(JARS)" -d $(DIR)/$(DEBUG_DIR) $<
- else
- $(JAVAC) -verbose -g -deprecation -d $(DIR)/$(DEBUG_DIR) $<
- endif
-
-$(DIR)/$(DEBUG_DIR)%.h: $(DIR)/$(DEBUG_DIR)%.class
- $(JAVAH) -classpath $(DIR)/$(DEBUG_DIR) -d $(DIR)/$(DEBUG_DIR) -jni $*
-
-%.h:
- @echo "WARNING: Fake header creation rule used, dependencies will be remade"
-
-CSRCS ?= $(wildcard *.c)
-CCSRCS ?= $(wildcard *.cpp)
-JSRCS ?= $(wildcard *.java)
-
-ifdef NAN_DEPEND
--include $(CSRCS:%.c=$(DIR)/$(DEBUG_DIR)%.d) $(CCSRCS:%.cpp=$(DIR)/$(DEBUG_DIR)%.d) $(OCCSRCS:$.mm=$(DIR)/$(DEBUG_DIR)%.d) $(OCSRCS:$.m=$(DIR)/$(DEBUG_DIR)%.d)
-endif
-
-OBJS_AR := $(OBJS)
-OBJS_AR += $(CSRCS:%.c=%.o)
-OBJS_AR += $(CCSRCS:%.cpp=%.o)
-OBJS_AR += $(OCCSRCS:%.mm=%.o)
-OBJS_AR += $(OCSRCS:%.m=%.o)
-OBJS_AR += $(WINRC:%.rc=%.res)
-
-OBJS += $(CSRCS:%.c=$(DIR)/$(DEBUG_DIR)%.o)
-OBJS += $(CCSRCS:%.cpp=$(DIR)/$(DEBUG_DIR)%.o)
-OBJS += $(OCCSRCS:%.mm=$(DIR)/$(DEBUG_DIR)%.o)
-OBJS += $(OCSRCS:%.m=$(DIR)/$(DEBUG_DIR)%.o)
-OBJS += $(WINRC:%.rc=$(DIR)/$(DEBUG_DIR)%.res)
-
-JCLASS += $(JSRCS:%.java=$(DIR)/$(DEBUG_DIR)%.class)
-
-LIB_a = $(DIR)/$(DEBUG_DIR)lib$(LIBNAME).a
-
-$(LIB_a): $(OBJS)
- # $OBJS can be empty except for some spaces
- ifneq (x, x$(strip $(OBJS)))
- ifdef NAN_PARANOID
- @$(RM) $(LIB_a)
- ifdef NAN_QUIET
- @echo " -- lib: lib$(LIBNAME).a -- "
- @cd $(DIR)/$(DEBUG_DIR); $(AR) $(ARFLAGSQUIET) $@ $(OBJS_AR)
- else
- cd $(DIR)/$(DEBUG_DIR); $(AR) $(ARFLAGS) $@ $(OBJS_AR)
- endif
- else
- ifdef NAN_QUIET
- @echo " -- lib: lib$(LIBNAME).a -- "
- @$(AR) $(ARFLAGSQUIET) $@ $?
- else
- $(AR) $(ARFLAGS) $@ $?
- endif
- endif
- ifdef RANLIB
- $(RANLIB) $@
- endif
- endif
-
-ALLTARGETS ?= $(LIB_a)
-
-all debug :: makedir $(ALLTARGETS)
-
-lib: $(LIB_a)
-
-creator: $(OBJS)
- @echo "====> make creator subtarget in `pwd | sed 's/^.*develop\///'`"
- @$(MAKE) makedir DIR=$(DIR)/$(DEBUG_DIR)cre
- @$(MAKE) lib CSRCS="$(CRE_CSRCS)" LIBNAME=$(LIBNAME)$@
-
-publisher: $(OBJS)
- @echo "====> make publisher subtarget in `pwd | sed 's/^.*develop\///'`"
- @$(MAKE) makedir DIR=$(DIR)/$(DEBUG_DIR)pub
- @$(MAKE) lib CSRCS="$(PUB_CSRCS)" LIBNAME=$(LIBNAME)$@
-
-player: $(OBJS)
- @echo "====> make player subtarget in `pwd | sed 's/^.*develop\///'`"
- @$(MAKE) makedir DIR=$(DIR)/player/$(DEBUG_DIR)
- @$(MAKE) lib CSRCS="$(SAP_CSRCS)" LIBNAME=$(LIBNAME)$@
-
-clean:: optclean debugclean
-
-optclean::
- @-[ ! -d $(DIR) ] || ( cd $(DIR) && \
- $(RM) *.o *.a *.d *.res ii_files/*.ii *.class *.h )
-
-debugclean::
- @-[ ! -d $(DIR)/debug ] || ( cd $(DIR)/debug && \
- $(RM) *.o *.a *.d *.res ii_files/*.ii *.class *.h )
-
-.PHONY: makedir
-makedir::
- @# don't use mkdir -p. Cygwin will try to make network paths and fail
- @[ -d $(DIR) ] || mkdir $(DIR)
- @[ -d $(DIR)/debug ] || mkdir $(DIR)/debug
-
diff --git a/build_files/make/nan_definitions.mk b/build_files/make/nan_definitions.mk
deleted file mode 100644
index d8da2189e6d..00000000000
--- a/build_files/make/nan_definitions.mk
+++ /dev/null
@@ -1,646 +0,0 @@
-# -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
-# vim: tabstop=8
-#
-# $Id$
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): GSR, Stefan Gartner
-#
-# ***** END GPL LICENSE BLOCK *****
-#
-# set some defaults when these are not overruled (?=) by environment variables
-#
-
-sinclude ../../user-def.mk
-
-# This warning only takes place once in source/
-ifeq (debug, $(findstring debug, $(MAKECMDGOALS)))
- ifeq (all, $(findstring all, $(MAKECMDGOALS)))
- export ERRTXT = "ERROR: all and debug targets cannot be used together anymore"
- export ERRTXT += "Use something like ..make all && make debug.. instead"
- endif
-endif
-
-ifdef ERRTXT
-$(error $(ERRTXT))
-endif
-
-ifndef CONFIG_GUESS
- ifeq (debug, $(findstring debug, $(MAKECMDGOALS)))
- export DEBUG_DIR = debug/
- export ALL_OR_DEBUG = debug
- endif
- ifeq (all, $(findstring all, $(MAKECMDGOALS)))
- export ALL_OR_DEBUG ?= all
- endif
-
- # First generic defaults for all platforms which should be constant.
- # Note: ?= lets these defaults be overruled by environment variables,
- export SRCHOME ?= $(NANBLENDERHOME)/source
- export CONFIG_GUESS := $(shell ${SRCHOME}/tools/guess/guessconfig)
- export OS := $(shell echo ${CONFIG_GUESS} | sed -e 's/-.*//')
- export OS_VERSION := $(shell echo ${CONFIG_GUESS} | sed -e 's/^[^-]*-//' -e 's/-[^-]*//')
- export CPU := $(shell echo ${CONFIG_GUESS} | sed -e 's/^[^-]*-[^-]*-//')
- export MAKE_START := $(shell date "+%H:%M:%S %d-%b-%Y")
- export NAN_LIBDIR ?= $(NANBLENDERHOME)/../lib
- export NAN_OBJDIR ?= $(NANBLENDERHOME)/obj
- # Library Config_Guess DIRectory
- export LCGDIR = $(NAN_LIBDIR)/$(CONFIG_GUESS)
- # Object Config_Guess DIRectory
- export OCGDIR = $(NAN_OBJDIR)/$(CONFIG_GUESS)
-
- # Determines what targets are built
- export WITH_BF_DYNAMICOPENGL ?= true
- export WITH_BF_STATICOPENGL ?= false
- export WITH_BF_BLENDERGAMEENGINE ?= true
- export WITH_BF_BLENDERPLAYER ?= true
- ifeq ($(NAN_NO_PLUGIN), true)
- export WITH_BF_WEBPLUGIN = false
- else
- export WITH_BF_WEBPLUGIN ?= false
- endif
-
- export NAN_MOTO ?= $(LCGDIR)/moto
- export NAN_ITASC ?= $(LCGDIR)/itasc
-
- export BF_PROFILE ?= false
- export NAN_USE_BULLET ?= true
- export NAN_BULLET2 ?= $(LCGDIR)/bullet2
- export NAN_DECIMATION ?= $(LCGDIR)/decimation
- export NAN_GUARDEDALLOC ?= $(LCGDIR)/guardedalloc
- export NAN_IKSOLVER ?= $(LCGDIR)/iksolver
- export NAN_BSP ?= $(LCGDIR)/bsp
- export NAN_BOOLOP ?= $(LCGDIR)/boolop
- export NAN_AUDASPACE ?= $(LCGDIR)/audaspace
- export NAN_STRING ?= $(LCGDIR)/string
- export NAN_MEMUTIL ?= $(LCGDIR)/memutil
- export NAN_CONTAINER ?= $(LCGDIR)/container
- export NAN_ACTION ?= $(LCGDIR)/action
- export NAN_GHOST ?= $(LCGDIR)/ghost
- export NAN_TEST_VERBOSITY ?= 1
- export NAN_OPENNL ?= $(LCGDIR)/opennl
- export NAN_ELBEEM ?= $(LCGDIR)/elbeem
- export NAN_SMOKE ?= $(LCGDIR)/smoke
- export NAN_SUPERLU ?= $(LCGDIR)/superlu
- export NAN_GLEW ?= $(LCGDIR)/glew
- ifeq ($(FREE_WINDOWS), true)
- export NAN_FFMPEG ?= $(LCGDIR)/gcc/ffmpeg
- export NAN_FFMPEGLIBS ?= $(NAN_FFMPEG)/lib/libavformat.a $(NAN_FFMPEG)/lib/libavutil.a $(NAN_FFMPEG)/lib/libavcodec.a $(NAN_FFMPEG)/lib/libavdevice.a
- else
- export NAN_FFMPEG ?= $(LCGDIR)/ffmpeg
- ifeq ($(OS), darwin)
- export NAN_FFMPEGLIBS ?= $(NAN_FFMPEG)/lib/libavformat.a $(NAN_FFMPEG)/lib/libavcodec.a $(NAN_FFMPEG)/lib/libswscale.a $(NAN_FFMPEG)/lib/libavutil.a $(NAN_FFMPEG)/lib/libavdevice.a $(NAN_FFMPEG)/lib/libmp3lame.a $(NAN_FFMPEG)/lib/libx264.a $(NAN_FFMPEG)/lib/libxvidcore.a $(NAN_FFMPEG)/lib/libtheora.a $(NAN_FFMPEG)/lib/libtheoradec.a $(NAN_FFMPEG)/lib/libtheoraenc.a $(NAN_FFMPEG)/lib/libvorbis.a $(NAN_FFMPEG)/lib/libvorbisenc.a $(NAN_FFMPEG)/lib/libvorbisfile.a $(NAN_FFMPEG)/lib/libogg.a -lbz2
- else
- export NAN_FFMPEGLIBS ?= $(NAN_FFMPEG)/lib/libavformat.a $(NAN_FFMPEG)/lib/libavcodec.a $(NAN_FFMPEG)/lib/libswscale.a $(NAN_FFMPEG)/lib/libavutil.a $(NAN_FFMPEG)/lib/libavdevice.a
- endif
- endif
- export NAN_FFMPEGCFLAGS ?= -I$(NAN_FFMPEG)/include -I$(NANBLENDERHOME)/extern/ffmpeg
-
- export WITH_OPENEXR ?= true
- export WITH_DDS ?= true
- export WITH_OPENJPEG ?= true
- export WITH_LZO ?= true
- export WITH_LZMA ?= true
- export NAN_LZO ?= $(LCGDIR)/lzo
- export NAN_LZMA ?= $(LCGDIR)/lzma
- export WITH_OPENAL ?= false
- export WITH_JACK ?= false
- export WITH_SNDFILE ?= false
- export WITH_FFTW3 ?= false
-
- ifeq ($(WITH_OPENAL), true)
- export NAN_OPENAL ?= /usr
- endif
-
- ifeq ($(WITH_JACK), true)
- export NAN_JACK ?= $(LCGDIR)/jack
- export NAN_JACKCFLAGS ?= -I$(NAN_JACK)/include/jack
- export NAN_JACKLIBS ?= $(NAN_JACK)/lib/libjack.a
- endif
-
- ifeq ($(WITH_SNDFILE),true)
- export NAN_SNDFILE ?= $(LCGDIR)/sndfile
- export NAN_SNDFILECFLAGS ?= -I$(NAN_SNDFILE)/include
- export NAN_SNDFILELIBS ?= $(NAN_SNDFILE)/lib/libsndfile.a $(NAN_SNDFILE)/lib/libFLAC.a $(NAN_SNDFILE)/lib/libogg.a
- endif
-
- ifeq ($(NAN_USE_FFMPEG_CONFIG), true)
- export NAN_FFMPEG = $(shell pkg-config --variable=prefix libavcodec) # Assume they are all in the same prefix
- export NAN_FFMPEGLIBS = $(shell pkg-config --libs libavcodec libavdevice libavformat libswscale libavutil)
- export NAN_FFMPEGCFLAGS = $(shell pkg-config --cflags libavcodec libavdevice libavformat libswscale libavutil)
- endif
-
- ifeq ($(WITH_OPENCOLLADA), true)
- export BF_OPENCOLLADA ?= $(LCGDIR)/opencollada
- export BF_OPENCOLLADA_INC ?= $(BF_OPENCOLLADA)/include
- export BF_OPENCOLLADA_LIBS ?= $(BF_OPENCOLLADA)/lib/libOpenCOLLADASaxFrameworkLoader.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADAFramework.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADABaseUtils.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADAStreamWriter.a $(BF_OPENCOLLADA)/lib/libMathMLSolver.a $(BF_OPENCOLLADA)/lib/libGeneratedSaxParser.a $(BF_OPENCOLLADA)/lib/libUTF.a -lxml2
- export BF_PCRE ?= $(LCGDIR)/pcre
- export BF_PCRE_LIBS ?= $(BF_PCRE)/lib/libpcre.a
- endif
-
- export WITH_TIFF ?= true
-
- #enable raytracing optimization (currently only for i386 and x86_64)
- ifeq ($(CPU),powerpc)
- export WITH_BF_RAYOPTIMIZATION ?= false
- else
- export WITH_BF_RAYOPTIMIZATION ?= true
- endif
-
- export WITH_LCMS ?= false
- export WITH_CINEON ?= true
- export WITH_HDR ?= true
-
- # Compare recreated .mo files with committed ones
- export BF_VERIFY_MO_FILES ?= true
-
- # Platform Dependent settings go below:
- ifeq ($(OS),darwin)
-
- export ID = $(shell whoami)
- export HOST = $(shell hostname -s)
-
- # set target arch & os version
- # architecture defaults to host arch, can be ppc, ppc64, i386, x86_64
- ifeq ($(CPU),powerpc)
- export MACOSX_ARCHITECTURE ?= ppc
- else
- export MACOSX_ARCHITECTURE ?= i386
- endif
- # target os version defaults to 10.4 for ppc & i386 (32 bit), 10.5 for ppc64, x86_64
- ifeq (64,$(findstring 64, $(MACOSX_ARCHITECTURE)))
- export MACOSX_MIN_VERS ?= 10.5
- export MACOSX_DEPLOYMENT_TARGET ?= 10.5
- export MACOSX_SDK ?= /Developer/SDKs/MacOSX10.5.sdk
- else
- export MACOSX_MIN_VERS ?= 10.4
- export MACOSX_DEPLOYMENT_TARGET ?= 10.4
- export MACOSX_SDK ?= /Developer/SDKs/MacOSX10.4u.sdk
- endif
-
- # useful for crosscompiling
- ifeq ($(MACOSX_ARCHITECTURE),$(findstring $(MACOSX_ARCHITECTURE), "ppc ppc64"))
- export CPU = powerpc
- export LCGDIR = $(NAN_LIBDIR)/$(OS)-$(OS_VERSION)-$(CPU)
- export OCGDIR = $(NAN_OBJDIR)/$(OS)-$(OS_VERSION)-$(CPU)
- endif
- ifeq ($(MACOSX_ARCHITECTURE),$(findstring $(MACOSX_ARCHITECTURE),"i386 x86_64"))
- export CPU = i386
- export LCGDIR = $(NAN_LIBDIR)/$(OS)-$(OS_VERSION)-$(CPU)
- export OCGDIR = $(NAN_OBJDIR)/$(OS)-$(OS_VERSION)-$(CPU)
- endif
-
- export NAN_PYTHON_VERSION = 3.1
-
- ifeq ($(NAN_PYTHON_VERSION),3.1)
- export PY_FRAMEWORK ?= 0
- export NAN_PYTHON ?= $(LCGDIR)/python
- export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/libpython$(NAN_PYTHON_VERSION).a
- else
- export PY_FRAMEWORK ?= 1
- ifdef PY_FRAMEWORK
- export NAN_PYTHON_VERSION ?= 3.1
- export NAN_PYTHON ?= /System/Library/Frameworks/Python.framework/Versions/$(NAN_PYTHON_VERSION)
- export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
- export NAN_PYTHON_LIB ?= -framework Python
- else
- export NAN_PYTHON ?= /sw
- export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
- export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
- endif
- endif
-
- export NAN_OPENAL ?= $(LCGDIR)/openal
- export NAN_JPEG ?= $(LCGDIR)/jpeg
- export NAN_PNG ?= $(LCGDIR)/png
- export NAN_TIFF ?= $(LCGDIR)/tiff
- export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
- export NAN_MESA ?= /usr/src/Mesa-3.1
- export NAN_ZLIB ?= $(LCGDIR)/zlib
- export NAN_NSPR ?= $(LCGDIR)/nspr
- export NAN_FREETYPE ?= $(LCGDIR)/freetype
- export NAN_GETTEXT ?= $(LCGDIR)/gettext
- export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/libintl.a
- ifeq (($CPU), i386)
- export NAN_GETTEXT_LIB += $(NAN_GETTEXT)/lib/libintl.a
- endif
- export NAN_SDL ?= $(LCGDIR)/sdl
- export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include
- export NAN_SDLLIBS ?= $(NAN_SDL)/lib/libSDL.a -framework Cocoa -framework IOKit
-
- export NAN_OPENEXR ?= $(LCGDIR)/openexr
- export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/OpenEXR
- export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a $(NAN_OPENEXR)/lib/libIlmThread.a
-
- export NAN_NO_KETSJI=false
-
- #ifeq ($(CPU), i386)
- # export WITH_OPENAL=false
- #endif
-
- # Location of MOZILLA/Netscape header files...
- export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
- export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
- # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
- # if this is not set.
-
- export NAN_BUILDINFO ?= true
- # Be paranoid regarding library creation (do not update archives)
- export NAN_PARANOID ?= true
-
- # enable quicktime by default on OS X
- export WITH_QUICKTIME ?= true
-
- # enable l10n
- export INTERNATIONAL ?= true
-
- export NAN_SAMPLERATE ?= $(LCGDIR)/samplerate
- export NAN_SAMPLERATE_LIBS ?= $(NAN_SAMPLERATE)/lib/libsamplerate.a
-
- # enable building with Cocoa
- export WITH_COCOA ?= false
- export USE_QTKIT ?= false
- # use cocoa and qtkit for 64bit builds
- ifeq (64, $(findstring 64, $(MACOSX_ARCHITECTURE)))
- export WITH_COCOA = true
- export USE_QTKIT = true
- endif
-
- export BF_PCRE = $(LCGDIR)/opencollada
- export BF_OPENCOLLADA_LIBS = $(BF_OPENCOLLADA)/lib/libOpenCOLLADASaxFrameworkLoader.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADAFramework.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADABaseUtils.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADAStreamWriter.a $(BF_OPENCOLLADA)/lib/libMathMLSolver.a $(BF_OPENCOLLADA)/lib/libGeneratedSaxParser.a $(BF_OPENCOLLADA)/lib/libUTF.a $(BF_OPENCOLLADA)/lib/libftoa.a $(BF_OPENCOLLADA)/lib/libbuffer.a -lxml2
-
- else
- ifeq ($(OS),freebsd)
-
- export ID = $(shell whoami)
- export HOST = $(shell hostname -s)
- export FREEDESKTOP ?= true
-
- export NAN_PYTHON ?= /usr/local
- export NAN_PYTHON_VERSION ?= 3.1
- export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
- export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
- export NAN_OPENAL ?= /usr/local
- export NAN_JPEG ?= /usr/local
- export NAN_PNG ?= /usr/local
- export NAN_TIFF ?= /usr/local
- export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
- export NAN_MESA ?= /usr/src/Mesa-3.1
- export NAN_ZLIB ?= /usr
- export NAN_NSPR ?= /usr/local
- export NAN_FREETYPE ?= $(LCGDIR)/freetype
- export NAN_GETTEXT ?= $(LCGDIR)/gettext
- export NAN_SDL ?= $(shell sdl-config --prefix)
- export NAN_SDLLIBS ?= $(shell sdl-config --libs)
- export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
-
- # Location of MOZILLA/Netscape header files...
- export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
- export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
- # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
- # if this is not set.
-
- export NAN_BUILDINFO ?= true
- # Be paranoid regarding library creation (do not update archives)
- export NAN_PARANOID ?= true
-
- # enable l10n
- # export INTERNATIONAL ?= true
-
- else
- ifeq ($(OS),irix)
-
- export ID = $(shell whoami)
- export HOST = $(shell /usr/bsd/hostname -s)
- #export NAN_NO_KETSJI=true
- export NAN_JUST_BLENDERDYNAMIC=true
- export NAN_PYTHON_VERSION ?= 3.1
- ifeq ($(IRIX_USE_GCC), true)
- export NAN_PYTHON ?= $(LCGDIR)/python_gcc
- else
- export NAN_PYTHON ?= $(LCGDIR)/python
- endif
- export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
- export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a -lpthread
- export NAN_OPENAL ?= $(LCGDIR)/openal
- export NAN_JPEG ?= $(LCGDIR)/jpeg
- export NAN_PNG ?= $(LCGDIR)/png
- export NAN_TIFF ?= $(LCGDIR)/tiff
- export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
- export NAN_MESA ?= /usr/src/Mesa-3.1
- export NAN_ZLIB ?= $(LCGDIR)/zlib
- export NAN_NSPR ?= $(LCGDIR)/nspr
- export NAN_FREETYPE ?= $(LCGDIR)/freetype
- export NAN_ICONV ?= $(LCGDIR)/iconv
- export NAN_GETTEXT ?= $(LCGDIR)/gettext
- export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/libintl.a $(NAN_ICONV)/lib/libiconv.a
- export NAN_SDL ?= $(LCGDIR)/sdl
- export NAN_SDLLIBS ?= $(NAN_SDL)/lib/libSDL.a
- export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include/SDL
- export NAN_FFMPEG ?= $(LCGDIR)/ffmpeg
- export NAN_FFMPEGLIBS = $(NAN_FFMPEG)/lib/libavformat.a $(NAN_FFMPEG)/lib/libavcodec.a $(NAN_FFMPEG)/lib/libswscale.a $(NAN_FFMPEG)/lib/libavutil.a $(NAN_FFMPEG)/lib/libavdevice.a $(NAN_FFMPEG)/lib/libogg.a $(NAN_FFMPEG)/lib/libfaad.a $(NAN_FFMPEG)/lib/libmp3lame.a $(NAN_FFMPEG)/lib/libvorbis.a $(NAN_FFMPEG)/lib/libx264.a $(NAN_FFMPEG)/lib/libfaac.a $(NAN_ZLIB)/lib/libz.a
- export NAN_FFMPEGCFLAGS ?= -I$(NAN_FFMPEG)/include -I$(NANBLENDERHOME)/extern/ffmpeg
-
- ifeq ($(IRIX_USE_GCC), true)
- export NAN_OPENEXR ?= $(LCGDIR)/openexr/gcc
- else
- export NAN_OPENEXR ?= $(LCGDIR)/openexr
- endif
- export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/OpenEXR
- export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a $(NAN_OPENEXR)/lib/libIlmThread.a
-
- # Location of MOZILLA/Netscape header files...
- export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
- export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
- # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
- # if this is not set.
-
- export NAN_BUILDINFO ?= true
- # Be paranoid regarding library creation (do not update archives)
- export NAN_PARANOID ?= true
-
- # enable l10n
- export INTERNATIONAL ?= true
-
- # Different endianess will make it fail, rely on other platforms for checks
- export BF_VERIFY_MO_FILES = false
-
- else
- ifeq ($(OS),linux)
-
- export ID = $(shell whoami)
- export HOST = $(shell hostname -s)
- export FREEDESKTOP ?= true
-
- export NAN_PYTHON ?= /usr
- export NAN_PYTHON_VERSION ?= 3.1
- export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
- # Next line if for static python, nan_link.mk uses -lpython$(NAN_PYTHON_VERSION)
- #export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
- export NAN_OPENAL ?= /usr
- export NAN_JPEG ?= /usr
- export NAN_PNG ?= /usr
- export NAN_TIFF ?= /usr
- export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
- export NAN_MESA ?= /usr
- export NAN_ZLIB ?= /usr
- export NAN_NSPR ?= $(LCGDIR)/nspr
- export NAN_FREETYPE ?= /usr
- export NAN_GETTEXT ?= /usr
- export NAN_SDL ?= $(shell sdl-config --prefix)
- export NAN_SDLLIBS ?= $(shell sdl-config --libs)
- export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
- export NAN_SAMPLERATE ?= /usr
-
- ifeq ($(WITH_OPENEXR), true)
- export NAN_OPENEXR ?= $(shell pkg-config --variable=prefix OpenEXR )
- export NAN_OPENEXR_INC ?= $(shell pkg-config --cflags OpenEXR )
- export NAN_OPENEXR_LIBS ?= $(addprefix ${NAN_OPENEXR}/lib/lib,$(addsuffix .a,$(shell pkg-config --libs-only-l OpenEXR | sed -s "s/-l//g" )))
- endif
-
- ifeq ($(WITH_FFTW3), true)
- export BF_FFTW3 ?= $(shell pkg-config --variable=prefix fftw3 )
- export BF_FFTW3_INC ?= $(shell pkg-config --variable=includedir fftw3 )
- export BF_FFTW3_LIBS ?= $(shell pkg-config --libs fftw3 )
- endif
-
- # Uncomment the following line to use Mozilla inplace of netscape
-
- # Location of MOZILLA/Netscape header files...
- export NAN_MOZILLA_INC ?= /usr/include/mozilla
- export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
- # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
- # if this is not set.
-
- export NAN_BUILDINFO ?= true
- # Be paranoid regarding library creation (do not update archives)
- export NAN_PARANOID ?= true
-
- # l10n
- export INTERNATIONAL ?= true
-
- export WITH_BINRELOC ?= true
-
- # enable ffmpeg support
- ifndef NAN_NO_FFMPEG
- export WITH_FFMPEG ?= true
- endif
-
- ifeq ($(CPU), powerpc)
- # Different endianess will make it fail, rely on other platforms for checks
- export BF_VERIFY_MO_FILES = false
- endif
-
- else
- ifeq ($(OS),openbsd)
-
- export ID = $(shell whoami)
- export HOST = $(shell hostname -s)
- export FREEDESKTOP ?= true
-
- export NAN_PYTHON ?= $(LCGDIR)/python
- export NAN_PYTHON_VERSION ?= 3.1
- export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
- export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
- export NAN_OPENAL ?= $(LCGDIR)/openal
- export NAN_JPEG ?= $(LCGDIR)/jpeg
- export NAN_PNG ?= $(LCGDIR)/png
- export NAN_TIFF ?= $(LCGDIR)/tiff
- export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
- export NAN_MESA ?= /usr/src/Mesa-3.1
- export NAN_ZLIB ?= $(LCGDIR)/zlib
- export NAN_NSPR ?= $(LCGDIR)/nspr
- export NAN_FREETYPE ?= $(LCGDIR)/freetype
- export NAN_GETTEXT ?= $(LCGDIR)/gettext
- export NAN_SDL ?= $(shell sdl-config --prefix)
- export NAN_SDLLIBS ?= $(shell sdl-config --libs)
- export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
-
- # Location of MOZILLA/Netscape header files...
- export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
- export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
- # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
- # if this is not set.
-
- export NAN_BUILDINFO ?= true
- # Be paranoid regarding library creation (do not update archives)
- export NAN_PARANOID ?= true
-
- # l10n
- #export INTERNATIONAL ?= true
-
- else
- ifeq ($(OS),solaris)
-
- export ID = $(shell /usr/ucb/whoami)
- export HOST = $(shell hostname)
- export NAN_PYTHON ?= $(LCGDIR)/python
- export NAN_PYTHON_VERSION ?= 3.1
- export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
- export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
- export NAN_OPENAL ?= $(LCGDIR)/openal
- export NAN_JPEG ?= $(LCGDIR)/jpeg
- export NAN_PNG ?= $(LCGDIR)/png
- export NAN_TIFF ?= /usr
- export NAN_TERRAPLAY ?=
- export NAN_MESA ?= /usr/X11
- export NAN_ZLIB ?= $(LCGDIR)/zlib
- export NAN_NSPR ?= $(LCGDIR)/nspr
- export NAN_FREETYPE ?= $(LCGDIR)/freetype
- export NAN_GETTEXT ?= $(LCGDIR)/gettext
- export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/libintl.a $(NAN_GETTEXT)/lib/libiconv.a
- export NAN_SDL ?= $(LCGDIR)/sdl
- export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include/SDL
- export NAN_SDLLIBS ?= $(NAN_SDL)/lib/libSDL.a
-
- # this only exists at the moment for i386-64 CPU Types at the moment
- export NAN_OPENEXR ?= $(LCGDIR)/openexr
- export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/OpenEXR
- export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a $(NAN_OPENEXR)/lib/libIlmThread.a -lrt
-
- # Location of MOZILLA/Netscape header files...
- export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
- export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
- # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
- # if this is not set.
-
- export NAN_BUILDINFO ?= true
- # Be paranoid regarding library creation (do not update archives)
- export NAN_PARANOID ?= true
-
- # l10n
- #export INTERNATIONAL ?= true
-
- else
- ifeq ($(OS),windows)
-
- export ID = $(LOGNAME)
- export NAN_PYTHON ?= $(LCGDIR)/python
- export NAN_ICONV ?= $(LCGDIR)/iconv
- export NAN_PYTHON_VERSION ?= 3.1
- export NAN_OPENAL ?= $(LCGDIR)/openal
- export NAN_JPEG ?= $(LCGDIR)/jpeg
- export NAN_PNG ?= $(LCGDIR)/png
- export NAN_TIFF ?= $(LCGDIR)/tiff
- export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
- export NAN_MESA ?= /usr/src/Mesa-3.1
- export NAN_ZLIB ?= $(LCGDIR)/zlib
- export NAN_NSPR ?= $(LCGDIR)/nspr
- export NAN_GETTEXT ?= $(LCGDIR)/gettext
- ifeq ($(FREE_WINDOWS), true)
- export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/freegettext.a $(NAN_ICONV)/lib/freeiconv.a
- export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
- export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/lib25_vs2005/libpython31.a # NOT TESTED, PROBABLY BROKEN
- export NAN_FREETYPE ?= $(LCGDIR)/gcc/freetype
- export NAN_SDL ?= $(LCGDIR)/gcc/sdl
- export NAN_OPENEXR ?= $(LCGDIR)/gcc/openexr
- export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/OpenEXR
- export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/libIlmImf.a $(NAN_OPENEXR)/lib/libHalf.a $(NAN_OPENEXR)/lib/libIex.a
- export NAN_PTHREADS ?= $(LCGDIR)/pthreads
- else
- export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/gnu_gettext.lib $(NAN_ICONV)/lib/iconv.lib
- export NAN_PYTHON_BINARY ?= python
- export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python31.lib # NOT TESTED, PROBABLY BROKEN
- export NAN_FREETYPE ?= $(LCGDIR)/freetype
- export NAN_SDL ?= $(LCGDIR)/sdl
- export NAN_OPENEXR ?= $(LCGDIR)/openexr
- export NAN_OPENEXR_INC ?= -I$(NAN_OPENEXR)/include -I$(NAN_OPENEXR)/include/IlmImf -I$(NAN_OPENEXR)/include/Imath -I$(NAN_OPENEXR)/include/Iex
- export NAN_OPENEXR_LIBS ?= $(NAN_OPENEXR)/lib/IlmImf.lib $(NAN_OPENEXR)/lib/Half.lib $(NAN_OPENEXR)/lib/Iex.lib
- endif
- export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include
-
- export NAN_WINTAB ?= $(LCGDIR)/wintab
-
- # Location of MOZILLA/Netscape header files...
- export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
- export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
- # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
- # if this is not set.
- export NAN_PYTHON_BINARY ?= python
- export NAN_BUILDINFO ?= true
- # Be paranoid regarding library creation (do not update archives)
- export NAN_PARANOID ?= true
-
- # l10n
- export INTERNATIONAL ?= true
-
- # enable quicktime support
- # export WITH_QUICKTIME ?= true
-
- else # Platform not listed above
-
- export NAN_PYTHON ?= $(LCGDIR)/python
- export NAN_PYTHON_VERSION ?= 3.1
- export NAN_PYTHON_BINARY ?= python
- export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python$(NAN_PYTHON_VERSION)/config/libpython$(NAN_PYTHON_VERSION).a
-
- export NAN_OPENAL ?= $(LCGDIR)/openal
- export NAN_JPEG ?= $(LCGDIR)/jpeg
- export NAN_PNG ?= $(LCGDIR)/png
- export NAN_TIFF ?= $(LCGDIR)/tiff
- export NAN_SDL ?= $(LCGDIR)/sdl
- export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
- export NAN_MESA ?= /usr/src/Mesa-3.1
- export NAN_ZLIB ?= $(LCGDIR)/zlib
- export NAN_NSPR ?= $(LCGDIR)/nspr
- export NAN_FREETYPE ?= $(LCGDIR)/freetype
- export NAN_GETTEXT ?= $(LCGDIR)/gettext
- export NAN_SDL ?= $(shell sdl-config --prefix)
- export NAN_SDLLIBS ?= $(shell sdl-config --libs)
- export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
-
- # Location of MOZILLA/Netscape header files...
- export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
- export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
- # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
- # if this is not set.
-
- export NAN_BUILDINFO ?= true
- # Be paranoid regarding library creation (do not update archives)
- export NAN_PARANOID ?= true
-
- # l10n
- #export INTERNATIONAL ?= true
-
- endif # windows + fallback
- endif # solaris
- endif # openbsd
- endif # linux
- endif # irix
- endif # freebsd
- endif # darwin
-
- # default tiff libs
- export NAN_TIFF_LIBS ?= $(NAN_TIFF)/lib/libtiff.a
-
- # default path to lcms, may be overidden in platform sections above or in user-def.mk
- export BF_LCMS ?= $(LCGDIR)/lcms
- export BF_LCMS_INC ?= $(BF_LCMS)/include
- export BF_LCMS_LIBS ?= $(BF_LCMS)/lib/liblcms.a
-
-endif # CONFIG_GUESS
-
-# Don't want to build the gameengine?
-ifeq ($(NAN_NO_KETSJI), true)
- export NAN_JUST_BLENDERDYNAMIC=true
-endif
diff --git a/build_files/make/nan_link.mk b/build_files/make/nan_link.mk
deleted file mode 100644
index 43fba13f45b..00000000000
--- a/build_files/make/nan_link.mk
+++ /dev/null
@@ -1,202 +0,0 @@
-# -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
-# vim: tabstop=8
-#
-# $Id$
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): GSR
-#
-# ***** END GPL LICENSE BLOCK *****
-#
-# linking only
-
-include nan_definitions.mk
-
-ifdef NAN_DEBUG
- LDFLAGS += $(NAN_DEBUG)
-endif
-
-DBG_LDFLAGS += -g
-
-ifneq (x$(DEBUG_DIR), x)
- LDFLAGS+=$(DBG_LDFLAGS)
-else
- LDFLAGS+=$(REL_LDFLAGS)
-endif
-
-######################## OS dependencies (alphabetic!) ################
-
-# default (overriden by windows)
-SOEXT = .so
-
-ifeq ($(OS),darwin)
- LLIBS += -lGLU -lGL
- LLIBS += -lz -lstdc++
- ifdef USE_OSX10.4STUBS
- LLIBS +=-lSystemStubs
- endif
- ifeq ($(WITH_COCOA), true)
- LLIBS += -framework Cocoa
- endif
- LLIBS += -framework Carbon -framework AGL -framework OpenGL
- ifeq ($(WITH_QUICKTIME), true)
- ifeq ($(USE_QTKIT), true)
- LLIBS += -framework QTKit
- else
- LLIBS += -framework QuickTime
- endif
- endif
- LLIBS += -framework CoreAudio
- LLIBS += -framework AudioUnit -framework AudioToolbox
- LDFLAGS += -L/System/Library/Frameworks/OpenGL.framework/Libraries
- # useful for crosscompiling
- LDFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
-
- DBG_LDFLAGS += -L/System/Library/Frameworks/OpenGL.framework/Libraries
-endif
-
-ifeq ($(OS),freebsd)
- LLIBS = -L/usr/X11R6/lib -lX11 -lXmu -lXi -lm -lutil -lz -pthread -lc_r
- DADD = -lGL -lGLU
- DYNLDFLAGS = -shared $(LDFLAGS)
- LOPTS = -Wl,--export-dynamic
-endif
-
-ifeq ($(OS),irix)
- ifeq ($(IRIX_USE_GCC), true)
- LDFLAGS += -mabi=n32 -mips4
- DBG_LDFLAGS += -LD_LAYOUT:lgot_buffer=40
- else
- LDFLAGS += -n32 -mips3
- LDFLAGS += -woff 84,171
- endif
- LLIBS = -lmovieGL -lGLU -lGL -lXmu -lXext -lXi -lX11 -lc -lm -ldmedia
- LLIBS += -lcl -laudio
- ifneq ($(IRIX_USE_GCC), true)
- LLIBS += -lCio -ldb
- endif
- LLIBS += -lz -lpthread
- DYNLDFLAGS = -shared $(LDFLAGS)
-endif
-
-ifeq ($(OS),linux)
- ifeq ($(CPU),alpha)
- COMMENT = "MESA 3.1"
- LLIBS = -lGL -lGLU -L/usr/X11R6/lib/ -lXmu -lXext -lX11
- LLIBS += -lc -lm -ldl -lutil
- LOPTS = -export-dynamic
- endif
- ifeq ($(CPU),$(findstring $(CPU), "i386 x86_64 ia64 parisc64 powerpc sparc64"))
- COMMENT = "MESA 3.1"
- LLIBS = -L$(NAN_MESA)/lib -L/usr/X11R6/lib -lXext -lX11 -lXi
- LLIBS += -lutil -lc -lm -ldl -lpthread
- LLIBS += -L$(NAN_PYTHON)/lib -Wl,-rpath -Wl,$(NAN_PYTHON)/lib -lpython$(NAN_PYTHON_VERSION)
- LOPTS = -export-dynamic
- DADD = -lGL -lGLU
- SADD = $(NAN_MESA)/lib/libGL.a $(NAN_MESA)/lib/libGLU.a
- DYNLDFLAGS = -shared $(LDFLAGS)
- endif
- LLIBS += -lz
-endif
-
-ifeq ($(OS),openbsd)
- SADD = /usr/local/lib/libGL.a /usr/local/lib/libGLU.a
- SADD += /usr/X11R6/lib/libXmu.a /usr/X11R6/lib/libXext.a
- SADD += /usr/X11R6/lib/libX11.a /usr/lib/libm.a -pthread
-endif
-
-ifeq ($(OS),solaris)
- ifeq (x86_64, $(findstring x86_64, $(CPU)))
- LLIBS = -lrt
- LLIBS += -L$(NAN_MESA)/lib/amd64
- else
- LLIBS += -L$(NAN_MESA)/lib
- endif
-
- LLIBS += $(NAN_ZLIB)/lib/libz.a -lGLU -lGL -lXmu -lXext -lXi -lX11 -lc -lm -ldl -lsocket -lnsl
- DYNLDFLAGS = -shared $(LDFLAGS)
-endif
-
-ifeq ($(OS),windows)
- EXT = .exe
- SOEXT = .dll
- ifeq ($(FREE_WINDOWS),true)
- MINGWLIB = /usr/lib/w32api
- LDFLAGS += -mwindows -mno-cygwin -mconsole
- DADD += -L/usr/lib/w32api -lnetapi32 -lopengl32 -lglu32 -lshfolder
- DADD += -L/usr/lib/w32api -lwinmm -lwsock32
- else
- DADD = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
- DADD += advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
- DADD += vfw32.lib winmm.lib opengl32.lib glu32.lib largeint.lib dxguid.lib
- DADD += libcmt.lib
- LOPTS = /link
- LOPTS += /NODEFAULTLIB:"libc"
- LOPTS += /NODEFAULTLIB:"libcd"
- LOPTS += /NODEFAULTLIB:"libcp"
- LOPTS += /NODEFAULTLIB:"libcpd"
- LOPTS += /NODEFAULTLIB:"python31"
- LOPTS += /NODEFAULTLIB:"msvcrt"
- LOPTS += /SUBSYSTEM:CONSOLE
- LDFLAGS += /MT
- DYNLDFLAGS = /LD
- endif
-endif
-
-ifneq ($(OS), irix)
- LLIBS += $(NAN_SDLLIBS)
-endif
-
-ifeq ($(WITH_ICONV),true)
- LLIBS += $(NAN_ICONV_LIBS)
-endif
-
-ifeq ($(WITH_FFMPEG),true)
- LLIBS += $(NAN_FFMPEGLIBS)
-endif
-
-ifeq ($(INTERNATIONAL),true)
- LLIBS += $(NAN_GETTEXT_LIB)
-endif
-
-ifeq ($(WITH_BF_OPENMP),true)
- LLIBS += -lgomp
-endif
-
-ifeq ($(WITH_FFTW3),true)
- LLIBS += $(BF_FFTW3_LIBS)
-endif
-
-ifeq ($(WITH_OPENCOLLADA),true)
- LLIBS += $(BF_OPENCOLLADA_LIBS)
-endif
-
-ifeq ($(WITH_TIFF),true)
- LLIBS += $(NAN_TIFF_LIBS)
-endif
-
-ifeq ($(WITH_LCMS),true)
- LLIBS += $(BF_LCMS_LIBS)
-endif
-
-LLIBS += $(NAN_PYTHON_LIB)
diff --git a/build_files/make/nan_subdirs.mk b/build_files/make/nan_subdirs.mk
deleted file mode 100644
index 58200a28b67..00000000000
--- a/build_files/make/nan_subdirs.mk
+++ /dev/null
@@ -1,78 +0,0 @@
-# -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
-# vim: tabstop=8
-#
-# $Id$
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): GSR
-#
-# ***** END GPL LICENSE BLOCK *****
-#
-# Bounce make to subdirectories.
-# Set DIRS, SOURCEDIR. Optionally also reacts on DIR, TESTDIRS.
-#
-
-default: all
-
-# do not add install here. install target can only be used in intern/
-# top level Makefiles
-all debug clean::
-ifdef quicky
- @for i in $(quicky); do \
- echo "====> $(MAKE) $@ in $$i";\
- $(MAKE) -C $$i $@ quicky= || exit 1;\
- done
- $(MAKE) -C source link || exit 1
- @echo "${quicky}"
-else
- ifdef DIR
- @# Make sure object toplevels are there
- @[ -d $(NAN_OBJDIR) ] || mkdir -p $(NAN_OBJDIR)
- @[ -d $(LCGDIR) ] || mkdir -p $(LCGDIR)
- @[ -d $(OCGDIR) ] || mkdir -p $(OCGDIR)
- @[ -d $(OCGDIR)/intern ] || mkdir -p $(OCGDIR)/intern
- @[ -d $(OCGDIR)/extern ] || mkdir -p $(OCGDIR)/extern
- @# Create object directory
- @[ -d $(DIR) ] || mkdir -p $(DIR)
- endif
- ifdef SOURCEDIR
- @for i in $(DIRS); do \
- echo "====> $(MAKE) $@ in $(SOURCEDIR)/$$i" ;\
- $(MAKE) -C $$i $@ || exit 1; \
- done
- else
- @for i in $(DIRS); do \
- echo "====> $(MAKE) $@ in $$i" ;\
- $(MAKE) -C $$i $@ || exit 1; \
- done
- endif
-endif
-
-test::
- ifdef TESTDIRS
- @for i in $(TESTDIRS); do \
- echo "====> $(MAKE) $@ in $(SOURCEDIR)/$$i" ;\
- $(MAKE) -C $$i $@ || exit 1; \
- done
- endif
-
diff --git a/build_files/make/nan_warn.mk b/build_files/make/nan_warn.mk
deleted file mode 100644
index c195fb333ab..00000000000
--- a/build_files/make/nan_warn.mk
+++ /dev/null
@@ -1,167 +0,0 @@
-# -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
-# vim: tabstop=8
-#
-# $Id$
-#
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): GSR
-#
-# ***** END GPL LICENSE BLOCK *****
-#
-# NaN compiler and linker warning levels
-# On some platforms, you will be flooded with system include file warnings.
-# Use hmake to filter those away.
-#
-
-# Force the correct redefinition
-LEVEL_1_C_WARNINGS = -FIX_NAN_WARN1A
-LEVEL_1_CPP_WARNINGS = -FIX_NAN_WARN1B
-LEVEL_2_C_WARNINGS = -FIX_NAN_WARN2A
-LEVEL_2_CPP_WARNINGS = -FIX_NAN_WARN2B
-FIX_STUBS_WARNINGS = -FIX_NAN_WARN3
-
-########################################################################
-# Level 1: basic C warnings.
-ifeq (gcc, $(findstring gcc,$(CC)))
- LEVEL_1_C_WARNINGS = -Wall
- LEVEL_1_C_WARNINGS += -Wno-char-subscripts
-else
- ifeq (cc, $(findstring cc,$(CC)))
- ifeq ($(OS),irix)
- # MIPSpro Compilers
- #
- # Irix warning info
- #
- # 1001 # the source file does not end w/ a newline
- # 1110 # unreachable statement
- # 1201 # trailing comma in enums is nonstandard
- # 1209 # constant controlling expressions
- # 1355 # extra semicolon is ignored
- # 1424 # unreferenced template paramaters
- # 1681 # virtual function override
- # 3201 # unreferenced formal paramaters
- #
- LEVEL_1_C_WARNINGS = -fullwarn -woff 1001,1110,1201,1209,1355,1424,1681,3201
- endif
- endif
- ifeq ($(OS),windows)
- # Microsoft Compilers and cl_wrapper.pl
- LEVEL_1_C_WARNINGS = -Wall
- endif
-endif
-
-# Level 1: basic CPP warnings.
-ifeq (g++, $(findstring g++,$(CCC)))
- LEVEL_1_CPP_WARNINGS = -Wall
- LEVEL_1_CPP_WARNINGS += -Wno-reorder
-else
- ifeq (CC, $(findstring CC,$(CCC)))
- ifeq ($(OS),irix)
- # MIPSpro Compilers
- # see warning descriptions above
- LEVEL_1_CPP_WARNINGS = -woff 1001,1110,1201,1209,1355,1424,1681,3201
- endif
- endif
- ifeq ($(OS),windows)
- # Microsoft Compilers and cl_wrapper.pl
- LEVEL_1_CPP_WARNINGS = -Wall
- endif
-endif
-
-########################################################################
-# Level 2: paranoia level C warnings.
-# DO NOT REUSE LEVEL_1_ DEFINES.
-ifeq (gcc, $(findstring gcc,$(CC)))
- LEVEL_2_C_WARNINGS = -Wall
- LEVEL_2_C_WARNINGS += -W
- # deliberately enable char-subscript warnings
- LEVEL_2_C_WARNINGS += -Wshadow
- LEVEL_2_C_WARNINGS += -Wpointer-arith
- LEVEL_2_C_WARNINGS += -Wbad-function-cast
- LEVEL_2_C_WARNINGS += -Wcast-qual
- LEVEL_2_C_WARNINGS += -Wcast-align
- LEVEL_2_C_WARNINGS += -Waggregate-return
- LEVEL_2_C_WARNINGS += -Wstrict-prototypes
- LEVEL_2_C_WARNINGS += -Wmissing-prototypes
- LEVEL_2_C_WARNINGS += -Wmissing-declarations
- LEVEL_2_C_WARNINGS += -Wnested-externs
- LEVEL_2_C_WARNINGS += -Wredundant-decls
-else
- ifeq (cc, $(findstring cc,$(CC)))
- ifeq ($(OS),irix)
- # MIPSpro Compilers
- # see warning descriptions above
- LEVEL_2_C_WARNINGS = -fullwarn -woff 1001,1209,1424,3201
- endif
- ifeq ($(OS),solaris)
- # Forte / Sun WorkShop Compilers
- LEVEL_2_C_WARNINGS = -v
- endif
- endif
- ifeq ($(OS),windows)
- # Microsoft Compilers and cl_wrapper.pl
- LEVEL_2_C_WARNINGS = -Wall
- endif
-endif
-
-# Level 2: paranoia level CPP warnings.
-# DO NOT REUSE LEVEL_1_ DEFINES.
-ifeq (g++, $(findstring g++,$(CCC)))
- LEVEL_2_CPP_WARNINGS = -Wall
- LEVEL_2_CPP_WARNINGS += -W
- # deliberately enable char-subscript warnings
- LEVEL_2_CPP_WARNINGS += -Wshadow
- LEVEL_2_CPP_WARNINGS += -Wpointer-arith
- LEVEL_2_CPP_WARNINGS += -Wcast-qual
- LEVEL_2_CPP_WARNINGS += -Wcast-align
- # deliberately disable aggregate-return warnings
- LEVEL_2_CPP_WARNINGS += -Wredundant-decls
- LEVEL_2_CPP_WARNINGS += -Wreorder
- LEVEL_2_CPP_WARNINGS += -Wctor-dtor-privacy
- LEVEL_2_CPP_WARNINGS += -Wnon-virtual-dtor
- #LEVEL_2_CPP_WARNINGS += -Wold-style-cast
- LEVEL_2_CPP_WARNINGS += -Woverloaded-virtual
- LEVEL_2_CPP_WARNINGS += -Wsign-promo
- LEVEL_2_CPP_WARNINGS += -Wsynth
-else
- ifeq (CC, $(findstring CC,$(CCC)))
- ifeq ($(OS),irix)
- # MIPSpro Compilers
- # see warning descriptions above
- LEVEL_2_CPP_WARNINGS = -fullwarn -woff 1209,1424,3201
- endif
- endif
- ifeq ($(OS),windows)
- # Microsoft Compilers and cl_wrapper.pl
- LEVEL_2_CPP_WARNINGS = -Wall
- endif
-endif
-
-########################################################################
-# stubs warning fix
-ifeq (gcc, $(findstring gcc,$(CC)))
- FIX_STUBS_WARNINGS = -Wno-unused
-else
- FIX_STUBS_WARNINGS =
-endif
-
diff --git a/build_files/package_spec/build_debian.sh b/build_files/package_spec/build_debian.sh
new file mode 100644
index 00000000000..17c0abb888b
--- /dev/null
+++ b/build_files/package_spec/build_debian.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+# Builds a debian package from SVN source.
+#
+# For paralelle builds use:
+# DEB_BUILD_OPTIONS="parallel=5" sh build_files/package_spec/build_debian.sh
+
+# this needs to run in the root dir.
+cd $(dirname $0)/../../
+rm -rf debian
+cp -a build_files/package_spec/debian .
+
+
+# Get values from blender to use in debian/changelog.
+BLENDER_REVISION=$(svnversion)
+
+blender_srcdir=$PWD
+blender_version=$(grep BLENDER_VERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
+BLENDER_VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100)
+DEB_VERSION=${BLENDER_VERSION}+svn${BLENDER_REVISION}-bf
+
+# update debian/changelog
+dch -b -v $DEB_VERSION "New upstream SVN snapshot."
+
+
+# run the rules makefile
+debian/rules get-orig-source SVN_URL=.
+mv *.gz ../
+
+# build the package
+debuild -i -us -uc -b
+
+
+# remove temp dir
+rm -rf debian
diff --git a/build_files/package_spec/pacman/PKGBUILD b/build_files/package_spec/pacman/PKGBUILD
index c419ce9096e..10fdacc95ff 100644
--- a/build_files/package_spec/pacman/PKGBUILD
+++ b/build_files/package_spec/pacman/PKGBUILD
@@ -1,48 +1,50 @@
-# Maintainer: Campbell Barton <ideasman42 at gmail dot com>
-
-# custom blender vars
-blender_srcdir=$srcdir/../../../..
-blender_version=$(grep BLENDER_VERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
-blender_subversion=$(grep BLENDER_SUBVERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
-blender_ver_string=$(expr $blender_version / 100).$(expr $blender_version % 100).$blender_subversion
-
-pkgname=blender-beta
-pkgver=$blender_ver_string
-pkgrel=1
-pkgdesc="A fully integrated 3D graphics creation suite"
-arch=('i686' 'x86_64')
-url="www.blender.org"
-license=('GPL')
-groups=()
-depends=('libjpeg' 'libpng' 'openexr' 'python3>=3.1' 'gettext' 'libxi' 'libxmu' 'mesa' 'freetype2' 'openal' 'sdl' 'libsndfile' 'libsamplerate' 'ffmpeg')
-makedepends=('cmake' 'svn')
-optdepends=()
-provides=('blender')
-conflicts=('blender')
-replaces=()
-backup=()
-options=()
-install=blender.install
-# use current svn to make the package.
-# source=(http://download.blender.org/source/$pkgname-$pkgver.tar.gz)
-# md5sums=('27edb80c82c25252d43d6a01980d953a') #generate with 'makepkg -g'
-source=()
-md5sums=()
-noextract=()
-
-build() {
- mkdir -p $srcdir/build
- cd $srcdir/build
- cmake $blender_srcdir \
- -DCMAKE_INSTALL_PREFIX:PATH=/usr \
- -DCMAKE_BUILD_TYPE:STRING=Release \
- -DWITH_PYTHON_INSTALL:BOOL=OFF \
- -DWITH_OPENCOLLADA:BOOL=OFF
-
- make
-}
-
-package() {
- cd $srcdir/build
- make DESTDIR="$pkgdir" install
-}
+# Maintainer: Campbell Barton <ideasman42 at gmail dot com>
+
+# custom blender vars
+blender_srcdir=$(dirname $srcdir)"/../../.."
+blender_revision=$(svnversion $blender_srcdir)
+blender_version=$(grep BLENDER_VERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
+# blender_subversion=$(grep BLENDER_SUBVERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
+blender_ver_string=$(expr $blender_version / 100).$(expr $blender_version % 100)+svn$blender_revision
+
+pkgname=blender-beta
+pkgver=$blender_ver_string
+pkgrel=1
+pkgdesc="A fully integrated 3D graphics creation suite"
+arch=('i686' 'x86_64')
+url="www.blender.org"
+license=('GPL')
+groups=()
+depends=('libjpeg' 'libpng' 'openexr' 'python>=3.1' 'gettext' 'libxi' 'libxmu' 'mesa' 'freetype2' 'openal' 'sdl' 'libsndfile' 'libsamplerate' 'ffmpeg')
+makedepends=('cmake' 'svn')
+optdepends=()
+provides=('blender')
+conflicts=('blender')
+replaces=()
+backup=()
+options=()
+install=blender.install
+# use current svn to make the package.
+# source=(http://download.blender.org/source/$pkgname-$pkgver.tar.gz)
+# md5sums=('27edb80c82c25252d43d6a01980d953a') #generate with 'makepkg -g'
+source=()
+md5sums=()
+noextract=()
+
+build() {
+ mkdir -p $srcdir/build
+ cd $srcdir/build
+ cmake $blender_srcdir \
+ -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ -DCMAKE_BUILD_TYPE:STRING=Release \
+ -DWITH_PYTHON_INSTALL:BOOL=OFF \
+ -DWITH_OPENCOLLADA:BOOL=OFF
+
+ make
+}
+
+package() {
+ cd $srcdir/build
+ make DESTDIR="$pkgdir" install
+ python -m compileall $pkgdir/usr/share/blender
+}
diff --git a/build_files/package_spec/pacman/blender.install b/build_files/package_spec/pacman/blender.install
index f2d37ec7a2b..fc339139957 100644
--- a/build_files/package_spec/pacman/blender.install
+++ b/build_files/package_spec/pacman/blender.install
@@ -1,29 +1,29 @@
-post_install() {
- cat << EOF
-
-NOTE
-----
-Happy blending!
-
-EOF
- echo "update desktop mime database..."
- update-desktop-database
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- /bin/true
-}
-
-post_remove() {
- echo "update desktop mime database..."
- update-desktop-database
-}
-
-op=$1
-shift
-
-$op $*
+post_install() {
+ cat << EOF
+
+NOTE
+----
+Happy blending!
+
+EOF
+ echo "update desktop mime database..."
+ update-desktop-database
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ /bin/true
+}
+
+post_remove() {
+ echo "update desktop mime database..."
+ update-desktop-database
+}
+
+op=$1
+shift
+
+$op $*
diff --git a/build_files/scons/config/aix4-config.py b/build_files/scons/config/aix4-config.py
index a769f53b35e..2e9a1dc0bf3 100644
--- a/build_files/scons/config/aix4-config.py
+++ b/build_files/scons/config/aix4-config.py
@@ -190,7 +190,7 @@ BF_PROFILE_FLAGS = ['-pg','-g']
BF_PROFILE = 'false'
BF_DEBUG = 'false'
-BF_DEBUG_FLAGS = '-g'
+BF_DEBUG_CCFLAGS = ['-g']
BF_BUILDDIR = '../build/aix4'
BF_INSTALLDIR='../install/aix4'
diff --git a/build_files/scons/config/darwin-config.py b/build_files/scons/config/darwin-config.py
index 1423e8fb392..57bf6aba619 100644
--- a/build_files/scons/config/darwin-config.py
+++ b/build_files/scons/config/darwin-config.py
@@ -327,7 +327,7 @@ if MACOSX_ARCHITECTURE == 'x86_64':
REL_CCFLAGS = REL_CCFLAGS+['-march=core2','-mssse3','-with-tune=core2','-enable-threads']
CC_WARN = ['-Wall']
-C_WARN = ['-Wno-char-subscripts', '-Wpointer-arith', '-Wcast-align', '-Wdeclaration-after-statement', '-Wno-unknown-pragmas']
+C_WARN = ['-Wno-char-subscripts', '-Wpointer-arith', '-Wcast-align', '-Wdeclaration-after-statement', '-Wno-unknown-pragmas', '-Wstrict-prototypes']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
##FIX_STUBS_WARNINGS = -Wno-unused
@@ -340,7 +340,7 @@ BF_PROFILE_LINKFLAGS = ['-pg']
BF_PROFILE = False
BF_DEBUG = False
-BF_DEBUG_CCFLAGS = ['-g']
+BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
#############################################################################
################### Output directories ##################
diff --git a/build_files/scons/config/freebsd7-config.py b/build_files/scons/config/freebsd7-config.py
index 5678b4bda0a..fab249cb288 100644
--- a/build_files/scons/config/freebsd7-config.py
+++ b/build_files/scons/config/freebsd7-config.py
@@ -137,7 +137,7 @@ BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
-WITH_BF_REDCODE = True
+WITH_BF_REDCODE = False
BF_REDCODE = '#extern/libredcode'
BF_REDCODE_LIB = ''
# BF_REDCODE_INC = '${BF_REDCODE}/include'
@@ -173,10 +173,10 @@ WITH_BF_OPENMP = True
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
-CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
+CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE','-D_FILE_OFFSET_BITS=64','-D_LARGEFILE64_SOURCE']
CPPFLAGS = []
-CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
+CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE','-D_FILE_OFFSET_BITS=64','-D_LARGEFILE64_SOURCE']
if WITH_BF_FFMPEG:
# libavutil needs UINT64_C()
CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
@@ -188,7 +188,7 @@ REL_CCFLAGS = ['-O2']
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
-C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
+C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement', '-Wstrict-prototypes']
CC_WARN = ['-Wall']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
@@ -204,7 +204,7 @@ BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
-BF_DEBUG_CCFLAGS = ['-g']
+BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR = '../build/freebsd7'
BF_INSTALLDIR='../install/freebsd7'
diff --git a/build_files/scons/config/freebsd8-config.py b/build_files/scons/config/freebsd8-config.py
index bc09e87d59f..6a4a6ac8c9d 100644
--- a/build_files/scons/config/freebsd8-config.py
+++ b/build_files/scons/config/freebsd8-config.py
@@ -137,7 +137,7 @@ BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
-WITH_BF_REDCODE = True
+WITH_BF_REDCODE = False
BF_REDCODE = '#extern/libredcode'
BF_REDCODE_LIB = ''
# BF_REDCODE_INC = '${BF_REDCODE}/include'
@@ -173,10 +173,10 @@ WITH_BF_OPENMP = True
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
-CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
+CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE','-D_FILE_OFFSET_BITS=64','-D_LARGEFILE64_SOURCE']
CPPFLAGS = []
-CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
+CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE','-D_FILE_OFFSET_BITS=64','-D_LARGEFILE64_SOURCE']
if WITH_BF_FFMPEG:
# libavutil needs UINT64_C()
CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
@@ -188,7 +188,7 @@ REL_CCFLAGS = ['-O2']
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
-C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
+C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement', '-Wstrict-prototypes']
CC_WARN = ['-Wall']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
@@ -204,7 +204,7 @@ BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
-BF_DEBUG_CCFLAGS = ['-g']
+BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR = '../build/freebsd8'
BF_INSTALLDIR='../install/freebsd8'
diff --git a/build_files/scons/config/freebsd9-config.py b/build_files/scons/config/freebsd9-config.py
index 3fb4ebe7cd6..d2f54230a20 100644
--- a/build_files/scons/config/freebsd9-config.py
+++ b/build_files/scons/config/freebsd9-config.py
@@ -137,7 +137,7 @@ BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
-WITH_BF_REDCODE = True
+WITH_BF_REDCODE = False
BF_REDCODE = '#extern/libredcode'
BF_REDCODE_LIB = ''
# BF_REDCODE_INC = '${BF_REDCODE}/include'
@@ -173,10 +173,10 @@ WITH_BF_OPENMP = True
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
-CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
+CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE','-D_FILE_OFFSET_BITS=64','-D_LARGEFILE64_SOURCE']
CPPFLAGS = []
-CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
+CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE','-D_FILE_OFFSET_BITS=64','-D_LARGEFILE64_SOURCE']
if WITH_BF_FFMPEG:
# libavutil needs UINT64_C()
CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
@@ -188,7 +188,7 @@ REL_CCFLAGS = ['-O2']
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
-C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
+C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement', '-Wstrict-prototypes']
CC_WARN = ['-Wall']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
@@ -204,7 +204,7 @@ BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
-BF_DEBUG_CCFLAGS = ['-g']
+BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR = '../build/freebsd9'
BF_INSTALLDIR='../install/freebsd9'
diff --git a/build_files/scons/config/irix6-config.py b/build_files/scons/config/irix6-config.py
index 7c319f7b520..f5680aa29a6 100644
--- a/build_files/scons/config/irix6-config.py
+++ b/build_files/scons/config/irix6-config.py
@@ -171,9 +171,9 @@ REL_CCFLAGS = ['-O2']
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
-C_WARN = '-no_prelink -ptused'
+C_WARN = ['-no_prelink', '-ptused']
-CC_WARN = '-no_prelink -ptused'
+CC_WARN = ['-no_prelink', '-ptused']
##FIX_STUBS_WARNINGS = -Wno-unused
@@ -185,7 +185,7 @@ BF_PROFILE_FLAGS = ['-pg','-g']
BF_PROFILE = 'false'
BF_DEBUG = 'false'
-BF_DEBUG_FLAGS = '-g'
+BF_DEBUG_CCFLAGS = ['-g']
BF_BUILDDIR = '../build/irix6'
BF_INSTALLDIR='../install/irix6'
diff --git a/build_files/scons/config/linux2-config.py b/build_files/scons/config/linux2-config.py
index 75428937b39..5afc2234c7b 100644
--- a/build_files/scons/config/linux2-config.py
+++ b/build_files/scons/config/linux2-config.py
@@ -23,9 +23,11 @@ WITH_BF_STATICCXX = False
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
BF_LIBSAMPLERATE = '/usr'
+WITH_BF_STATICLIBSAMPLERATE = False
BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
BF_LIBSAMPLERATE_LIB = 'samplerate'
BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
+BF_LIBSAMPLERATE_LIB_STATIC = '${BF_LIBSAMPLERATE}/lib/libsamplerate.a'
WITH_BF_JACK = False
BF_JACK = '/usr'
@@ -34,10 +36,12 @@ BF_JACK_LIB = 'jack'
BF_JACK_LIBPATH = '${BF_JACK}/lib'
WITH_BF_SNDFILE = False
+WITH_BF_STATICSNDFILE = False
BF_SNDFILE = '/usr'
BF_SNDFILE_INC = '${BF_SNDFILE}/include/sndfile'
BF_SNDFILE_LIB = 'sndfile'
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
+BF_SNDFILE_LIB_STATIC = '${BF_SNDFILE}/lib/libsndfile.a ${BF_OGG}/lib/libvorbis.a ${BF_OGG}/lib/libFLAC.a ${BF_OGG}/lib/libvorbisenc.a ${BF_OGG}/lib/libogg.a'
WITH_BF_SDL = True
BF_SDL = '/usr' #$(shell sdl-config --prefix)
@@ -136,10 +140,12 @@ BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = False
-BF_FFTW3 = LIBDIR + '/usr'
+WITH_BF_STATICFFTW3 = False
+BF_FFTW3 = '/usr'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
+BF_FFTW3_LIB_STATIC = '${BF_FFTW3_LIBPATH}/libfftw3.a'
WITH_BF_REDCODE = False
BF_REDCODE = '#extern/libredcode'
@@ -183,10 +189,12 @@ CXX = 'g++'
##ifeq ($CPU),alpha)
## CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing -mieee
-CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
+CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64','-D_LARGEFILE64_SOURCE']
CPPFLAGS = []
-CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
+CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64','-D_LARGEFILE64_SOURCE']
+# g++ 4.6, only needed for bullet
+CXXFLAGS += ['-fpermissive']
if WITH_BF_FFMPEG:
# libavutil needs UINT64_C()
CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
@@ -198,7 +206,7 @@ REL_CCFLAGS = ['-O2']
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
-C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
+C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement', '-Wunused-parameter', '-Wstrict-prototypes', '-Werror=declaration-after-statement', '-Werror=implicit-function-declaration', '-Werror=return-type']
CC_WARN = ['-Wall']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
@@ -214,7 +222,7 @@ BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
-BF_DEBUG_CCFLAGS = ['-g']
+BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR = '../build/linux2'
BF_INSTALLDIR='../install/linux2'
diff --git a/build_files/scons/config/linuxcross-config.py b/build_files/scons/config/linuxcross-config.py
index 1650201f8c6..5875538f95a 100644
--- a/build_files/scons/config/linuxcross-config.py
+++ b/build_files/scons/config/linuxcross-config.py
@@ -174,18 +174,18 @@ BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse']
CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
-CPPFLAGS = ['-DWIN32', '-DFREE_WINDOWS']
+CPPFLAGS = ['-DWIN32', '-DFREE_WINDOWS', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_LARGEFILE64_SOURCE']
CXXFLAGS = ['-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
REL_CFLAGS = [ '-O2' ]
REL_CCFLAGS = [ '-O2' ]
-C_WARN = [ '-Wall' , '-Wno-char-subscripts', '-Wdeclaration-after-statement' ]
+C_WARN = ['-Wall', '-Wstrict-prototypes', '-Wno-char-subscripts', '-Wdeclaration-after-statement']
CC_WARN = [ '-Wall' ]
LLIBS = [ '-ldxguid', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++', '-luuid', '-lole32'] #'-lutil', '-lc', '-lm', '-ldl', '-lpthread' ]
BF_DEBUG = False
-BF_DEBUG_CCFLAGS = ['-g']
+BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_PROFILE = False
BF_PROFILE_CCFLAGS = ['-pg','-g']
diff --git a/build_files/scons/config/openbsd3-config.py b/build_files/scons/config/openbsd3-config.py
index 0ef9ba5d0a4..080e8f013ac 100644
--- a/build_files/scons/config/openbsd3-config.py
+++ b/build_files/scons/config/openbsd3-config.py
@@ -132,7 +132,7 @@ REL_CCFLAGS = ['-O2']
##
CC = 'gcc'
CXX = 'g++'
-C_WARN = ['-Wdeclaration-after-statement']
+C_WARN = ['-Wdeclaration-after-statement', '-Wstrict-prototypes']
CC_WARN = ['-Wall']
@@ -147,7 +147,7 @@ BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
-BF_DEBUG_CCFLAGS = ['-g']
+BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR='../build/openbsd3'
BF_INSTALLDIR='../install/openbsd3'
diff --git a/build_files/scons/config/sunos5-config.py b/build_files/scons/config/sunos5-config.py
index a0713735a5b..168fb4271a8 100644
--- a/build_files/scons/config/sunos5-config.py
+++ b/build_files/scons/config/sunos5-config.py
@@ -161,7 +161,7 @@ BF_PROFILE_LINKFLAGS = ['-pg']
BF_PROFILE = False
BF_DEBUG = False
-BF_DEBUG_CCFLAGS = []
+BF_DEBUG_CCFLAGS = ['-DDEBUG']
BF_BUILDDIR = '../build/sunos5'
BF_INSTALLDIR='../install/sunos5'
diff --git a/build_files/scons/config/win32-mingw-config.py b/build_files/scons/config/win32-mingw-config.py
index f8b67781172..76a06095f64 100644
--- a/build_files/scons/config/win32-mingw-config.py
+++ b/build_files/scons/config/win32-mingw-config.py
@@ -164,19 +164,19 @@ CXX = 'g++'
CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
-CPPFLAGS = ['-DWIN32', '-DFREE_WINDOWS']
+CPPFLAGS = ['-DWIN32', '-DFREE_WINDOWS', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_LARGEFILE64_SOURCE']
CXXFLAGS = ['-pipe', '-mwindows', '-funsigned-char', '-fno-strict-aliasing' ]
REL_CFLAGS = [ '-O2' ]
REL_CCFLAGS = [ '-O2' ]
-C_WARN = [ '-Wno-char-subscripts', '-Wdeclaration-after-statement' ]
+C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement', '-Wstrict-prototypes']
CC_WARN = [ '-Wall' ]
LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++','-lole32','-luuid']
BF_DEBUG = False
-BF_DEBUG_CCFLAGS= ['-g']
+BF_DEBUG_CCFLAGS= ['-g', '-DDEBUG']
BF_PROFILE_CCFLAGS = ['-pg', '-g']
BF_PROFILE_LINKFLAGS = ['-pg']
diff --git a/build_files/scons/config/win32-vc-config.py b/build_files/scons/config/win32-vc-config.py
index 3572dd113bf..219e7e0bce3 100644
--- a/build_files/scons/config/win32-vc-config.py
+++ b/build_files/scons/config/win32-vc-config.py
@@ -146,9 +146,15 @@ BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = LIBDIR + '/opencollada'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
-BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa'
+BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa UTF'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
+WITH_BF_LCMS = False
+BF_LCMS = LIBDIR + '/lcms'
+BF_LCMS_INC = '${BF_LCMS}/include'
+BF_LCMS_LIB = 'lcms'
+BF_LCMS_LIBPATH = '${BF_LCMS}/lib'
+
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE']
@@ -164,7 +170,7 @@ BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a'
CC = 'cl.exe'
CXX = 'cl.exe'
-CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
+CCFLAGS = ['/nologo', '/Ob1', '/J', '/W0', '/Gd', '/wd4018', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267', '/we4013']
CXXFLAGS = ['/EHsc']
BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast', '/arch:SSE']
@@ -188,7 +194,6 @@ PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/INCREMENTAL:NO','/N
# BF_PROFILE_LINKFLAGS = ['-pg']
# BF_PROFILE = False
-#turn off makebsc by default ( as 64 bit version does ) .. takes ages to build .. for nothing ( well some M$ addicts may disagree )
BF_BSC=False
BF_BUILDDIR = '..\\build\\win32-vc'
diff --git a/build_files/scons/config/win64-vc-config.py b/build_files/scons/config/win64-vc-config.py
index 0a4b05a28bf..950f9257b99 100644
--- a/build_files/scons/config/win64-vc-config.py
+++ b/build_files/scons/config/win64-vc-config.py
@@ -22,6 +22,12 @@ BF_OPENAL_INC = '${BF_OPENAL}/include '
BF_OPENAL_LIB = 'wrap_oal'
BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
+WITH_BF_SNDFILE = True
+BF_SNDFILE = LIBDIR + '/sndfile'
+BF_SNDFILE_INC = '${BF_SNDFILE}/include'
+BF_SNDFILE_LIB = 'libsndfile-1'
+BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
+
# TODO - are these useful on win32?
# BF_CXX = '/usr'
# WITH_BF_STATICCXX = False
@@ -107,23 +113,6 @@ BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
WITH_BF_BINRELOC = False
-#WITH_BF_NSPR = True
-#BF_NSPR = $(LIBDIR)/nspr
-#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
-#BF_NSPR_LIB =
-
-# Uncomment the following line to use Mozilla inplace of netscape
-#CPPFLAGS += -DMOZ_NOT_NET
-# Location of MOZILLA/Netscape header files...
-#BF_MOZILLA = $(LIBDIR)/mozilla
-#BF_MOZILLA_INC = -I$(BF_MOZILLA)/include/mozilla/nspr -I$(BF_MOZILLA)/include/mozilla -I$(BF_MOZILLA)/include/mozilla/xpcom -I$(BF_MOZILLA)/include/mozilla/idl
-#BF_MOZILLA_LIB =
-# Will fall back to look in BF_MOZILLA_INC/nspr and BF_MOZILLA_LIB
-# if this is not set.
-#
-# Be paranoid regarding library creation (do not update archives)
-#BF_PARANOID = True
-
# enable freetype2 support for text objects
BF_WITH_FREETYPE = True
BF_FREETYPE = LIBDIR + '/freetype'
@@ -159,9 +148,15 @@ BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = LIBDIR + '/opencollada'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
-BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa'
+BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa UTF'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
+WITH_BF_LCMS = False
+BF_LCMS = LIBDIR + '/lcms'
+BF_LCMS_INC = '${BF_LCMS}/include'
+BF_LCMS_LIB = 'lcms'
+BF_LCMS_LIBPATH = '${BF_LCMS}/lib'
+
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE','/arch:SSE2']
@@ -177,13 +172,13 @@ CC = 'cl.exe'
CXX = 'cl.exe'
CFLAGS = []
-CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
+CCFLAGS = ['/nologo', '/Ob1', '/J', '/W0', '/Gd', '/we4013', '/wd4018', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
CXXFLAGS = ['/EHsc']
BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast']
BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr']
-CPPFLAGS = ['-DWIN32','-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE']
+CPPFLAGS = ['-DWIN32', '-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE']
REL_CFLAGS = ['-O2', '-DNDEBUG']
REL_CCFLAGS = ['-O2', '-DNDEBUG']
REL_CXXFLAGS = ['-O2', '-DNDEBUG']
@@ -194,9 +189,6 @@ CXX_WARN = []
LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid']
-BF_DEBUG=False
-BF_BSC=False
-
if BF_DEBUG:
BF_NUMJOBS=1
else:
@@ -207,10 +199,3 @@ PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:X64','/INCREMENTAL:NO','/NO
BF_BUILDDIR = '..\\build\\blender25-win64-vc'
BF_INSTALLDIR='..\\install\\blender25-win64-vc'
-
-
-######################### MERGE WITH ABOVE ################################
-
-
-
-
diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py
index 10583c03fac..cab245a4518 100644
--- a/build_files/scons/tools/Blender.py
+++ b/build_files/scons/tools/Blender.py
@@ -158,6 +158,8 @@ def setup_staticlibs(lenv):
statlibs += Split(lenv['BF_ZLIB_LIB_STATIC'])
if lenv['WITH_BF_FFTW3']:
libincs += Split(lenv['BF_FFTW3_LIBPATH'])
+ if lenv['WITH_BF_STATICFFTW3']:
+ statlibs += Split(lenv['BF_FFTW3_LIB_STATIC'])
if lenv['WITH_BF_FFMPEG'] and lenv['WITH_BF_STATICFFMPEG']:
statlibs += Split(lenv['BF_FFMPEG_LIB_STATIC'])
if lenv['WITH_BF_INTERNATIONAL']:
@@ -178,6 +180,9 @@ def setup_staticlibs(lenv):
if lenv['WITH_BF_PYTHON'] and lenv['WITH_BF_STATICPYTHON']:
statlibs += Split(lenv['BF_PYTHON_LIB_STATIC'])
+ if lenv['WITH_BF_SNDFILE'] and lenv['WITH_BF_STATICSNDFILE']:
+ statlibs += Split(lenv['BF_SNDFILE_LIB_STATIC'])
+
if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
libincs += Split(lenv['BF_PTHREADS_LIBPATH'])
@@ -191,6 +196,9 @@ def setup_staticlibs(lenv):
if lenv['OURPLATFORM'] == 'linuxcross':
libincs += Split(lenv['BF_OPENMP_LIBPATH'])
+ if lenv['WITH_BF_STATICLIBSAMPLERATE']:
+ statlibs += Split(lenv['BF_LIBSAMPLERATE_LIB_STATIC'])
+
# setting this last so any overriding of manually libs could be handled
if lenv['OURPLATFORM'] not in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
libincs.append('/usr/lib')
@@ -202,7 +210,6 @@ def setup_syslibs(lenv):
lenv['BF_JPEG_LIB'],
lenv['BF_PNG_LIB'],
- lenv['BF_LIBSAMPLERATE_LIB']
]
if not lenv['WITH_BF_FREETYPE_STATIC']:
@@ -236,9 +243,9 @@ def setup_syslibs(lenv):
syslibs += Split(lenv['BF_OGG_LIB'])
if lenv['WITH_BF_JACK']:
syslibs += Split(lenv['BF_JACK_LIB'])
- if lenv['WITH_BF_SNDFILE']:
+ if lenv['WITH_BF_SNDFILE'] and not lenv['WITH_BF_STATICSNDFILE']:
syslibs += Split(lenv['BF_SNDFILE_LIB'])
- if lenv['WITH_BF_FFTW3']:
+ if lenv['WITH_BF_FFTW3'] and not lenv['WITH_BF_STATICFFTW3']:
syslibs += Split(lenv['BF_FFTW3_LIB'])
if lenv['WITH_BF_SDL']:
syslibs += Split(lenv['BF_SDL_LIB'])
@@ -253,6 +260,9 @@ def setup_syslibs(lenv):
syslibs += Split(lenv['BF_OPENCOLLADA_LIB'])
syslibs.append(lenv['BF_EXPAT_LIB'])
+ if not lenv['WITH_BF_STATICLIBSAMPLERATE']:
+ syslibs += Split(lenv['BF_LIBSAMPLERATE_LIB'])
+
syslibs += lenv['LLIBS']
@@ -282,11 +292,17 @@ def buildinfo(lenv, build_type):
build_time = time.strftime ("%H:%M:%S")
build_rev = os.popen('svnversion').read()[:-1] # remove \n
if build_rev == '':
- build_rev = '<UNKNOWN>'
+ build_rev = '-UNKNOWN-'
if lenv['BF_DEBUG']:
build_type = "Debug"
+ build_cflags = ' '.join(lenv['CFLAGS'] + lenv['CCFLAGS'] + lenv['BF_DEBUG_CCFLAGS'] + lenv['CPPFLAGS'])
+ build_cxxflags = ' '.join(lenv['CCFLAGS'] + lenv['CXXFLAGS'] + lenv['CPPFLAGS'])
else:
build_type = "Release"
+ build_cflags = ' '.join(lenv['CFLAGS'] + lenv['CCFLAGS'] + lenv['REL_CFLAGS'] + lenv['REL_CCFLAGS'] + lenv['CPPFLAGS'])
+ build_cxxflags = ' '.join(lenv['CCFLAGS'] + lenv['CXXFLAGS'] + lenv['REL_CXXFLAGS'] + lenv['REL_CCFLAGS'] + lenv['CPPFLAGS'])
+
+ build_linkflags = ' '.join(lenv['PLATFORM_LINKFLAGS'])
obj = []
if lenv['BF_BUILDINFO']:
@@ -295,9 +311,17 @@ def buildinfo(lenv, build_type):
'BUILD_TYPE="%s"'%(build_type),
'BUILD_REV="%s"'%(build_rev),
'NAN_BUILDINFO',
- 'BUILD_PLATFORM="%s:%s"'%(platform.system(), platform.architecture()[0])])
- obj = [lenv.Object (root_build_dir+'source/creator/%s_buildinfo'%build_type,
- [root_build_dir+'source/creator/buildinfo.c'])]
+ 'BUILD_PLATFORM="%s:%s"'%(platform.system(), platform.architecture()[0]),
+ 'BUILD_CFLAGS=\\"%s\\"'%(build_cflags),
+ 'BUILD_CXXFLAGS=\\"%s\\"'%(build_cxxflags),
+ 'BUILD_LINKFLAGS=\\"%s\\"'%(build_linkflags),
+ 'BUILD_SYSTEM="SCons"'
+ ])
+
+ lenv.Append (CPPPATH = [root_build_dir+'source/blender/blenkernel'])
+
+ obj = [lenv.Object (root_build_dir+'source/creator/%s_buildinfo'%build_type, [root_build_dir+'source/creator/buildinfo.c'])]
+
return obj
##### END LIB STUFF ############
diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py
index da916a8e89c..1d716f9a093 100644
--- a/build_files/scons/tools/btools.py
+++ b/build_files/scons/tools/btools.py
@@ -39,9 +39,9 @@ def validate_arguments(args, bc):
'WITH_BF_PYTHON', 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'WITH_BF_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', 'BF_PYTHON_DLL',
'WITH_BF_OPENAL', 'BF_OPENAL', 'BF_OPENAL_INC', 'BF_OPENAL_LIB', 'BF_OPENAL_LIBPATH', 'WITH_BF_STATICOPENAL', 'BF_OPENAL_LIB_STATIC',
'WITH_BF_SDL', 'BF_SDL', 'BF_SDL_INC', 'BF_SDL_LIB', 'BF_SDL_LIBPATH',
- 'BF_LIBSAMPLERATE', 'BF_LIBSAMPLERATE_INC', 'BF_LIBSAMPLERATE_LIB', 'BF_LIBSAMPLERATE_LIBPATH',
+ 'BF_LIBSAMPLERATE', 'BF_LIBSAMPLERATE_INC', 'BF_LIBSAMPLERATE_LIB', 'BF_LIBSAMPLERATE_LIBPATH', 'WITH_BF_STATICLIBSAMPLERATE', 'BF_LIBSAMPLERATE_LIB_STATIC',
'WITH_BF_JACK', 'BF_JACK', 'BF_JACK_INC', 'BF_JACK_LIB', 'BF_JACK_LIBPATH',
- 'WITH_BF_SNDFILE', 'BF_SNDFILE', 'BF_SNDFILE_INC', 'BF_SNDFILE_LIB', 'BF_SNDFILE_LIBPATH',
+ 'WITH_BF_SNDFILE', 'BF_SNDFILE', 'BF_SNDFILE_INC', 'BF_SNDFILE_LIB', 'BF_SNDFILE_LIBPATH', 'WITH_BF_STATICSNDFILE', 'BF_SNDFILE_LIB_STATIC',
'BF_PTHREADS', 'BF_PTHREADS_INC', 'BF_PTHREADS_LIB', 'BF_PTHREADS_LIBPATH',
'WITH_BF_OPENEXR', 'BF_OPENEXR', 'BF_OPENEXR_INC', 'BF_OPENEXR_LIB', 'BF_OPENEXR_LIBPATH', 'WITH_BF_STATICOPENEXR', 'BF_OPENEXR_LIB_STATIC',
'WITH_BF_DDS', 'WITH_BF_CINEON', 'WITH_BF_HDR',
@@ -61,7 +61,7 @@ def validate_arguments(args, bc):
'BF_WINTAB', 'BF_WINTAB_INC',
'WITH_BF_FREETYPE', 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH', 'BF_FREETYPE_LIB_STATIC', 'WITH_BF_FREETYPE_STATIC',
'WITH_BF_QUICKTIME', 'BF_QUICKTIME', 'BF_QUICKTIME_INC', 'BF_QUICKTIME_LIB', 'BF_QUICKTIME_LIBPATH',
- 'WITH_BF_FFTW3', 'BF_FFTW3', 'BF_FFTW3_INC', 'BF_FFTW3_LIB', 'BF_FFTW3_LIBPATH',
+ 'WITH_BF_FFTW3', 'BF_FFTW3', 'BF_FFTW3_INC', 'BF_FFTW3_LIB', 'BF_FFTW3_LIBPATH', 'WITH_BF_STATICFFTW3', 'BF_FFTW3_LIB_STATIC',
'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC',
'WITH_BF_COLLADA', 'BF_COLLADA', 'BF_COLLADA_INC', 'BF_COLLADA_LIB', 'BF_OPENCOLLADA', 'BF_OPENCOLLADA_INC', 'BF_OPENCOLLADA_LIB', 'BF_OPENCOLLADA_LIBPATH', 'BF_PCRE', 'BF_PCRE_LIB', 'BF_PCRE_LIBPATH', 'BF_EXPAT', 'BF_EXPAT_LIB', 'BF_EXPAT_LIBPATH',
'WITH_BF_PLAYER',
@@ -92,7 +92,7 @@ def validate_arguments(args, bc):
'WITH_BF_RAYOPTIMIZATION',
'BF_RAYOPTIMIZATION_SSE_FLAGS',
'BF_NO_ELBEEM',
- 'BF_VCREDIST' # Windows-only, and useful only when creating installer
+ 'WITH_BF_CXX_GUARDEDALLOC'
]
# Have options here that scons expects to be lists
@@ -206,6 +206,8 @@ def read_opts(env, cfg, args):
('BF_LIBSAMPLERATE_INC', 'libsamplerate aka SRC include path', ''),
('BF_LIBSAMPLERATE_LIB', 'libsamplerate aka SRC library', ''),
('BF_LIBSAMPLERATE_LIBPATH', 'libsamplerate aka SRC library path', ''),
+ ('BF_LIBSAMPLERATE_LIB_STATIC', 'Path to libsamplerate static library', ''),
+ (BoolVariable('WITH_BF_STATICLIBSAMPLERATE', 'Staticly link to libsamplerate', False)),
(BoolVariable('WITH_BF_JACK', 'Enable jack support if true', True)),
('BF_JACK', 'jack base path', ''),
@@ -217,7 +219,9 @@ def read_opts(env, cfg, args):
('BF_SNDFILE', 'sndfile base path', ''),
('BF_SNDFILE_INC', 'sndfile include path', ''),
('BF_SNDFILE_LIB', 'sndfile library', ''),
+ ('BF_SNDFILE_LIB_STATIC', 'Path to sndfile static library', ''),
('BF_SNDFILE_LIBPATH', 'sndfile library path', ''),
+ (BoolVariable('WITH_BF_STATICSNDFILE', 'Staticly link to sndfile', False)),
('BF_PTHREADS', 'Pthreads base path', ''),
('BF_PTHREADS_INC', 'Pthreads include path', ''),
@@ -352,7 +356,9 @@ def read_opts(env, cfg, args):
('BF_FFTW3', 'FFTW3 base path', ''),
('BF_FFTW3_INC', 'FFTW3 include path', ''),
('BF_FFTW3_LIB', 'FFTW3 library', ''),
+ ('BF_FFTW3_LIB_STATIC', 'FFTW3 static libraries', ''),
('BF_FFTW3_LIBPATH', 'FFTW3 library path', ''),
+ (BoolVariable('WITH_BF_STATICFFTW3', 'Staticly link to FFTW3', False)),
(BoolVariable('WITH_BF_STATICOPENGL', 'Use MESA if true', True)),
('BF_OPENGL', 'OpenGL base path', ''),
@@ -380,35 +386,35 @@ def read_opts(env, cfg, args):
(BoolVariable('WITH_BF_PLAYER', 'Build blenderplayer if true', False)),
(BoolVariable('WITH_BF_NOBLENDER', 'Do not build blender if true', False)),
- ('CFLAGS', 'C only flags', ''),
- ('CCFLAGS', 'Generic C and C++ flags', ''),
- ('CXXFLAGS', 'C++ only flags', ''),
- ('BGE_CXXFLAGS', 'C++ only flags for BGE', ''),
- ('CPPFLAGS', 'Defines', ''),
- ('REL_CFLAGS', 'C only release flags', ''),
- ('REL_CCFLAGS', 'Generic C and C++ release flags', ''),
- ('REL_CXXFLAGS', 'C++ only release flags', ''),
-
- ('C_WARN', 'C warning flags', ''),
- ('CC_WARN', 'Generic C and C++ warning flags', ''),
- ('CXX_WARN', 'C++ only warning flags', ''),
-
- ('LLIBS', 'Platform libs', ''),
- ('PLATFORM_LINKFLAGS', 'Platform linkflags', ''),
+ ('CFLAGS', 'C only flags', []),
+ ('CCFLAGS', 'Generic C and C++ flags', []),
+ ('CXXFLAGS', 'C++ only flags', []),
+ ('BGE_CXXFLAGS', 'C++ only flags for BGE', []),
+ ('CPPFLAGS', 'Defines', []),
+ ('REL_CFLAGS', 'C only release flags', []),
+ ('REL_CCFLAGS', 'Generic C and C++ release flags', []),
+ ('REL_CXXFLAGS', 'C++ only release flags', []),
+
+ ('C_WARN', 'C warning flags', []),
+ ('CC_WARN', 'Generic C and C++ warning flags', []),
+ ('CXX_WARN', 'C++ only warning flags', []),
+
+ ('LLIBS', 'Platform libs', []),
+ ('PLATFORM_LINKFLAGS', 'Platform linkflags', []),
('MACOSX_ARCHITECTURE', 'python_arch.zip select', ''),
(BoolVariable('BF_PROFILE', 'Add profiling information if true', False)),
- ('BF_PROFILE_CFLAGS', 'C only profiling flags', ''),
- ('BF_PROFILE_CCFLAGS', 'C and C++ profiling flags', ''),
- ('BF_PROFILE_CXXFLAGS', 'C++ only profiling flags', ''),
- ('BF_PROFILE_LINKFLAGS', 'Profile linkflags', ''),
+ ('BF_PROFILE_CFLAGS', 'C only profiling flags', []),
+ ('BF_PROFILE_CCFLAGS', 'C and C++ profiling flags', []),
+ ('BF_PROFILE_CXXFLAGS', 'C++ only profiling flags', []),
+ ('BF_PROFILE_LINKFLAGS', 'Profile linkflags', []),
(BoolVariable('BF_DEBUG', 'Add debug flags if true', False)),
- ('BF_DEBUG_CFLAGS', 'C only debug flags', ''),
- ('BF_DEBUG_CCFLAGS', 'C and C++ debug flags', ''),
- ('BF_DEBUG_CXXFLAGS', 'C++ only debug flags', ''),
+ ('BF_DEBUG_CFLAGS', 'C only debug flags', []),
+ ('BF_DEBUG_CCFLAGS', 'C and C++ debug flags', []),
+ ('BF_DEBUG_CXXFLAGS', 'C++ only debug flags', []),
- (BoolVariable('BF_BSC', 'Create .bsc files (msvc only)', True)),
+ (BoolVariable('BF_BSC', 'Create .bsc files (msvc only)', False)),
('BF_BUILDDIR', 'Build dir', ''),
('BF_INSTALLDIR', 'Installation dir', ''),
@@ -447,7 +453,7 @@ def read_opts(env, cfg, args):
(BoolVariable('WITH_BF_RAYOPTIMIZATION', 'Enable raytracer SSE/SIMD optimization.', False)),
('BF_RAYOPTIMIZATION_SSE_FLAGS', 'SSE flags', ''),
- ('BF_VCREDIST', 'Full path to vcredist', '')
+ (BoolVariable('WITH_BF_CXX_GUARDEDALLOC', 'Enable GuardedAlloc for C++ memory allocation tracking.', False))
) # end of opts.AddOptions()
return localopts
@@ -539,12 +545,6 @@ def NSIS_Installer(target=None, source=None, env=None):
ns_cnt = string.replace(ns_cnt, "[DODATAFILES]", datafiles)
- # Setup vcredist part
- vcredist = "File \""+env['BF_VCREDIST'] + "\"\n"
- vcredist += " ExecWait '\"$TEMP\\" + os.path.basename(env['BF_VCREDIST']) + "\" /q'\n"
- vcredist += " Delete \"$TEMP\\" + os.path.basename(env['BF_VCREDIST'])+"\""
- ns_cnt = string.replace(ns_cnt, "[VCREDIST]", vcredist)
-
tmpnsi = os.path.normpath(install_base_dir+os.sep+env['BF_BUILDDIR']+os.sep+"00.blender_tmp.nsi")
new_nsis = open(tmpnsi, 'w')
new_nsis.write(ns_cnt)