[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23473] trunk/blender: options WITH_LZO and WITH_LZMA for cmake and scons (default to true) pointcache.c also needed to have checks for these defines.
Campbell Barton
ideasman42 at gmail.com
Fri Sep 25 04:40:13 CEST 2009
Revision: 23473
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23473
Author: campbellbarton
Date: 2009-09-25 04:40:10 +0200 (Fri, 25 Sep 2009)
Log Message:
-----------
options WITH_LZO and WITH_LZMA for cmake and scons (default to true) pointcache.c also needed to have checks for these defines.
Modified Paths:
--------------
trunk/blender/CMakeLists.txt
trunk/blender/extern/CMakeLists.txt
trunk/blender/extern/Makefile
trunk/blender/extern/SConscript
trunk/blender/source/blender/SConscript
trunk/blender/source/blender/blenkernel/CMakeLists.txt
trunk/blender/source/blender/blenkernel/SConscript
trunk/blender/source/blender/blenkernel/intern/Makefile
trunk/blender/source/blender/blenkernel/intern/pointcache.c
trunk/blender/tools/btools.py
Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt 2009-09-25 01:59:43 UTC (rev 23472)
+++ trunk/blender/CMakeLists.txt 2009-09-25 02:40:10 UTC (rev 23473)
@@ -75,6 +75,8 @@
OPTION(WITH_FFTW3 "Enable FFTW3 support" OFF)
OPTION(WITH_JACK "Enable Jack Support (http://www.jackaudio.org)" OFF)
OPTION(WITH_SNDFILE "Enable libsndfile Support (http://www.mega-nerd.com/libsndfile)" OFF)
+OPTION(WITH_LZO "Enable fast LZO compression, used for pointcache" ON)
+OPTION(WITH_LZMA "Enable best LZMA compression, used for pointcache" ON)
OPTION(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation" OFF)
OPTION(WITH_BUILDINFO "Include extra build details" ON)
OPTION(WITH_INSTALL "Install accompanying scripts and language files needed to run blender" ON)
Modified: trunk/blender/extern/CMakeLists.txt
===================================================================
--- trunk/blender/extern/CMakeLists.txt 2009-09-25 01:59:43 UTC (rev 23472)
+++ trunk/blender/extern/CMakeLists.txt 2009-09-25 02:40:10 UTC (rev 23473)
@@ -38,5 +38,10 @@
ADD_SUBDIRECTORY(libopenjpeg)
ENDIF(WITH_OPENJPEG)
-ADD_SUBDIRECTORY(lzo)
-ADD_SUBDIRECTORY(lzma)
+IF(WITH_LZO)
+ ADD_SUBDIRECTORY(lzo)
+ENDIF(WITH_LZO)
+
+IF(WITH_LZMA)
+ ADD_SUBDIRECTORY(lzma)
+ENDIF(WITH_LZMA)
Modified: trunk/blender/extern/Makefile
===================================================================
--- trunk/blender/extern/Makefile 2009-09-25 01:59:43 UTC (rev 23472)
+++ trunk/blender/extern/Makefile 2009-09-25 02:40:10 UTC (rev 23473)
@@ -33,9 +33,9 @@
DIRS = glew/src
# Cloth requires it
-#ifneq ($(NAN_NO_KETSJI), true)
-DIRS += bullet2
-#endif
+ifeq ($(NAN_USE_BULLET), true)
+ DIRS += bullet2
+endif
ifeq ($(WITH_BINRELOC), true)
DIRS += binreloc
Modified: trunk/blender/extern/SConscript
===================================================================
--- trunk/blender/extern/SConscript 2009-09-25 01:59:43 UTC (rev 23472)
+++ trunk/blender/extern/SConscript 2009-09-25 02:40:10 UTC (rev 23473)
@@ -22,5 +22,8 @@
if env['OURPLATFORM'] == 'linux2':
SConscript(['binreloc/SConscript']);
-SConscript(['lzo/SConscript'])
-SConscript(['lzma/SConscript'])
+if env['WITH_BF_LZO']:
+ SConscript(['lzo/SConscript'])
+
+if env['WITH_BF_LZMA']:
+ SConscript(['lzma/SConscript'])
Modified: trunk/blender/source/blender/SConscript
===================================================================
--- trunk/blender/source/blender/SConscript 2009-09-25 01:59:43 UTC (rev 23472)
+++ trunk/blender/source/blender/SConscript 2009-09-25 02:40:10 UTC (rev 23473)
@@ -18,7 +18,7 @@
'nodes/SConscript',
'ikplugin/SConscript',
'windowmanager/SConscript',
- 'blenfont/SConscript'])
+ 'blenfont/SConscript'])
Modified: trunk/blender/source/blender/blenkernel/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/blenkernel/CMakeLists.txt 2009-09-25 01:59:43 UTC (rev 23472)
+++ trunk/blender/source/blender/blenkernel/CMakeLists.txt 2009-09-25 02:40:10 UTC (rev 23473)
@@ -34,8 +34,6 @@
../nodes ../../../extern/glew/include ../gpu ../makesrna ../../../intern/smoke/extern
../../../intern/bsp/extern ../blenfont
../../../intern/audaspace/intern
- ../../../extern/lzo/minilzo
- ../../../extern/lzma
${ZLIB_INC}
)
@@ -76,6 +74,16 @@
ADD_DEFINITIONS(-DDISABLE_ELBEEM)
ENDIF(NOT WITH_ELBEEM)
+IF(WITH_LZO)
+ SET(INC ${INC} ../../../extern/lzo/minilzo)
+ ADD_DEFINITIONS(-DWITH_LZO)
+ENDIF(WITH_LZO)
+
+IF(WITH_LZMA)
+ SET(INC ${INC} ../../../extern/lzma)
+ ADD_DEFINITIONS(-DWITH_LZMA)
+ENDIF(WITH_LZMA)
+
IF(WIN32)
SET(INC ${INC} ${PTHREADS_INC})
ENDIF(WIN32)
Modified: trunk/blender/source/blender/blenkernel/SConscript
===================================================================
--- trunk/blender/source/blender/blenkernel/SConscript 2009-09-25 01:59:43 UTC (rev 23472)
+++ trunk/blender/source/blender/blenkernel/SConscript 2009-09-25 02:40:10 UTC (rev 23473)
@@ -11,8 +11,6 @@
incs += ' #/intern/opennl/extern #/intern/bsp/extern'
incs += ' ../gpu #/extern/glew/include'
incs += ' #/intern/smoke/extern'
-incs += ' #/extern/lzo/minilzo'
-incs += ' #/extern/lzma'
incs += ' #/intern/audaspace/intern'
incs += ' ' + env['BF_OPENGL_INC']
@@ -61,7 +59,15 @@
if env['WITH_BF_LCMS']:
defs.append('WITH_LCMS')
-
+
+if env['WITH_BF_LZO']:
+ incs += ' #/extern/lzo/minilzo'
+ defs.append('WITH_LZO')
+
+if env['WITH_BF_LZMA']:
+ incs += ' #/extern/lzma'
+ defs.append('WITH_LZMA')
+
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
incs += ' ' + env['BF_PTHREADS_INC']
Modified: trunk/blender/source/blender/blenkernel/intern/Makefile
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/Makefile 2009-09-25 01:59:43 UTC (rev 23472)
+++ trunk/blender/source/blender/blenkernel/intern/Makefile 2009-09-25 02:40:10 UTC (rev 23473)
@@ -86,15 +86,25 @@
# path to our own external headerfiles
CPPFLAGS += -I..
-# path to bullet2, for cloth
-CPPFLAGS += -I$(NAN_BULLET2)/include
CPPFLAGS += -I$(NAN_FREETYPE)/include
CPPFLAGS += -I$(NAN_FREETYPE)/include/freetype2
+# path to bullet2, for cloth
+ifeq ($(NAN_USE_BULLET), true)
+ CPPFLAGS += -I$(NAN_BULLET2)/include
+endif
+
# lzo and lzma, for pointcache
-CPPFLAGS += -I$(NAN_LZO)/minilzo
-CPPFLAGS += -I$(NAN_LZMA)
+ifeq ($(WITH_LZO),true)
+ CPPFLAGS += -I$(NAN_LZO)/minilzo
+ CPPFLAGS += -DWITH_LZO
+endif
+ifeq ($(WITH_LZO),true)
+ CPPFLAGS += -I$(NAN_LZMA)
+ CPPFLAGS += -DWITH_LZMA
+endif
+
ifeq ($(WITH_FFMPEG),true)
CPPFLAGS += -DWITH_FFMPEG
CPPFLAGS += $(NAN_FFMPEGCFLAGS)
Modified: trunk/blender/source/blender/blenkernel/intern/pointcache.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/pointcache.c 2009-09-25 01:59:43 UTC (rev 23472)
+++ trunk/blender/source/blender/blenkernel/intern/pointcache.c 2009-09-25 02:40:10 UTC (rev 23473)
@@ -62,11 +62,18 @@
/* both in intern */
#include "smoke_API.h"
+
+#ifdef WITH_LZO
#include "minilzo.h"
+#else
+/* used for non-lzo cases */
+#define LZO_OUT_LEN(size) ((size) + (size) / 16 + 64 + 3)
+#endif
+#ifdef WITH_LZMA
#include "LzmaLib.h"
+#endif
-
/* needed for directory lookup */
/* untitled blend's need getpid for a unique name */
#ifndef WIN32
@@ -625,20 +632,25 @@
static int ptcache_compress_write(PTCacheFile *pf, unsigned char *in, unsigned int in_len, unsigned char *out, int mode)
{
int r = 0;
- unsigned char compressed;
- LZO_HEAP_ALLOC(wrkmem, LZO1X_MEM_COMPRESS);
- unsigned int out_len = LZO_OUT_LEN(in_len);
+ unsigned char compressed = 0;
+ unsigned int out_len= 0;
unsigned char *props = MEM_callocN(16*sizeof(char), "tmp");
size_t sizeOfIt = 5;
+#ifdef WITH_LZO
+ out_len= LZO_OUT_LEN(in_len);
if(mode == 1) {
+ LZO_HEAP_ALLOC(wrkmem, LZO1X_MEM_COMPRESS);
+
r = lzo1x_1_compress(in, (lzo_uint)in_len, out, (lzo_uint *)&out_len, wrkmem);
if (!(r == LZO_E_OK) || (out_len >= in_len))
compressed = 0;
else
compressed = 1;
}
- else if(mode == 2) {
+#endif
+#ifdef WITH_LZMA
+ if(mode == 2) {
r = LzmaCompress(out, (size_t *)&out_len, in, in_len,//assume sizeof(char)==1....
props, &sizeOfIt, 5, 1 << 24, 3, 0, 2, 32, 2);
@@ -648,7 +660,8 @@
else
compressed = 2;
}
-
+#endif
+
ptcache_file_write(pf, &compressed, 1, sizeof(unsigned char));
if(compressed) {
ptcache_file_write(pf, &out_len, 1, sizeof(unsigned int));
@@ -762,16 +775,19 @@
in = (unsigned char *)MEM_callocN(sizeof(unsigned char)*in_len, "pointcache_compressed_buffer");
ptcache_file_read(pf, in, in_len, sizeof(unsigned char));
+#ifdef WITH_LZO
if(compressed == 1)
r = lzo1x_decompress(in, (lzo_uint)in_len, result, (lzo_uint *)&out_len, NULL);
- else if(compressed == 2)
+#endif
+#ifdef WITH_LZMA
+ if(compressed == 2)
{
size_t leni = in_len, leno = out_len;
ptcache_file_read(pf, &sizeOfIt, 1, sizeof(unsigned int));
ptcache_file_read(pf, props, sizeOfIt, sizeof(unsigned char));
r = LzmaUncompress(result, &leno, in, &leni, props, sizeOfIt);
}
-
+#endif
MEM_freeN(in);
}
else {
Modified: trunk/blender/tools/btools.py
===================================================================
--- trunk/blender/tools/btools.py 2009-09-25 01:59:43 UTC (rev 23472)
+++ trunk/blender/tools/btools.py 2009-09-25 02:40:10 UTC (rev 23473)
@@ -56,6 +56,7 @@
'WITH_BF_PLAYER',
'WITH_BF_NOBLENDER',
'WITH_BF_BINRELOC',
+ 'WITH_BF_LZO', 'WITH_BF_LZMA',
'LCGDIR',
'BF_CXX', 'WITH_BF_STATICCXX', 'BF_CXX_LIB_STATIC',
'BF_TWEAK_MODE', 'BF_SPLIT_SRC',
@@ -379,6 +380,9 @@
(BoolVariable('BF_QUIET', 'Enable silent output if true', True)),
(BoolVariable('WITH_BF_BINRELOC', 'Enable relocatable binary (linux only)', False)),
+ (BoolVariable('WITH_BF_LZO', 'Enable fast LZO pointcache compression', True)),
+ (BoolVariable('WITH_BF_LZMA', 'Enable best LZMA pointcache compression', True)),
+
(BoolVariable('WITH_BF_LCMS', 'Enable color correction with lcms', False)),
('BF_LCMS_LIB', 'LCMSlibrary', 'lcms'),
More information about the Bf-blender-cvs
mailing list