[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