diff options
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) |