[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52238] trunk/lib/windows: Windows Lib: OSL build instructions and scripts.
Brecht Van Lommel
brechtvanlommel at pandora.be
Thu Nov 15 18:14:29 CET 2012
Revision: 52238
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52238
Author: blendix
Date: 2012-11-15 17:14:29 +0000 (Thu, 15 Nov 2012)
Log Message:
-----------
Windows Lib: OSL build instructions and scripts.
Modified Paths:
--------------
trunk/lib/windows/llvm/build.bat
trunk/lib/windows/llvm/readme.txt
trunk/lib/windows/openimageio/build.bat
trunk/lib/windows/openimageio/build.patch
trunk/lib/windows/osl/build.bat
Added Paths:
-----------
trunk/lib/windows/osl/flex_bison/bin/data/c-skel.m4
trunk/lib/windows/osl/flex_bison/bin/data/c.m4
Modified: trunk/lib/windows/llvm/build.bat
===================================================================
--- trunk/lib/windows/llvm/build.bat 2012-11-15 16:34:22 UTC (rev 52237)
+++ trunk/lib/windows/llvm/build.bat 2012-11-15 17:14:29 UTC (rev 52238)
@@ -9,7 +9,7 @@
cd build\windows
cmake -G "NMake Makefiles" ..\.. ^
- -DCMAKE_INSTALL_PREFIX=%LIBDIR%\llvm\release ^
+ -DCMAKE_INSTALL_PREFIX=%LIBDIR%\llvm ^
-DCMAKE_BUILD_TYPE=Release ^
-DLLVM_USE_CRT_RELEASE=MT ^
-DLLVM_INCLUDE_TESTS=OFF ^
Modified: trunk/lib/windows/llvm/readme.txt
===================================================================
--- trunk/lib/windows/llvm/readme.txt 2012-11-15 16:34:22 UTC (rev 52237)
+++ trunk/lib/windows/llvm/readme.txt 2012-11-15 17:14:29 UTC (rev 52238)
@@ -1,8 +1,6 @@
Build Info
-There is no library here, it is statically linked into oslexec.dll. For building a new OSL you need to build this though.
-
* Download LLVM and Clang 3.1 source code
* Extract llvm in lib/windows/llvm/llvm-3.1.src
* Extract clang in lib/windows/llvm/llvm-3.1.src/tools/clang
Modified: trunk/lib/windows/openimageio/build.bat
===================================================================
--- trunk/lib/windows/openimageio/build.bat 2012-11-15 16:34:22 UTC (rev 52237)
+++ trunk/lib/windows/openimageio/build.bat 2012-11-15 17:14:29 UTC (rev 52238)
@@ -30,6 +30,7 @@
-DOPENEXR_INCLUDE_DIR=%LIBDIR%\openexr\include ^
-DOPENEXR_ILMIMF_LIBRARIES=%LIBDIR%\openexr\lib_vs2008\IlmImf.lib ^
-DLINKSTATIC=ON ^
+ -DBUILDSTATIC=ON ^
-DBOOST_ROOT=%LIBDIR%\boost ^
-DBoost_USE_STATIC_RUNTIME=ON ^
-DZLIB_INCLUDE_DIR=%LIBDIR%\zlib\include ^
@@ -66,6 +67,7 @@
-DOPENEXR_INCLUDE_DIR=%LIBDIR%\openexr\include ^
-DOPENEXR_ILMIMF_LIBRARIES=%LIBDIR%\openexr\lib_vs2008\IlmImf_d.lib ^
-DLINKSTATIC=ON ^
+ -DBUILDSTATIC=ON ^
-DBOOST_ROOT=%LIBDIR%\boost ^
-DBoost_USE_STATIC_RUNTIME=ON ^
-DZLIB_INCLUDE_DIR=%LIBDIR%\zlib\include ^
Modified: trunk/lib/windows/openimageio/build.patch
===================================================================
--- trunk/lib/windows/openimageio/build.patch 2012-11-15 16:34:22 UTC (rev 52237)
+++ trunk/lib/windows/openimageio/build.patch 2012-11-15 17:14:29 UTC (rev 52238)
@@ -1,11 +1,12 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 6f872b9..8f12a06 100644
+index 6f872b9..1fb3b47 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
-@@ -226,6 +226,18 @@ if (MSVC)
+@@ -226,7 +226,19 @@ if (MSVC)
if (BUILDSTATIC)
add_definitions(-DOIIO_STATIC_BUILD=1)
endif ()
+-endif (MSVC)
+
+
+ set(CMAKE_C_FLAGS_DEBUG "/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1")
@@ -18,9 +19,10 @@
+ set(CMAKE_CXX_FLAGS_RELEASE "/MT /O2 /Ob2 /D NDEBUG")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MT /Zi /O2 /Ob1 /D NDEBUG")
+
- endif (MSVC)
++endif(MSVC)
+ # We want CTest for testing
@@ -238,14 +250,6 @@ include (CTest)
# Tell CMake to process the sub-directories
add_subdirectory (libOpenImageIO)
@@ -101,6 +103,21 @@
include (InstallRequiredSystemLibraries)
endif ()
set (CPACK_SOURCE_PACKAGE_FILE_NAME OpenImageIO-${OIIO_VERSION_MAJOR}.${OIIO_VERSION_MINOR}.${OIIO_VERSION_PATCH}-source)
+diff --git a/src/include/export.h b/src/include/export.h
+index 38950d5..023c14f 100644
+--- a/src/include/export.h
++++ b/src/include/export.h
+@@ -71,8 +71,8 @@
+ ///
+
+ #if defined(_MSC_VER) || defined(__CYGWIN__)
+- #define OIIO_IMPORT __declspec(dllimport)
+- #define OIIO_EXPORT __declspec(dllexport)
++ #define OIIO_IMPORT //__declspec(dllimport)
++ #define OIIO_EXPORT //__declspec(dllexport)
+ #define OIIO_LOCAL
+ #else
+ #if __GNUC__ >= 4
diff --git a/src/include/fmath.h b/src/include/fmath.h
index 45067f9..084c032 100644
--- a/src/include/fmath.h
@@ -121,14 +138,13 @@
typedef unsigned __int16 uint16_t;
# ifndef _UINT64_T
diff --git a/src/include/thread.h b/src/include/thread.h
-index 5682f9b..aaf9f22 100644
+index 5682f9b..962eee1 100644
--- a/src/include/thread.h
+++ b/src/include/thread.h
-@@ -208,7 +208,19 @@ using boost::thread_specific_ptr;
+@@ -206,6 +206,17 @@ using boost::thread_specific_ptr;
+ #endif
-
--/// Atomic version of: r = *at, *at += x, return r
+inline LONGLONG _InterlockedCompareExchange64(LONGLONG volatile* Destination, LONGLONG Exchange, LONGLONG Comperand)
+{
+ __asm {
@@ -140,11 +156,21 @@
+ lock cmpxchg8b [esi]
+ }
+}
-+
-+// Atomic version of: r = *at, *at += x, return r
- /// For each of several architectures.
- inline int
- atomic_exchange_and_add (volatile int *at, int x)
+
+
+ /// Atomic version of: r = *at, *at += x, return r
+@@ -247,7 +258,10 @@ atomic_exchange_and_add (volatile long long *at, long long x)
+ # if defined(_WIN64)
+ return _InterlockedExchangeAdd64 ((volatile LONGLONG *)at, x);
+ # else
+- return InterlockedExchangeAdd64 ((volatile LONGLONG *)at, x);
++ LONGLONG Old;
++ do Old = *at;
++ while (_InterlockedCompareExchange64(at, Old + x, Old) != Old);
++ return Old;
+ # endif
+ #else
+ # error No atomics on this platform.
diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt
index 471fcef..bcd0cd7 100644
--- a/src/libOpenImageIO/CMakeLists.txt
Modified: trunk/lib/windows/osl/build.bat
===================================================================
--- trunk/lib/windows/osl/build.bat 2012-11-15 16:34:22 UTC (rev 52237)
+++ trunk/lib/windows/osl/build.bat 2012-11-15 17:14:29 UTC (rev 52238)
@@ -22,6 +22,7 @@
cmake -G "NMake Makefiles" ..\..\src ^
-DCMAKE_INSTALL_PREFIX=%LIBDIR%\osl ^
+ -DBUILDSTATIC=ON ^
-DILMBASE_HOME=%LIBDIR%\openexr ^
-DOPENIMAGEIOHOME=%LIBDIR%\openimageio ^
-DBOOST_ROOT=%LIBDIR%\boost ^
@@ -32,11 +33,11 @@
-DUSE_TBB=OFF ^
-DFLEX_EXECUTABLE=%LIBDIR%\osl\flex_bison\bin\win_flex.exe ^
-DBISON_EXECUTABLE=%LIBDIR%\osl\flex_bison\bin\win_bison.exe ^
- -DLLVM_DIRECTORY=%LIBDIR%\llvm\release ^
- -DLLVM_INCLUDES=%LIBDIR%\llvm\release\include ^
- -DLLVM_LIB_DIR=%LIBDIR%\llvm\release\lib ^
+ -DLLVM_DIRECTORY=%LIBDIR%\llvm ^
+ -DLLVM_INCLUDES=%LIBDIR%\llvm\include ^
+ -DLLVM_LIB_DIR=%LIBDIR%\llvm\lib ^
-DLLVM_VERSION=3.1 ^
- -DLLVM_LIBRARY=%LIBDIR%\llvm\release\lib\LLVMAnalysis.lib;%LIBDIR%\llvm\release\lib\LLVMArchive.lib;%LIBDIR%\llvm\release\lib\LLVMAsmParser.lib;%LIBDIR%\llvm\release\lib\LLVMAsmPrinter.lib;%LIBDIR%\llvm\release\lib\LLVMBitReader.lib;%LIBDIR%\llvm\release\lib\LLVMBitWriter.lib;%LIBDIR%\llvm\release\lib\LLVMCodeGen.lib;%LIBDIR%\llvm\release\lib\LLVMCore.lib;%LIBDIR%\llvm\release\lib\LLVMDebugInfo.lib;%LIBDIR%\llvm\release\lib\LLVMExecutionEngine.lib;%LIBDIR%\llvm\release\lib\LLVMInstCombine.lib;%LIBDIR%\llvm\release\lib\LLVMInstrumentation.lib;%LIBDIR%\llvm\release\lib\LLVMInterpreter.lib;%LIBDIR%\llvm\release\lib\LLVMJIT.lib;%LIBDIR%\llvm\release\lib\LLVMLinker.lib;%LIBDIR%\llvm\release\lib\LLVMMC.lib;%LIBDIR%\llvm\release\lib\LLVMMCDisassembler.lib;%LIBDIR%\llvm\release\lib\LLVMMCJIT.lib;%LIBDIR%\llvm\release\lib\LLVMMCParser.lib;%LIBDIR%\llvm\release\lib\LLVMObject.lib;%LIBDIR%\llvm\release\lib\LLVMRuntimeDyld.lib;%LIBDIR%\llvm\release\lib\LLVMScalarOpts.lib;%LIBDIR%\llvm\
release\lib\LLVMSelectionDAG.lib;%LIBDIR%\llvm\release\lib\LLVMSupport.lib;%LIBDIR%\llvm\release\lib\LLVMTableGen.lib;%LIBDIR%\llvm\release\lib\LLVMTarget.lib;%LIBDIR%\llvm\release\lib\LLVMTransformUtils.lib;%LIBDIR%\llvm\release\lib\LLVMVectorize.lib;%LIBDIR%\llvm\release\lib\LLVMX86AsmParser.lib;%LIBDIR%\llvm\release\lib\LLVMX86AsmPrinter.lib;%LIBDIR%\llvm\release\lib\LLVMX86CodeGen.lib;%LIBDIR%\llvm\release\lib\LLVMX86Desc.lib;%LIBDIR%\llvm\release\lib\LLVMX86Disassembler.lib;%LIBDIR%\llvm\release\lib\LLVMX86Info.lib;%LIBDIR%\llvm\release\lib\LLVMX86Utils.lib;%LIBDIR%\llvm\release\lib\LLVMipa.lib;%LIBDIR%\llvm\release\lib\LLVMipo.lib ^
+ -DLLVM_LIBRARY=%LIBDIR%\llvm\lib\LLVMAnalysis.lib;%LIBDIR%\llvm\lib\LLVMArchive.lib;%LIBDIR%\llvm\lib\LLVMAsmParser.lib;%LIBDIR%\llvm\lib\LLVMAsmPrinter.lib;%LIBDIR%\llvm\lib\LLVMBitReader.lib;%LIBDIR%\llvm\lib\LLVMBitWriter.lib;%LIBDIR%\llvm\lib\LLVMCodeGen.lib;%LIBDIR%\llvm\lib\LLVMCore.lib;%LIBDIR%\llvm\lib\LLVMDebugInfo.lib;%LIBDIR%\llvm\lib\LLVMExecutionEngine.lib;%LIBDIR%\llvm\lib\LLVMInstCombine.lib;%LIBDIR%\llvm\lib\LLVMInstrumentation.lib;%LIBDIR%\llvm\lib\LLVMInterpreter.lib;%LIBDIR%\llvm\lib\LLVMJIT.lib;%LIBDIR%\llvm\lib\LLVMLinker.lib;%LIBDIR%\llvm\lib\LLVMMC.lib;%LIBDIR%\llvm\lib\LLVMMCDisassembler.lib;%LIBDIR%\llvm\lib\LLVMMCJIT.lib;%LIBDIR%\llvm\lib\LLVMMCParser.lib;%LIBDIR%\llvm\lib\LLVMObject.lib;%LIBDIR%\llvm\lib\LLVMRuntimeDyld.lib;%LIBDIR%\llvm\lib\LLVMScalarOpts.lib;%LIBDIR%\llvm\lib\LLVMSelectionDAG.lib;%LIBDIR%\llvm\lib\LLVMSupport.lib;%LIBDIR%\llvm\lib\LLVMTableGen.lib;%LIBDIR%\llvm\lib\LLVMTarget.lib;%LIBDIR%\llvm\lib\LLVMTransformUtils.lib;%LIBDIR%
\llvm\lib\LLVMVectorize.lib;%LIBDIR%\llvm\lib\LLVMX86AsmParser.lib;%LIBDIR%\llvm\lib\LLVMX86AsmPrinter.lib;%LIBDIR%\llvm\lib\LLVMX86CodeGen.lib;%LIBDIR%\llvm\lib\LLVMX86Desc.lib;%LIBDIR%\llvm\lib\LLVMX86Disassembler.lib;%LIBDIR%\llvm\lib\LLVMX86Info.lib;%LIBDIR%\llvm\lib\LLVMX86Utils.lib;%LIBDIR%\llvm\lib\LLVMipa.lib;%LIBDIR%\llvm\lib\LLVMipo.lib ^
-DBUILD_TESTING=OFF ^
-DCMAKE_BUILD_TYPE=Release
@@ -51,6 +52,7 @@
cmake -G "NMake Makefiles" ..\..\src ^
-DCMAKE_INSTALL_PREFIX=%LIBDIR%\osl\debug ^
+ -DBUILDSTATIC=ON ^
-DILMBASE_HOME=%LIBDIR%\openexr ^
-DOPENIMAGEIOHOME=%LIBDIR%\openimageio\debug ^
-DBOOST_ROOT=%LIBDIR%\boost ^
Added: trunk/lib/windows/osl/flex_bison/bin/data/c-skel.m4
===================================================================
--- trunk/lib/windows/osl/flex_bison/bin/data/c-skel.m4 (rev 0)
+++ trunk/lib/windows/osl/flex_bison/bin/data/c-skel.m4 2012-11-15 17:14:29 UTC (rev 52238)
@@ -0,0 +1,26 @@
+ -*- Autoconf -*-
+
+# C skeleton dispatching for Bison.
+
+# Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc.
+
+# 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 3 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
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list