And again, forgot to say thanks to Sergey for testing and review! Grrrr… I should invest in a brain/memory upgrade!
On 11/11/2012 17:54, Bastien Montagne wrote: > Revision: 52106 > > http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52106 > Author: mont29 > Date: 2012-11-11 16:54:26 +0000 (Sun, 11 Nov 2012) > Log Message: > ----------- > Replacing gettext i18n backend by boost::locale one. > > This commit adds a small and simplistic C wrapper around boost's locale > library as intern/locale, and heavily simplifies/reduces Blender's own i18n > code (under blenfont/ dir). And it adds back UI translation on windows' > official builds (with msvc)! > > Note to platform maintainers: iconv and gettext (libintl) can now be removed > from precompiled libs (not gettext binaries, under windows, of course ;) ). > > Note to MinGW32/64 users: boost_locale lib has not yet been uploaded for > those build env, please disable WITH_INTERNATIONAL for now (hopefully will be > fixed very soon, have contacted psy-fy). > > Modified Paths: > -------------- > trunk/blender/CMakeLists.txt > trunk/blender/build_files/cmake/macros.cmake > trunk/blender/build_files/scons/config/darwin-config.py > trunk/blender/build_files/scons/config/linux-config.py > trunk/blender/build_files/scons/config/win32-mingw-config.py > trunk/blender/build_files/scons/config/win32-vc-config.py > trunk/blender/build_files/scons/config/win64-mingw-config.py > trunk/blender/build_files/scons/config/win64-vc-config.py > trunk/blender/intern/CMakeLists.txt > trunk/blender/intern/SConscript > trunk/blender/source/blender/blenfont/BLF_translation.h > trunk/blender/source/blender/blenfont/CMakeLists.txt > trunk/blender/source/blender/blenfont/SConscript > trunk/blender/source/blender/blenfont/intern/blf_lang.c > trunk/blender/source/blender/blenfont/intern/blf_translation.c > trunk/blender/source/blender/makesrna/intern/rna_access.c > trunk/blender/source/blenderplayer/CMakeLists.txt > trunk/blender/source/creator/CMakeLists.txt > trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp > > Added Paths: > ----------- > trunk/blender/intern/locale/ > trunk/blender/intern/locale/CMakeLists.txt > trunk/blender/intern/locale/SConscript > trunk/blender/intern/locale/boost_locale_wrapper.cpp > trunk/blender/intern/locale/boost_locale_wrapper.h > > Modified: trunk/blender/CMakeLists.txt > =================================================================== > --- trunk/blender/CMakeLists.txt 2012-11-11 16:21:43 UTC (rev 52105) > +++ trunk/blender/CMakeLists.txt 2012-11-11 16:54:26 UTC (rev 52106) > @@ -296,11 +296,11 @@ > > if(${CMAKE_GENERATOR} MATCHES "Xcode") > > - ##### cmake incompatibility with xcode 4.3 and higher ##### > + ##### workaround for actual official cmake incompatibility with > xcode 4.3 ##### > if(${XCODE_VERSION} MATCHES '') # cmake fails due looking for > xcode in the wrong path, thus will be empty var > - message(FATAL_ERROR "Xcode 4.3 and higher must be used > with cmake 2.8-8 or higher") > + message("Official cmake does not yet support Xcode 4.3, > get a patched version here: > http://www.jensverwiebe.de/Blender/CMake%202.8-7patched.zip") > endif() > - ### end cmake incompatibility with xcode 4.3 and higher ### > + ### end workaround for actual official cmake incompatibility > with xcode 4.3 ### > > if(${XCODE_VERSION} VERSION_EQUAL 4 OR ${XCODE_VERSION} > VERSION_GREATER 4 AND ${XCODE_VERSION} VERSION_LESS 4.3) > # Xcode 4 defaults to the Apple LLVM Compiler. > @@ -376,8 +376,8 @@ > set(WITH_OPENIMAGEIO ON) > endif() > > -# auto enable boost for cycles, booleans or audaspace > -if(WITH_CYCLES OR WITH_MOD_BOOLEAN OR WITH_AUDASPACE) > +# auto enable boost for cycles, booleans, audaspace or i18n > +if(WITH_CYCLES OR WITH_MOD_BOOLEAN OR WITH_AUDASPACE OR WITH_INTERNATIONAL) > set(WITH_BOOST ON) > endif() > > @@ -593,28 +593,6 @@ > set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} > -D__STDC_CONSTANT_MACROS") > endif() > > - if(WITH_INTERNATIONAL) > - find_library(INTL_LIBRARY > - NAMES intl > - PATHS > - /sw/lib > - ) > - > - find_library(ICONV_LIBRARY > - NAMES iconv > - PATHS > - /sw/lib > - ) > - mark_as_advanced( > - ICONV_LIBRARY > - INTL_LIBRARY > - ) > - > - if(INTL_LIBRARY AND ICONV_LIBRARY) > - set(GETTEXT_LIBRARIES ${INTL_LIBRARY} ${ICONV_LIBRARY}) > - endif() > - endif() > - > if(WITH_FFTW3) > find_package(Fftw3) > if(NOT FFTW3_FOUND) > @@ -662,7 +640,11 @@ > else() > set(Boost_USE_MULTITHREADED ON) > endif() > - find_package(Boost 1.34 COMPONENTS filesystem regex > system thread) > + set(__boost_packages filesystem regex system thread) > + if (WITH_INTERNATIONAL) > + list(APPEND __boost_packages locale) > + endif() > + find_package(Boost 1.34 COMPONENTS ${__boost_packages}) > mark_as_advanced(Boost_DIR) # why doesnt boost do this? > endif() > > @@ -879,13 +861,6 @@ > > add_definitions(-DWIN32) > > - if(WITH_INTERNATIONAL) > - set(ICONV ${LIBDIR}/iconv) > - set(ICONV_INCLUDE_DIRS ${ICONV}/include) > - set(ICONV_LIBRARIES iconv) > - set(ICONV_LIBPATH ${ICONV}/lib) > - endif() > - > set(JPEG "${LIBDIR}/jpeg") > set(JPEG_INCLUDE_DIR "${JPEG}/include") > set(JPEG_LIBPATH ${JPEG}/lib) # not cmake defined > @@ -978,13 +953,6 @@ > set(CXX_WARNINGS "${_WARNINGS}") > unset(_WARNINGS) > > - if(WITH_INTERNATIONAL) > - set(GETTEXT ${LIBDIR}/gettext) > - set(GETTEXT_INCLUDE_DIRS ${GETTEXT}/include) > - set(GETTEXT_LIBPATH ${GETTEXT}/lib) > - set(GETTEXT_LIBRARIES gnu_gettext) > - endif() > - > if(WITH_MOD_CLOTH_ELTOPO) > set(LAPACK ${LIBDIR}/lapack) > # set(LAPACK_INCLUDE_DIR ${LAPACK}/include) > @@ -1137,6 +1105,11 @@ > debug libboost_date_time-${BOOST_DEBUG_POSTFIX} > debug libboost_filesystem-${BOOST_DEBUG_POSTFIX} > debug libboost_regex-${BOOST_DEBUG_POSTFIX} > debug libboost_system-${BOOST_DEBUG_POSTFIX} > debug libboost_thread-${BOOST_DEBUG_POSTFIX}) > + if(WITH_INTERNATIONAL) > + set(BOOST_LIBRARIES ${BOOST_LIBRARIES} > + optimized > libboost_locale-${BOOST_POSTFIX} > + debug > libboost_locale-${BOOST_DEBUG_POSTFIX}) > + endif(WITH_INTERNATIONAL) > set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB") > endif() > > @@ -1190,16 +1163,8 @@ > > add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > -D_LARGEFILE64_SOURCE) > > - > add_definitions(-DFREE_WINDOWS) > > - if(WITH_INTERNATIONAL) > - set(GETTEXT ${LIBDIR}/gettext) > - set(GETTEXT_INCLUDE_DIRS ${GETTEXT}/include) > - set(GETTEXT_LIBPATH ${GETTEXT}/lib) > - set(GETTEXT_LIBRARIES intl) > - endif() > - > set(PNG "${LIBDIR}/png") > set(PNG_INCLUDE_DIR "${PNG}/include") > set(PNG_LIBPATH ${PNG}/lib) # not cmake defined > @@ -1317,6 +1282,11 @@ > debug boost_date_time-${BOOST_DEBUG_POSTFIX} > boost_filesystem-${BOOST_DEBUG_POSTFIX} > boost_regex-${BOOST_DEBUG_POSTFIX} > boost_system-${BOOST_DEBUG_POSTFIX} > boost_thread-${BOOST_DEBUG_POSTFIX}) > + if(WITH_INTERNATIONAL) > + set(BOOST_LIBRARIES ${BOOST_LIBRARIES} > + optimized > libboost_locale-${BOOST_POSTFIX} > + debug > libboost_locale-${BOOST_DEBUG_POSTFIX}) > + endif(WITH_CYCLES_OSL) > set(BOOST_LIBPATH ${BOOST}/lib) > set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB > -DBOOST_THREAD_USE_LIB ") > endif() > @@ -1383,13 +1353,10 @@ > endif() > > if(WITH_JACK) > - find_library(JACK_FRAMEWORK > - NAMES jackmp > - ) > - set(JACK_INCLUDE_DIRS ${JACK_FRAMEWORK}/headers) > - if(NOT JACK_FRAMEWORK) > - set(WITH_JACK OFF) > - endif() > + set(JACK /usr/local) > + set(JACK_INCLUDE_DIRS ${JACK}/include/jack) > + set(JACK_LIBRARIES jack) > + set(JACK_LIBPATH ${JACK}/lib) > endif() > > if(WITH_CODEC_SNDFILE) > @@ -1427,13 +1394,6 @@ > set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}") > endif() > > - if(WITH_INTERNATIONAL) > - set(GETTEXT ${LIBDIR}/gettext) > - set(GETTEXT_INCLUDE_DIRS "${GETTEXT}/include") > - set(GETTEXT_LIBRARIES intl iconv) > - set(GETTEXT_LIBPATH ${GETTEXT}/lib) > - endif() > - > if(WITH_FFTW3) > set(FFTW3 ${LIBDIR}/fftw3) > set(FFTW3_INCLUDE_DIRS ${FFTW3}/include) > @@ -1500,10 +1460,10 @@ > if(WITH_INPUT_NDOF) > # This thread it *should* work and check the framework > - campbell > # > http://www.cmake.org/pipermail/cmake/2005-December/007740.html > - find_library(3DCONNEXION_CLIENT_FRAMEWORK > + find_library(3D_CONNEXION_CLIENT_LIBRARY > NAMES 3DconnexionClient > ) > - if(NOT 3DCONNEXION_CLIENT_FRAMEWORK) > + if(NOT 3D_CONNEXION_CLIENT_LIBRARY) > set(WITH_INPUT_NDOF OFF) > endif() > > @@ -1511,11 +1471,7 @@ > set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} > -weak_framework 3DconnexionClient") > endif() > endif() > - > - if(WITH_JACK) > - set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -weak_framework > jackmp") > - endif() > - > + > else() > set(PLATFORM_CFLAGS "-pipe -funsigned-char") > set(PLATFORM_LINKFLAGS "-fexceptions -framework CoreServices > -framework Foundation -framework IOKit -framework AppKit -framework Carbon > -framework AGL -framework AudioUnit -framework AudioToolbox -framework > CoreAudio -framework QuickTime") > @@ -1579,6 +1535,9 @@ > set(BOOST ${LIBDIR}/boost) > set(BOOST_INCLUDE_DIR ${BOOST}/include) > set(BOOST_LIBRARIES boost_date_time-mt boost_filesystem-mt > boost_regex-mt boost_system-mt boost_thread-mt) > + if (WITH_INTERNATIONAL) > + list(APPEND BOOST_LIBRARIES boost_locale-mt) > + endif() > set(BOOST_LIBPATH ${BOOST}/lib) > set(BOOST_DEFINITIONS) > endif() > @@ -1704,6 +1663,11 @@ > endif() > endif() > > +if(WITH_INTERNATIONAL) > + if(NOT WITH_BOOST) > + message(FATAL_ERROR "Internationalization reqires WITH_BOOST, > the library may not have been found. Configure BOOST or disable > WITH_INTERNATIONAL") > + endif() > +endif() > > # See TEST_SSE_SUPPORT() for how this is defined. > > > Modified: trunk/blender/build_files/cmake/macros.cmake > =================================================================== > --- trunk/blender/build_files/cmake/macros.cmake 2012-11-11 16:21:43 UTC > (rev 52105) > +++ trunk/blender/build_files/cmake/macros.cmake 2012-11-11 16:54:26 UTC > (rev 52106) > @@ -196,10 +196,6 @@ > if(WITH_PYTHON) # AND NOT WITH_PYTHON_MODULE # WIN32 needs > 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() > @@ -287,14 +283,6 @@ > target_link_libraries(${target} ${GLEW_LIBRARY}) > endif() > > - if(WITH_INTERNATIONAL) > - target_link_libraries(${target} ${GETTEXT_LIBRARIES}) > - > - if(WIN32 AND NOT UNIX) > - target_link_libraries(${target} ${ICONV_LIBRARIES}) > - endif() > - endif() > - > if(WITH_OPENAL) > target_link_libraries(${target} ${OPENAL_LIBRARY}) > endif() > > Modified: trunk/blender/build_files/scons/config/darwin-config.py > =================================================================== > --- trunk/blender/build_files/scons/config/darwin-config.py 2012-11-11 > 16:21:43 UTC (rev 52105) > +++ trunk/blender/build_files/scons/config/darwin-config.py 2012-11-11 > 16:54:26 UTC (rev 52106) > @@ -297,6 +297,8 @@ > BF_BOOST = LIBDIR + '/boost' > BF_BOOST_INC = BF_BOOST + '/include' > BF_BOOST_LIB = 'boost_date_time-mt boost_filesystem-mt boost_regex-mt > boost_system-mt boost_thread-mt' > +if WITH_BF_INTERNATIONAL: > + BF_BOOST_LIB += ' boost_locale-mt' > BF_BOOST_LIBPATH = BF_BOOST + '/lib' > > WITH_BF_CYCLES_CUDA_BINARIES = False > > Modified: trunk/blender/build_files/scons/config/linux-config.py > =================================================================== > --- trunk/blender/build_files/scons/config/linux-config.py 2012-11-11 > 16:21:43 UTC (rev 52105) > +++ trunk/blender/build_files/scons/config/linux-config.py 2012-11-11 > 16:54:26 UTC (rev 52106) > @@ -233,6 +233,8 @@ > BF_BOOST = '/usr' > BF_BOOST_INC = BF_BOOST + '/include' > BF_BOOST_LIB = 'boost_date_time boost_filesystem boost_regex boost_system > boost_thread' > +if WITH_BF_INTERNATIONAL: > + BF_BOOST_LIB += ' boost_locale' > BF_BOOST_LIBPATH = BF_BOOST + '/lib' > > WITH_BF_CYCLES = WITH_BF_OIIO and WITH_BF_BOOST > > Modified: trunk/blender/build_files/scons/config/win32-mingw-config.py > =================================================================== > --- trunk/blender/build_files/scons/config/win32-mingw-config.py > 2012-11-11 16:21:43 UTC (rev 52105) > +++ trunk/blender/build_files/scons/config/win32-mingw-config.py > 2012-11-11 16:54:26 UTC (rev 52106) > @@ -169,6 +169,8 @@ > BF_BOOST = LIBDIR + '/boost' > BF_BOOST_INC = BF_BOOST + '/include' > BF_BOOST_LIB = 'boost_date_time-mgw46-mt-s-1_49 > boost_filesystem-mgw46-mt-s-1_49 boost_regex-mgw46-mt-s-1_49 > boost_system-mgw46-mt-s-1_49 boost_thread-mgw46-mt-s-1_49' > +if WITH_BF_INTERNATIONAL: > + BF_BOOST_LIB += ' boost_locale-mgw46-mt-s-1_49' > BF_BOOST_LIBPATH = BF_BOOST + '/lib' > > #Ray trace optimization > > Modified: trunk/blender/build_files/scons/config/win32-vc-config.py > =================================================================== > --- trunk/blender/build_files/scons/config/win32-vc-config.py 2012-11-11 > 16:21:43 UTC (rev 52105) > +++ trunk/blender/build_files/scons/config/win32-vc-config.py 2012-11-11 > 16:54:26 UTC (rev 52106) > @@ -171,6 +171,8 @@ > BF_BOOST = '${LIBDIR}/boost' > > @@ Diff output truncated at 10240 characters. @@ > _______________________________________________ > Bf-blender-cvs mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-blender-cvs > _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
