diff -Nru krita-3.1.4/3rdparty/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/CMakeLists.txt --- krita-3.1.4/3rdparty/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,122 +0,0 @@ -project (krita-and-all-its-deps) - -# -# Build all dependencies for Krita and finally Krita itself. -# Parameters: EXTERNALS_DOWNLOAD_DIR place to download all packages -# INSTALL_ROOT place to install everything to -# MXE_TOOLCHAIN: the toolchain file to cross-compile using MXE -# -# Example usage: cmake ..\kritadeposx -DEXTERNALS_DOWNLOAD_DIR=/dev2/d -DINSTALL_ROOT=/dev2/i -DWIN64_BUILD=TRUE -DBOOST_LIBRARYDIR=/dev2/i/lib -G "Visual Studio 11 Win64" - - -cmake_minimum_required(VERSION 2.8.6) - -if (CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) - message(FATAL_ERROR "Compiling in the source directory is not supported. Use for example 'mkdir build; cd build; cmake ..'.") -endif (CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) - -# Tools must be obtained to work with: -include (ExternalProject) - -# allow specification of a directory with pre-downloaded -# requirements -if(NOT IS_DIRECTORY ${EXTERNALS_DOWNLOAD_DIR}) - message(FATAL_ERROR "No externals download dir set. Use -DEXTERNALS_DOWNLOAD_DIR") -endif() - -if(NOT IS_DIRECTORY ${INSTALL_ROOT}) - message(FATAL_ERROR "No install dir set. Use -DINSTALL_ROOT") -endif() - -set(TOP_INST_DIR ${INSTALL_ROOT}) -set(EXTPREFIX "${TOP_INST_DIR}") -set(CMAKE_PREFIX_PATH "${EXTPREFIX}") - -if (${CMAKE_GENERATOR} STREQUAL "Visual Studio 14 2015 Win64") - SET(GLOBAL_PROFILE - -DCMAKE_MODULE_LINKER_FLAGS=/machine:x64 - -DCMAKE_EXE_LINKER_FLAGS=/machine:x64 - -DCMAKE_SHARED_LINKER_FLAGS=/machine:x64 - -DCMAKE_STATIC_LINKER_FLAGS=/machine:x64 - ) -endif () - -message( STATUS "CMAKE_GENERATOR: ${CMAKE_GENERATOR}") -message( STATUS "CMAKE_CL_64: ${CMAKE_CL_64}") - -set(GLOBAL_BUILD_TYPE RelWithDebInfo) -set(GLOBAL_PROFILE ${GLOBAL_PROFILE} -DBUILD_TESTING=false) - -if (MSVC) - set(GLOBAL_PROFILE ${GLOBAL_PROFILE} -DCMAKE_EXE_LINKER_FLAGS=/PROFILE -DCMAKE_SHARED_LINKER_FLAGS=/PROFILE) - set(PATCH_COMMAND myptch) -endif() - -if (MINGW) - set(PATCH_COMMAND myptch) -endif() - -if (MSYS) - set(PATCH_COMMAND patch) - set(GLOBAL_PROFILE ${GLOBAL_PROFILE} - -DCMAKE_TOOLCHAIN_FILE=${MXE_TOOLCHAIN} - -DCMAKE_FIND_PREFIX_PATH=${CMAKE_PREFIX_PATH} - -DCMAKE_SYSTEM_INCLUDE_PATH=${CMAKE_PREFIX_PATH}/include - -DCMAKE_INCLUDE_PATH=${CMAKE_PREFIX_PATH}/include - -DCMAKE_LIBRARY_PATH=${CMAKE_PREFIX_PATH}/lib - -DZLIB_ROOT=${CMAKE_PREFIX_PATH} - ) - set(GLOBAL_AUTOMAKE_PROFILE --host=i686-pc-mingw32 ) -endif() - -if (APPLE) - set(GLOBAL_PROFILE ${GLOBAL_PROFILE} -DCMAKE_MACOSX_RPATH=ON -DKDE_SKIP_RPATH_SETTINGS=ON -DBUILD_WITH_INSTALL_RPATH=ON -DAPPLE_SUPPRESS_X11_WARNING=ON) - set(PATCH_COMMAND patch) -endif () - -if (UNIX AND NOT APPLE) - set(LINUX true) - set(PATCH_COMMAND patch) -endif () - -# this list must be dependency-ordered -if (MSVC) - add_subdirectory( ext_patch ) - add_subdirectory( ext_png2ico ) -endif (MSVC) -if (MINGW) - add_subdirectory( ext_patch ) - add_subdirectory( ext_png2ico ) -endif (MINGW) -add_subdirectory( ext_iconv ) -add_subdirectory( ext_gettext ) -add_subdirectory( ext_zlib ) -add_subdirectory( ext_libxml2 ) -add_subdirectory( ext_libxslt ) -add_subdirectory( ext_boost ) -add_subdirectory( ext_jpeg ) -add_subdirectory( ext_tiff ) -add_subdirectory( ext_png ) -add_subdirectory( ext_eigen3 ) -add_subdirectory( ext_expat ) # for exiv2 -add_subdirectory( ext_exiv2 ) -add_subdirectory( ext_ilmbase ) -add_subdirectory( ext_lcms2 ) -add_subdirectory( ext_openexr ) -add_subdirectory( ext_vc ) -add_subdirectory( ext_gsl ) -add_subdirectory( ext_fftw3 ) -add_subdirectory( ext_ocio ) -if (MSVC) - add_subdirectory( ext_pthreads ) -endif (MSVC) -add_subdirectory( ext_fontconfig) -add_subdirectory( ext_freetype) -add_subdirectory( ext_qt ) -add_subdirectory( ext_poppler ) -add_subdirectory( ext_libraw ) -add_subdirectory( ext_frameworks ) - -if (MSVC OR MINGW) - add_subdirectory( ext_drmingw ) -endif (MSVC OR MINGW) diff -Nru krita-3.1.4/3rdparty/ext_boost/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_boost/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_boost/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_boost/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,90 +0,0 @@ -SET(PREFIX_ext_boost "${EXTPREFIX}" ) -if (MSVC) - if (${CMAKE_GENERATOR} STREQUAL "Visual Studio 14 2015 Win64") - ExternalProject_Add( - ext_boost - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/boost_1_61_0.zip - URL_MD5 015ae4afa6f3e597232bfe1dab949ace - - CONFIGURE_COMMAND /bootstrap.bat --prefix=${PREFIX_ext_boost} - BUILD_COMMAND /b2.exe --with-system --build-dir=build-dir --prefix=${PREFIX_ext_boost} toolset=msvc-14.0 variant=release link=shared threading=multi architecture=x86 address-model=64 variant=release install - INSTALL_COMMAND "" - INSTALL_DIR ${EXTPREFIX_boost} - - UPDATE_COMMAND "" - ALWAYS 0 - BUILD_IN_SOURCE 1 - ) - ExternalProject_Add_Step( - ext_boost - post_install - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_boost}/lib/boost_system-vc140-mt-1_61.dll ${PREFIX_ext_boost}/bin/boost_system-vc140-mt-1_61.dll - DEPENDEES install - ) - - else() - ExternalProject_Add( - ext_boost - - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/boost_1_61_0.zip - URL_MD5 015ae4afa6f3e597232bfe1dab949ace - - CONFIGURE_COMMAND /bootstrap.bat --prefix=${PREFIX_ext_boost} - BUILD_COMMAND /b2.exe --with-system --build-dir=build-dir --prefix=${PREFIX_ext_boost} toolset=msvc-14.0 variant=release link=shared threading=multi architecture=x86 variant=release install - INSTALL_COMMAND "" - INSTALL_DIR ${EXTPREFIX_boost} - - UPDATE_COMMAND "" - ALWAYS 0 - BUILD_IN_SOURCE 1 - ) - ExternalProject_Add_Step( - ext_boost - post_install - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_boost}/lib/boost_system-vc140-mt-1_61.dll ${PREFIX_ext_boost}/bin/boost_system-vc140-mt-1_61.dll - DEPENDEES install - ) - endif() -elseif(MINGW) - string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2" - KRITA_boost_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION}) - ExternalProject_Add( - ext_boost - - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/boost_1_61_0.zip - URL_MD5 015ae4afa6f3e597232bfe1dab949ace - - CONFIGURE_COMMAND /bootstrap.bat gcc --prefix=${PREFIX_ext_boost} - BUILD_COMMAND /b2.exe --with-system --build-dir=build-dir --prefix=${PREFIX_ext_boost} toolset=gcc variant=release link=shared threading=multi architecture=x86 variant=release install - INSTALL_COMMAND "" - INSTALL_DIR ${EXTPREFIX_boost} - - UPDATE_COMMAND "" - ALWAYS 0 - BUILD_IN_SOURCE 1 - ) - ExternalProject_Add_Step( - ext_boost - post_install - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_boost}/lib/libboost_system-mgw${KRITA_boost_COMPILER_VERSION}-mt-1_61.dll ${PREFIX_ext_boost}/bin/ - DEPENDEES install - ) -else() - ExternalProject_Add( ext_boost - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/boost_1_61_0.tar.bz2 - URL_MD5 6095876341956f65f9d35939ccea1a9f - - CONFIGURE_COMMAND /bootstrap.sh --prefix=${PREFIX_ext_boost} --with-libraries=system - BUILD_COMMAND /b2 install - INSTALL_COMMAND "" - INSTALL_DIR ${PREFIX_ext_boost} - - UPDATE_COMMAND "" - ALWAYS 0 - BUILD_IN_SOURCE 1 -) -endif() diff -Nru krita-3.1.4/3rdparty/ext_drmingw/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_drmingw/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_drmingw/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_drmingw/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ -SET (PREFIX_ext_drmingw "${EXTPREFIX}") -if (MSVC OR MINGW) - if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - ExternalProject_Add(ext_drmingw - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL https://github.com/jrfonseca/drmingw/releases/download/0.8.1/drmingw-0.8.1-win64.7z - URL_HASH SHA1=8be29cc7efc0d611056c3b745e7f8de30d7c8baa - - INSTALL_DIR ${PREFIX_ext_drmingw} - CONFIGURE_COMMAND "" - BUILD_COMMAND ${CMAKE_COMMAND} -E echo Deploying Dr. Mingw 64-bit binary and dependencies - INSTALL_COMMAND ${CMAKE_COMMAND} -E copy /bin/dbghelp.dll ${PREFIX_ext_drmingw}/bin/ - COMMAND ${CMAKE_COMMAND} -E copy /bin/exchndl.dll ${PREFIX_ext_drmingw}/bin/ - COMMAND ${CMAKE_COMMAND} -E copy /bin/mgwhelp.dll ${PREFIX_ext_drmingw}/bin/ - COMMAND ${CMAKE_COMMAND} -E copy /bin/symsrv.dll ${PREFIX_ext_drmingw}/bin/ - COMMAND ${CMAKE_COMMAND} -E copy /bin/symsrv.yes ${PREFIX_ext_drmingw}/bin/ - - UPDATE_COMMAND "" - ALWAYS 0 - ) - else ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - ExternalProject_Add(ext_drmingw - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL https://github.com/jrfonseca/drmingw/releases/download/0.8.1/drmingw-0.8.1-win32.7z - URL_HASH SHA1=5eefeefc392cae36afb891ca81e3756aa0d79644 - - INSTALL_DIR ${PREFIX_ext_drmingw} - CONFIGURE_COMMAND "" - BUILD_COMMAND ${CMAKE_COMMAND} -E echo Deploying Dr. Mingw 32-bit binary and dependencies - INSTALL_COMMAND ${CMAKE_COMMAND} -E copy /bin/dbghelp.dll ${PREFIX_ext_drmingw}/bin/ - COMMAND ${CMAKE_COMMAND} -E copy /bin/exchndl.dll ${PREFIX_ext_drmingw}/bin/ - COMMAND ${CMAKE_COMMAND} -E copy /bin/mgwhelp.dll ${PREFIX_ext_drmingw}/bin/ - COMMAND ${CMAKE_COMMAND} -E copy /bin/symsrv.dll ${PREFIX_ext_drmingw}/bin/ - COMMAND ${CMAKE_COMMAND} -E copy /bin/symsrv.yes ${PREFIX_ext_drmingw}/bin/ - - UPDATE_COMMAND "" - ALWAYS 0 - ) - endif ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") -endif (MSVC OR MINGW) diff -Nru krita-3.1.4/3rdparty/ext_eigen3/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_eigen3/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_eigen3/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_eigen3/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -SET(EXTPREFIX_eigen3 "${EXTPREFIX}" ) -ExternalProject_Add( ext_eigen3 - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/eigen-eigen-07105f7124f9.tar.gz - URL_MD5 135d8d43aaee5fb54cf5f3e981b1a6db - - INSTALL_DIR ${EXTPREFIX_eigen3} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/dart.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_eigen3} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 -) diff -Nru krita-3.1.4/3rdparty/ext_eigen3/dart.diff krita-3.1.4+dfsg/3rdparty/ext_eigen3/dart.diff --- krita-3.1.4/3rdparty/ext_eigen3/dart.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_eigen3/dart.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -diff --git a/cmake/EigenConfigureTesting.cmake b/cmake/EigenConfigureTesting.cmake -index 2b11d83..8cf56ff 100644 ---- a/cmake/EigenConfigureTesting.cmake -+++ b/cmake/EigenConfigureTesting.cmake -@@ -26,19 +26,6 @@ include(CTest) - - set(EIGEN_TEST_BUILD_FLAGS " " CACHE STRING "Options passed to the build command of unit tests") - --# Overwrite default DartConfiguration.tcl such that ctest can build our unit tests. --# Recall that our unit tests are not in the "all" target, so we have to explicitely ask ctest to build our custom 'buildtests' target. --# At this stage, we can also add custom flags to the build tool through the user defined EIGEN_TEST_BUILD_FLAGS variable. --file(READ "${CMAKE_CURRENT_BINARY_DIR}/DartConfiguration.tcl" EIGEN_DART_CONFIG_FILE) --# try to grab the default flags --string(REGEX MATCH "MakeCommand:.*-- (.*)\nDefaultCTestConfigurationType" EIGEN_DUMMY ${EIGEN_DART_CONFIG_FILE}) --if(NOT CMAKE_MATCH_1) --string(REGEX MATCH "MakeCommand:.*[^c]make (.*)\nDefaultCTestConfigurationType" EIGEN_DUMMY ${EIGEN_DART_CONFIG_FILE}) --endif() --string(REGEX REPLACE "MakeCommand:.*DefaultCTestConfigurationType" "MakeCommand: ${CMAKE_COMMAND} --build . --target buildtests --config \"\${CTEST_CONFIGURATION_TYPE}\" -- ${CMAKE_MATCH_1} ${EIGEN_TEST_BUILD_FLAGS}\nDefaultCTestConfigurationType" -- EIGEN_DART_CONFIG_FILE2 ${EIGEN_DART_CONFIG_FILE}) --file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/DartConfiguration.tcl" ${EIGEN_DART_CONFIG_FILE2}) -- - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CTestCustom.cmake.in ${CMAKE_BINARY_DIR}/CTestCustom.cmake) - - # some documentation of this function would be nice diff -Nru krita-3.1.4/3rdparty/ext_exiv2/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_exiv2/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_exiv2/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_exiv2/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -SET(PREFIX_ext_exiv2 "${EXTPREFIX}" ) - -ExternalProject_Add( ext_exiv2 - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/exiv2-0.25.tar.gz - URL_MD5 258d4831b30f75a01e0234065c6c2806 - - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/tzname.patch - COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/patch_mingw.patch - - INSTALL_DIR ${PREFIX_ext_exiv2} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_exiv2} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DEXIV2_ENABLE_BUILD_SAMPLES=OFF -DEXIV2_ENABLE_BUILD_PO=OFF -DEXIV2_ENABLE_NLS=OFF -DICONV_INCLUDE_DIR=${PREFIX_ext_exiv2}/include - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_iconv ext_zlib ext_expat -) diff -Nru krita-3.1.4/3rdparty/ext_exiv2/exiv2.patch krita-3.1.4+dfsg/3rdparty/ext_exiv2/exiv2.patch --- krita-3.1.4/3rdparty/ext_exiv2/exiv2.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_exiv2/exiv2.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,1344 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -new file mode 100644 -index 0000000..632fc8c ---- /dev/null -+++ b/CMakeLists.txt -@@ -0,0 +1,104 @@ -+# CMake build system for exiv2 library and executables -+# Copyright 2008 by Patrick Spendrin -+# -+# Redistribution and use in source and binary forms, with or without -+# modification, are permitted provided that the following conditions -+# are met: -+# -+# 1. Redistributions of source code must retain the above copyright -+# notice, this list of conditions and the following disclaimer. -+# 2. Redistributions in binary form must reproduce the above -+# copyright notice, this list of conditions and the following -+# disclaimer in the documentation and/or other materials provided -+# with the distribution. -+# 3. The name of the author may not be used to endorse or promote -+# products derived from this software without specific prior -+# written permission. -+# -+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -+# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -+# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+# -+ -+project( exiv2 ) -+ -+cmake_minimum_required( VERSION 2.6 ) -+ -+set( PACKAGE_BUGREPORT "ahuggel@gmx.net" ) -+set( PACKAGE "exiv2" ) -+set( PACKAGE_NAME "exiv2" ) -+set( PACKAGE_STRING "exiv2 0.22" ) -+set( PACKAGE_TARNAME "exiv2" ) -+set( PACKAGE_VERSION "0.22" ) -+set( GENERIC_LIB_VERSION "0.22" ) -+set( GENERIC_LIB_SOVERSION "2" ) -+ -+# options and there default values -+option( EXIV2_ENABLE_SHARED "Build exiv2 as a shared library (dll)" ON ) -+option( EXIV2_ENABLE_XMP "Build with XMP metadata support" ON ) -+option( EXIV2_ENABLE_LIBXMP "Build a static convenience Library for XMP" OFF ) -+option( EXIV2_ENABLE_PNG "Build with png support (requires libz)" ON ) -+option( EXIV2_ENABLE_NLS "Build native language support (requires gettext)" OFF ) -+option( EXIV2_ENABLE_PRINTUCS2 "Build with Printucs2" ON ) -+option( EXIV2_ENABLE_LENSDATA "include lens data" ON ) -+option( EXIV2_ENABLE_COMMERCIAL "compile with the EXV_COMMERCIAL_VERSION symbol set" OFF ) -+ -+option( BUILD_samples "Build the unit tests" OFF ) -+ -+if( MINGW OR UNIX ) -+ add_definitions( -Wall -Wcast-align -Wpointer-arith -Wformat-security -Wmissing-format-attribute -Woverloaded-virtual -W ) -+endif( MINGW OR UNIX ) -+ -+if( EXIV2_ENABLE_XMP ) -+ set( HAVE_XMP_TOOLKIT ON ) -+ set( XMPLIB "do" ) -+endif( EXIV2_ENABLE_XMP ) -+ -+if( BUILD_samples ) -+ EXIV2_ENABLE_TESTING() -+endif( BUILD_samples ) -+ -+ -+include( config/ConfigureChecks.cmake ) -+ -+set( INSTALL_TARGET_STANDARD_ARGS RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) -+ -+# add sources from XMPSDK directory - this needs to be done here -+set( XMPSRC -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/XML_Node.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/XMPMeta.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/XMPMeta-GetSet.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/XMPMeta-Parse.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/XMPMeta-Serialize.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/XMPIterator.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/XMPUtils.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/XMPUtils-FileInfo.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/XMPCore_Impl.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/ExpatAdapter.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/ParseRDF.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/UnicodeConversions.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/MD5.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/WXMPMeta.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/WXMPIterator.cpp -+ ${CMAKE_SOURCE_DIR}/xmpsdk/src/WXMPUtils.cpp -+ ) -+ -+# the following lines need to be added to circumvent the error in xmpsdk\src\MD5.h -+if( ${EXV_HAVE_STDINT_H} ) -+ add_definitions( -DEXV_HAVE_STDINT_H ) -+endif( ${EXV_HAVE_STDINT_H} ) -+ -+add_subdirectory( xmpsdk ) -+add_subdirectory( src ) -+ -+if( BUILD_samples ) -+ add_subdirectory( samples ) -+endif( BUILD_samples ) -diff --git a/README-cmake b/README-cmake -new file mode 100644 -index 0000000..81c8f26 ---- /dev/null -+++ b/README-cmake -@@ -0,0 +1,80 @@ -+Exiv2 uses cmake, a cross-platform build system, to control the -+compilation process using simple platform and compiler independent -+configuration files. -+ -+The old make and MSVC build files are currently still around but are -+considered deprecated in the unstable branch. They will disappear once -+the cmake build process is feature-complete, stable and documented. Or -+maybe earlier to force me to get there. -+ -+ -+Cmake resources -+=============== -+ -+Home: http://www.cmake.org/ -+Help: http://www.cmake.org/cmake/help/help.html -+Doc: http://www.cmake.org/cmake/help/documentation.html -+Wiki: http://www.cmake.org/Wiki/CMake -+FAQ: http://www.cmake.org/Wiki/CMake_FAQ -+ -+ -+Building and Installing -+======================= -+ -+a) From the command line -+ -+Run the following commands from the top directory (containing this -+file) to configure, build and install the library and utility: -+ -+ $ mkdir build -+ $ cd build -+ $ cmake .. -+ $ make -+ $ make install -+ -+To modify the configuration -+ -+ $ ccmake .. -+ -+ -+Default install locations -+... -+ -+To uninstall Exiv2, run: -+ -+ $ make uninstall >>>>> TODO -+ -+ in the meantime, on UNIX-like systems, use -+ -+ $ xargs rm < install_manifest.txt -+ -+ -+b) Using the cmake GUI -+ -+ ccmake -+ -+ -+ -+ -+ -+Dependencies -+============ -+ -+cmake itself -+ -+migrate the rest here from README, test one by one -+ -+ -+ -+ -+----- -+ -+Further TODOs: -+ -+ * Rename configuration settings to EXIV2_*, e.g., EXIV2_ENABLE_SHARED -+ * Two cmake projects: 1) exiv2 2) samples, common config in config/ -+ * Is it possible to not have CMakeLists.txt file in the top dir? -+ * --disable-visibility -+ * cross-compilation -+ * Release build and packaging scripts -+ * emacs M-c command to (re-)compile -diff --git a/Todo-cmake.txt b/Todo-cmake.txt -new file mode 100644 -index 0000000..3e06170 ---- /dev/null -+++ b/Todo-cmake.txt -@@ -0,0 +1,59 @@ -+DONE * Need soname versioning for shared library -+ -+* Need g++ specific DONE compiler options (warnings) and settings (visibility) -+ -+* enable build types in cmake. In case required, add support for it -+ -+* The following options of the configure script should be supported -+ --without-zlib DONE - ENABLE_PNG -+ --disable-nls DONE - ENABLE_NLS ??? that doesn't work correctly here -+ --disable-printucs2 DONE - ENABLE_PRINTUCS2 -+ --disable-xmp DONE - ENABLE_XMP -+ --enable-commercial DONE - ENABLE_COMMERCIAL -+ --disable-lensdata DONE - ENABLE_LENSDATA -+ --disable-shared DONE - ENABLE_SHARED_EXIV2 -+ -+DONE * Add further messages to display option settings -+ -+ ------------------------------------------------------------------ -+ -- Exiv2 0.18.1 feature configuration summary -+ -- -+ -- Build a shared library......... NO -+ -- PNG image support.............. YES -+ -- Native language support........ NO -+ -+ gettext is required for native language support. Make sure the -+ gettext header files are installed. You can get gettext from -+ http://www.gnu.org/software/gettext/ -+ -+ -- Conversion of Windows XP tags.. YES -+ -- Nikon lens database............ YES -+ -- XMP metadata support........... YES -+ ------------------------------------------------------------------ -+ -+* Need targets to build/install doc, DONE man page -+ -+DONE * add possibility to build xmp as a convenience library -+ -+DONE * Compilation fails if Expat (possibly also other dependencies?) is in a -+ non-standard place -+ -+WONTFIX * This is probably not necessary in src/CMakeLists.txt / can be removed: -+ set( LIBEXIV2_SRC ${LIBEXIV2_SRC} getopt_win32.c ) -+ it is necessary as both windows compilers do not autoexport -+ -+DONE * Do we need to worry about MSVC warnings like this: -+d:\home\ahuggel\msys\src\exiv2\src\exif.hpp(245) : warning C4251: 'Exiv2::Exifdatum::value_' : class 'std::auto_ptr<_Ty>' needs to have dll-interface to be used by clients of class 'Exiv2::Exifdatum' -+ with -+ [ -+ _Ty=Exiv2::Value -+ ] -+ -+* add information on how to cross-compile on Linux for Windows (MinGW) (some applications and -+ my own release-build process need this) to the README.cmake -+ -+INFO * check How does cmake handle RPATH? (I'll read up on this) -+ -+DONE * Is the pkgconfig file not installed in MinGW? - it is now -+ -+* Can the logic needed to build the doc be re-written using cmake? -diff --git a/config/ConfigureChecks.cmake b/config/ConfigureChecks.cmake -new file mode 100644 -index 0000000..3e4f1c1 ---- /dev/null -+++ b/config/ConfigureChecks.cmake -@@ -0,0 +1,266 @@ -+# CMake build system for exiv2 library and executables -+# Copyright 2008 by Patrick Spendrin -+# -+# Redistribution and use in source and binary forms, with or without -+# modification, are permitted provided that the following conditions -+# are met: -+# -+# 1. Redistributions of source code must retain the above copyright -+# notice, this list of conditions and the following disclaimer. -+# 2. Redistributions in binary form must reproduce the above -+# copyright notice, this list of conditions and the following -+# disclaimer in the documentation and/or other materials provided -+# with the distribution. -+# 3. The name of the author may not be used to endorse or promote -+# products derived from this software without specific prior -+# written permission. -+# -+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -+# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -+# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+# -+# ConfigureChecks for exiv2 -+ -+set( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/config ) -+include( CheckIncludeFile ) -+include( CheckFunctionExists ) -+include( CheckSymbolExists ) -+include( CheckCSourceCompiles ) -+ -+set( STDC_HEADERS ON ) -+set( HAVE_DECL_STRERROR_R 0 ) -+ -+set( HAVE_PRINTUCS2 ${EXIV2_ENABLE_PRINTUCS2} ) -+set( HAVE_LENSDATA ${EXIV2_ENABLE_LENSDATA} ) -+ -+include_directories( ${CMAKE_INCLUDE_PATH} ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/xmpsdk/include ) -+link_directories( ${CMAKE_LIBRARY_PATH} ) -+set( CMAKE_REQUIRED_INCLUDES ${CMAKE_INCLUDE_PATH} ) -+set( CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES} ) -+ -+find_library( ICONV_LIBRARIES iconv ) -+find_library( LIBINTL_LIBRARIES libintl ) -+ -+if( EXIV2_ENABLE_PNG ) -+ find_package( ZLIB ) -+ include_directories( ${ZLIB_INCLUDE_DIR} ) -+ set (HAVE_LIBZ ${ZLIB_FOUND}) -+endif( EXIV2_ENABLE_PNG ) -+ -+if (EXIV2_ENABLE_XMP) -+ find_package(EXPAT) -+ include_directories(${EXPAT_INCLUDE_DIR}) -+ # FindEXPAT.cmake doesn't check for REQUIRED flags - so we need to check ourselves -+ if (NOT EXPAT_FOUND) -+ message(FATAL_ERROR "missing library expat required for XMP") -+ endif( NOT EXPAT_FOUND ) -+endif (EXIV2_ENABLE_XMP) -+ -+if( EXIV2_ENABLE_SHARED ) -+ add_definitions( -DEXV_HAVE_DLL ) -+ set( STATIC_FLAG SHARED ) -+else( EXIV2_ENABLE_SHARED ) -+ set( STATIC_FLAG STATIC ) -+endif( EXIV2_ENABLE_SHARED ) -+ -+if( EXIV2_ENABLE_NLS ) -+ if( NOT LOCALEDIR ) -+ set( LOCALEDIR "\"${CMAKE_INSTALL_PREFIX}/share/locale\"" ) -+ if( WIN32 ) -+ string( REPLACE "/" "\\\\" LOCALEDIR ${LOCALEDIR} ) -+ endif( WIN32 ) -+ endif( NOT LOCALEDIR ) -+ add_definitions( -DEXV_LOCALEDIR=${LOCALEDIR} ) -+endif( EXIV2_ENABLE_NLS ) -+ -+if( EXIV2_ENABLE_COMMERCIAL ) -+ add_definitions( -DEXV_COMMERCIAL_VERSION ) -+endif( EXIV2_ENABLE_COMMERCIAL ) -+ -+# checking for Header files -+check_include_file( "inttypes.h" HAVE_INTTYPES_H ) -+check_include_file( "libintl.h" HAVE_LIBINTL_H ) -+check_include_file( "malloc.h" HAVE_MALLOC_H ) -+check_include_file( "memory.h" HAVE_MEMORY_H ) -+check_include_file( "iconv.h" HAVE_ICONV_H ) -+check_include_file( "stdbool.h" HAVE_STDBOOL_H ) -+check_include_file( "stdint.h" HAVE_STDINT_H ) -+check_include_file( "stdlib.h" HAVE_STDLIB_H ) -+check_include_file( "string.h" HAVE_STRING_H ) -+check_include_file( "strings.h" HAVE_STRINGS_H ) -+check_include_file( "unistd.h" HAVE_UNISTD_H ) -+check_include_file( "wchar.h" HAVE_WCHAR_H ) -+check_include_file( "sys/stat.h" HAVE_SYS_STAT_H ) -+check_include_file( "sys/time.h" HAVE_SYS_TIME_H ) -+check_include_file( "sys/types.h" HAVE_SYS_TYPES_H ) -+check_include_file( "sys/mman.h" HAVE_SYS_MMAN_H ) -+check_include_file( "process.h" HAVE_PROCESS_H ) -+ -+check_function_exists( alarm HAVE_ALARM ) -+check_function_exists( gmtime_r HAVE_GMTIME_R ) -+check_function_exists( iconv HAVE_ICONV ) -+check_function_exists( malloc HAVE_MALLOC ) -+check_function_exists( memset HAVE_MEMSET ) -+check_function_exists( mmap HAVE_MMAP ) -+check_function_exists( munmap HAVE_MUNMAP ) -+check_function_exists( realloc HAVE_REALLOC ) -+check_function_exists( strchr HAVE_STRCHR ) -+check_function_exists( strchr_r HAVE_STRCHR_R ) -+check_function_exists( strerror HAVE_STRERROR ) -+check_function_exists( strerror_r HAVE_STRERROR_R ) -+check_function_exists( strtol HAVE_STRTOL ) -+check_function_exists( timegm HAVE_TIMEGM ) -+check_function_exists( vprintf HAVE_VPRINTF ) -+ -+message( STATUS "None: ${CMAKE_CXX_FLAGS}" ) -+message( STATUS "Debug: ${CMAKE_CXX_FLAGS_DEBUG}" ) -+message( STATUS "Release: ${CMAKE_CXX_FLAGS_RELEASE}" ) -+message( STATUS "RelWithDebInfo: ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}" ) -+message( STATUS "MinSizeRel: ${CMAKE_CXX_FLAGS_MINSIZEREL}" ) -+ -+if( HAVE_STDBOOL_H ) -+ check_symbol_exists( "_Bool" stdbool.h HAVE__BOOL ) -+endif( HAVE_STDBOOL_H ) -+ -+# struct tm in sys/time.h -+if( HAVE_SYS_TIME_H ) -+ check_c_source_compiles( "#include -+int main() { -+struct tm t; -+return 0; -+}" TM_IN_SYS_TIME ) -+endif( HAVE_SYS_TIME_H ) -+ -+# strerror_r returns char* -+check_c_source_compiles( "#include -+int main() { -+char * c; -+c = strerror_r(0,c,0); -+return 0; -+}" STRERROR_R_CHAR_P ) -+ -+#function is declared with the above -+if( STRERROR_R_CHAR_P ) -+ set( HAVE_DECL_STRERROR_R 1 ) -+endif( STRERROR_R_CHAR_P ) -+ -+# time.h and sys/time.h can be included in the same file -+check_c_source_compiles( "#include -+#include -+int main() { -+return 0; -+}" TIME_WITH_SYS_TIME ) -+ -+# check if the second argument is const char** -+check_c_source_compiles( "#include -+int main() { -+const char ** in; -+char * out; -+size_t t; -+iconv_t cd; -+iconv (cd, in, &t, &out, &t); -+return 0; -+}" CONST_ICONV ) -+ -+if( CONST_ICONV ) -+ set( EXV_ICONV_CONST "const" ) -+else( CONST_ICONV ) -+ set( EXV_ICONV_CONST "const" ) -+endif( CONST_ICONV ) -+ -+# for msvc define to int in exv_conf.h -+if( NOT MSVC ) -+ set( HAVE_PID_T TRUE ) -+endif( NOT MSVC ) -+ -+set( EXV_SYMBOLS -+HAVE_INTTYPES_H -+HAVE_LIBINTL_H -+HAVE_MALLOC_H -+HAVE_MEMORY_H -+HAVE_ICONV_H -+HAVE_STDBOOL_H -+HAVE_STDINT_H -+HAVE_STDLIB_H -+HAVE_STRING_H -+HAVE_STRINGS_H -+HAVE_UNISTD_H -+HAVE_WCHAR_H -+HAVE_SYS_STAT_H -+HAVE_SYS_TIME_H -+HAVE_SYS_TYPES_H -+HAVE_SYS_MMAN_H -+HAVE_PROCESS_H -+HAVE_ALARM -+HAVE_GMTIME_R -+HAVE_ICONV -+HAVE_MEMSET -+HAVE_MMAP -+HAVE_MUNMAP -+HAVE_REALLOC -+HAVE_STRCHR -+HAVE_STRCHR_R -+HAVE_STRERROR -+HAVE_STRERROR_R -+HAVE_STRTOL -+HAVE_TIMEGM -+HAVE_VPRINTF -+ -+HAVE__BOOL -+HAVE_LENSDATA -+EXIV2_ENABLE_NLS -+HAVE_DECL_STRERROR_R -+HAVE_PRINTUCS2 -+HAVE_LIBZ -+HAVE_XMP_TOOLKIT -+PACKAGE_BUGREPORT -+PACKAGE -+PACKAGE_NAME -+PACKAGE_STRING -+PACKAGE_TARNAME -+PACKAGE_VERSION -+) -+ -+foreach( entry ${EXV_SYMBOLS} ) -+ set( EXV_${entry} ${${entry}} ) -+endforeach( entry ${EXV_SYMBOLS} ) -+ -+configure_file( config/config.h.cmake ${CMAKE_BINARY_DIR}/exv_conf.h ) -+configure_file( config/exv_msvc.h.cmake ${CMAKE_BINARY_DIR}/exv_msvc.h COPYONLY ) -+install( FILES ${CMAKE_BINARY_DIR}/exv_conf.h DESTINATION include/exiv2 ) -+install( FILES ${CMAKE_BINARY_DIR}/exv_msvc.h DESTINATION include/exiv2 ) -+ -+if( NOT MSVC ) -+ configure_file( config/exiv2.pc.cmake ${CMAKE_BINARY_DIR}/exiv2.pc ) -+ install( FILES ${CMAKE_BINARY_DIR}/exiv2.pc DESTINATION lib/pkgconfig ) -+endif( NOT MSVC ) -+ -+# ****************************************************************************** -+# output chosen build options -+macro( OptionOutput _outputstring ) -+ if( ${ARGN} ) -+ set( _var "YES" ) -+ else( ${ARGN} ) -+ set( _var "NO" ) -+ endif( ${ARGN} ) -+ message( STATUS "${_outputstring}${_var}" ) -+endmacro( OptionOutput _outputstring ) -+ -+message( STATUS "-------------------------------------------------------------" ) -+OptionOutput( "Building PNG support: " EXIV2_ENABLE_PNG AND ZLIB_FOUND ) -+OptionOutput( "Building shared library: " EXIV2_ENABLE_SHARED ) -+OptionOutput( "XMP metadata support: " EXIV2_ENABLE_XMP ) -+OptionOutput( "Building static libxmp: " ENABLE_LIBXMP ) -+OptionOutput( "Native language support: " EXIV2_ENABLE_NLS ) -+OptionOutput( "Conversion of Windows XP tags: " EXIV2_ENABLE_PRINTUCS2 ) -+OptionOutput( "Nikon lens database: " EXIV2_ENABLE_LENSDATA ) -+OptionOutput( "commercial build: " EXIV2_ENABLE_COMMERCIAL ) -+message( STATUS "-------------------------------------------------------------" ) -diff --git a/config/FindEXPAT.cmake b/config/FindEXPAT.cmake -new file mode 100644 -index 0000000..ee804e1 ---- /dev/null -+++ b/config/FindEXPAT.cmake -@@ -0,0 +1,28 @@ -+# - Find expat -+# Find the native EXPAT headers and libraries. -+# -+# EXPAT_INCLUDE_DIRS - where to find expat.h, etc. -+# EXPAT_LIBRARIES - List of libraries when using expat. -+# EXPAT_FOUND - True if expat found. -+ -+# Look for the header file. -+FIND_PATH(EXPAT_INCLUDE_DIR NAMES expat.h) -+ -+# Look for the library. -+FIND_LIBRARY(EXPAT_LIBRARY NAMES expat libexpat) -+ -+# handle the QUIETLY and REQUIRED arguments and set EXPAT_FOUND to TRUE if -+# all listed variables are TRUE -+INCLUDE(FindPackageHandleStandardArgs) -+FIND_PACKAGE_HANDLE_STANDARD_ARGS(EXPAT DEFAULT_MSG EXPAT_LIBRARY EXPAT_INCLUDE_DIR) -+ -+# Copy the results to the output variables. -+IF(EXPAT_FOUND) -+ SET(EXPAT_LIBRARIES ${EXPAT_LIBRARY}) -+ SET(EXPAT_INCLUDE_DIRS ${EXPAT_INCLUDE_DIR}) -+ELSE(EXPAT_FOUND) -+ SET(EXPAT_LIBRARIES) -+ SET(EXPAT_INCLUDE_DIRS) -+ENDIF(EXPAT_FOUND) -+ -+MARK_AS_ADVANCED(EXPAT_INCLUDE_DIR EXPAT_LIBRARY) -diff --git a/config/config.h.cmake b/config/config.h.cmake -new file mode 100644 -index 0000000..bcfb135 ---- /dev/null -+++ b/config/config.h.cmake -@@ -0,0 +1,247 @@ -+/**/ -+/* config.h. Generated by cmake from config.h.cmake. */ -+ -+/* Define to 1 if you have the `alarm' function. */ -+#cmakedefine EXV_HAVE_ALARM -+ -+/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you -+ don't. */ -+#cmakedefine EXV_HAVE_DECL_STRERROR_R 1 -+ -+/* Define to 1 if you have the `gmtime_r' function. */ -+#cmakedefine EXV_HAVE_GMTIME_R 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_INTTYPES_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_LIBINTL_H 1 -+ -+#ifndef EXV_COMMERCIAL_VERSION -+ -+/* Define to 1 to enable translation of Exif.Nikon3.LensData. */ -+#cmakedefine EXV_HAVE_LENSDATA 1 -+ -+/* Define to 1 if translation of program messages to the user's -+ native language is requested. */ -+#cmakedefine EXV_ENABLE_NLS 1 -+ -+/* Define to 1 if you have the `iconv' function. */ -+#cmakedefine EXV_HAVE_ICONV 1 -+ -+/* Define to 1 to enable conversion of UCS2 encoded Windows tags to UTF-8. */ -+#cmakedefine EXV_HAVE_PRINTUCS2 1 -+ -+#endif /* !EXV_COMMERCIAL_VERSION */ -+ -+/* Define to `const' or to empty, depending on the second argument of `iconv'. */ -+#define EXV_ICONV_CONST -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_LIBINTL_H 1 -+ -+/* Define to 1 if your system has a GNU libc compatible `malloc' function, and -+ to 0 otherwise. */ -+#cmakedefine EXV_HAVE_MALLOC 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_MALLOC_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_MEMORY_H 1 -+ -+/* Define to 1 if you have the `memset' function. */ -+#cmakedefine EXV_HAVE_MEMSET 1 -+ -+/* Define to 1 if your system has a GNU libc compatible `realloc' function, -+ and to 0 otherwise. */ -+#cmakedefine EXV_HAVE_REALLOC 1 -+ -+/* Define to 1 if stdbool.h conforms to C99. */ -+#cmakedefine EXV_HAVE_STDBOOL_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_STDINT_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_STDLIB_H 1 -+ -+/* Define to 1 if you have the `strchr' function. */ -+#cmakedefine EXV_HAVE_STRCHR 1 -+ -+/* Define to 1 if you have the `strerror' function. */ -+#cmakedefine EXV_HAVE_STRERROR 1 -+ -+/* Define to 1 if you have the `strerror_r' function. */ -+#cmakedefine EXV_HAVE_STRERROR_R 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_STRINGS_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_STRING_H 1 -+ -+/* Define to 1 if you have the `strtol' function. */ -+#cmakedefine EXV_HAVE_STRTOL 1 -+ -+/* Define to 1 if you have the `mmap' function. */ -+#cmakedefine EXV_HAVE_MMAP 1 -+ -+/* Define to 1 if you have the `munmap' function. */ -+#cmakedefine EXV_HAVE_MUNMAP 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_SYS_STAT_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_SYS_TIME_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_SYS_TYPES_H 1 -+ -+/* Define to 1 if you have the `timegm' function. */ -+#cmakedefine EXV_HAVE_TIMEGM 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_UNISTD_H 1 -+ -+/* Define to 1 if you have the `vprintf' function. */ -+#cmakedefine EXV_HAVE_VPRINTF 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_WCHAR_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_SYS_MMAN_H 1 -+ -+/* Define to 1 if you have the `zlib' library. */ -+#cmakedefine EXV_HAVE_LIBZ 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine EXV_HAVE_PROCESS_H 1 -+ -+/* Define to 1 if you have the Adobe XMP Toolkit. */ -+#cmakedefine EXV_HAVE_XMP_TOOLKIT 1 -+ -+/* Define to 1 if the system has the type `_Bool'. */ -+#cmakedefine EXV_HAVE__BOOL 1 -+ -+/* Define to 1 if `lstat' dereferences a symlink specified with a trailing -+ slash. */ -+#cmakedefine EXV_LSTAT_FOLLOWS_SLASHED_SYMLINK 1 -+ -+/* Define to the address where bug reports for this package should be sent. */ -+#cmakedefine EXV_PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@" -+ -+/* Define to the name of this package. */ -+#cmakedefine EXV_PACKAGE "@PACKAGE@" -+ -+/* Define to the full name of this package. */ -+#cmakedefine EXV_PACKAGE_NAME "@PACKAGE_NAME@" -+ -+/* Define to the full name and version of this package. */ -+#cmakedefine EXV_PACKAGE_STRING "@PACKAGE_STRING@" -+ -+/* Define to the one symbol short name of this package. */ -+#cmakedefine EXV_PACKAGE_TARNAME "@PACKAGE_TARNAME@" -+ -+/* Define to the version of this package. */ -+#cmakedefine EXV_PACKAGE_VERSION "@PACKAGE_VERSION@" -+ -+/* Define to 1 if you have the ANSI C header files. */ -+#cmakedefine STDC_HEADERS 1 -+ -+/* Define to 1 if strerror_r returns char *. */ -+#cmakedefine STRERROR_R_CHAR_P 1 -+ -+/* Define to 1 if you can safely include both and . */ -+#define TIME_WITH_SYS_TIME 1 -+ -+/* Define to 1 if your declares `struct tm'. */ -+#cmakedefine TM_IN_SYS_TIME 1 -+ -+/* Define to empty if `const' does not conform to ANSI C. */ -+#cmakedefine const -+ -+/* Define to `__inline__' or `__inline' if that's what the C compiler -+ calls it, or to nothing if 'inline' is not supported under any name. */ -+#ifndef __cplusplus -+#cmakedefine inline -+#endif -+ -+/* Define to rpl_malloc if the replacement function should be used. */ -+#cmakedefine malloc -+ -+/* Define to `int' if does not define. */ -+#cmakedefine HAVE_PID_T 1 -+ -+/* On Microsoft compilers pid_t has to be set to int. */ -+#ifndef HAVE_PID_T -+typedef int pid_t; -+#endif -+ -+/* Define to rpl_realloc if the replacement function should be used. */ -+#cmakedefine realloc -+ -+/* Define to `unsigned' if does not define. */ -+#cmakedefine size_t -+ -+#if defined __CYGWIN32__ && !defined __CYGWIN__ -+ /* For backwards compatibility with Cygwin b19 and -+ earlier, we define __CYGWIN__ here, so that -+ we can rely on checking just for that macro. */ -+#define __CYGWIN__ __CYGWIN32__ -+#endif -+ -+/* File path seperator */ -+#if defined WIN32 && !defined __CYGWIN__ -+#define EXV_SEPERATOR_STR "\\" -+#define EXV_SEPERATOR_CHR '\\' -+#else -+#define EXV_SEPERATOR_STR "/" -+#define EXV_SEPERATOR_CHR '/' -+#endif -+ -+/* Shared library support, see http://gcc.gnu.org/wiki/Visibility */ -+#ifdef WIN32 -+# define EXV_IMPORT __declspec(dllimport) -+# define EXV_EXPORT __declspec(dllexport) -+# define EXV_DLLLOCAL -+# define EXV_DLLPUBLIC -+#else -+# ifdef EXV_HAVE_GXXCLASSVISIBILITY -+# define EXV_IMPORT __attribute__ ((visibility("default"))) -+# define EXV_EXPORT __attribute__ ((visibility("default"))) -+# define EXV_DLLLOCAL __attribute__ ((visibility("hidden"))) -+# define EXV_DLLPUBLIC __attribute__ ((visibility("default"))) -+# else -+# define EXV_IMPORT -+# define EXV_EXPORT -+# define EXV_DLLLOCAL -+# define EXV_DLLPUBLIC -+# endif /* ! EXV_HAVE_GXXCLASSVISIBILITY */ -+#endif /* ! WIN32 */ -+ -+/* Define EXIV2API for DLL builds */ -+#ifdef EXV_HAVE_DLL -+# ifdef EXV_BUILDING_LIB -+# define EXIV2API EXV_EXPORT -+# else -+# define EXIV2API EXV_IMPORT -+# endif /* ! EXV_BUILDING_LIB */ -+#else -+# define EXIV2API -+#endif /* ! EXV_HAVE_DLL */ -+ -+/* -+ Visual Studio C++ 2005 (8.0) -+ Disable warnings about 'deprecated' standard functions -+ See, eg. http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=259 -+*/ -+#if _MSC_VER >= 1400 -+# pragma warning(disable : 4996 4251) -+#endif -+ -+#ifndef R_OK -+# define R_OK 4 -+#endif -diff --git a/config/exiv2.pc.cmake b/config/exiv2.pc.cmake -new file mode 100644 -index 0000000..4d243e6 ---- /dev/null -+++ b/config/exiv2.pc.cmake -@@ -0,0 +1,10 @@ -+prefix=@CMAKE_INSTALL_PREFIX@ -+exec_prefix=${prefix} -+libdir=${prefix}/lib -+includedir=${prefix}/include -+ -+Name: exiv2 -+Description: Exif and IPTC metadata library and tools -+Version: @PACKAGE_VERSION@ -+Libs: -L${libdir} -lexiv2 @EXV_LIB_STATIC@ -+Cflags: -I${includedir} -diff --git a/config/exv_msvc.h.cmake b/config/exv_msvc.h.cmake -new file mode 100644 -index 0000000..f2fa241 ---- /dev/null -+++ b/config/exv_msvc.h.cmake -@@ -0,0 +1,5 @@ -+/* -+This file redirects to the configuration header file generated by cmake. -+*/ -+ -+#include "exv_conf.h" -diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt -new file mode 100644 -index 0000000..ed29935 ---- /dev/null -+++ b/samples/CMakeLists.txt -@@ -0,0 +1,59 @@ -+# CMake build system for exiv2 library and executables -+# Copyright 2008 by Patrick Spendrin -+# -+# Redistribution and use in source and binary forms, with or without -+# modification, are permitted provided that the following conditions -+# are met: -+# -+# 1. Redistributions of source code must retain the above copyright -+# notice, this list of conditions and the following disclaimer. -+# 2. Redistributions in binary form must reproduce the above -+# copyright notice, this list of conditions and the following -+# disclaimer in the documentation and/or other materials provided -+# with the distribution. -+# 3. The name of the author may not be used to endorse or promote -+# products derived from this software without specific prior -+# written permission. -+# -+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -+# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -+# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ -+ -+set( SAMPLES addmoddel.cpp -+ convert-test.cpp -+ easyaccess-test.cpp -+ exifcomment.cpp -+ exifdata-test.cpp -+ exifprint.cpp -+ iotest.cpp -+ iptceasy.cpp -+ iptcprint.cpp -+ iptctest.cpp -+ key-test.cpp -+ largeiptc-test.cpp -+ mmap-test.cpp -+ prevtest.cpp -+ stringto-test.cpp -+ tiff-test.cpp -+ werror-test.cpp -+ write-test.cpp -+ write2-test.cpp -+ xmpparse.cpp -+ xmpparser-test.cpp -+ xmpsample.cpp ) -+ -+foreach(entry ${SAMPLES}) -+STRING( REPLACE ".cpp" "" target ${entry}) -+add_executable( ${target} ${target}.cpp ) -+add_test( ${target}_test ${target} ) -+target_link_libraries(${target} exiv2 ) -+endforeach(entry ${SAMPLES}) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -new file mode 100644 -index 0000000..01314ea ---- /dev/null -+++ b/src/CMakeLists.txt -@@ -0,0 +1,227 @@ -+# CMake build system for exiv2 library and executables -+# Copyright 2008 by Patrick Spendrin -+# -+# Redistribution and use in source and binary forms, with or without -+# modification, are permitted provided that the following conditions -+# are met: -+# -+# 1. Redistributions of source code must retain the above copyright -+# notice, this list of conditions and the following disclaimer. -+# 2. Redistributions in binary form must reproduce the above -+# copyright notice, this list of conditions and the following -+# disclaimer in the documentation and/or other materials provided -+# with the distribution. -+# 3. The name of the author may not be used to endorse or promote -+# products derived from this software without specific prior -+# written permission. -+# -+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -+# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -+# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+# -+# Private headers which are only needed for the library itself -+set( LIBEXIV2_PRIVATE_HDR canonmn_int.hpp -+ cr2image_int.hpp -+ crwimage_int.hpp -+ fujimn_int.hpp -+ makernote_int.hpp -+ minoltamn_int.hpp -+ nikonmn_int.hpp -+ olympusmn_int.hpp -+ orfimage_int.hpp -+ panasonicmn_int.hpp -+ pentaxmn_int.hpp -+ pngchunk_int.hpp -+ rcsid_int.hpp -+ rw2image_int.hpp -+ samsungmn_int.hpp -+ sigmamn_int.hpp -+ sonymn_int.hpp -+ tags_int.hpp -+ tiffcomposite_int.hpp -+ tifffwd_int.hpp -+ tiffimage_int.hpp -+ tiffvisitor_int.hpp -+) -+# Add standalone C++ header files to this list -+set( LIBEXIV2_HDR basicio.hpp -+ bmpimage.hpp -+ convert.hpp -+ cr2image.hpp -+ crwimage.hpp -+ datasets.hpp -+ easyaccess.hpp -+ epsimage.hpp -+ error.hpp -+ exif.hpp -+ exiv2.hpp -+ futils.hpp -+ gifimage.hpp -+ image.hpp -+ iptc.hpp -+ jp2image.hpp -+ jpgimage.hpp -+ metadatum.hpp -+ mrwimage.hpp -+ orfimage.hpp -+ pgfimage.hpp -+ preview.hpp -+ properties.hpp -+ psdimage.hpp -+ rafimage.hpp -+ rw2image.hpp -+ tags.hpp -+ tgaimage.hpp -+ tiffimage.hpp -+ types.hpp -+ value.hpp -+ version.hpp -+ xmp.hpp -+ xmpsidecar.hpp ) -+ -+# Add library C++ source files to this list -+set( LIBEXIV2_SRC basicio.cpp -+ bmpimage.cpp -+ canonmn.cpp -+ convert.cpp -+ cr2image.cpp -+ crwedit.cpp -+ crwimage.cpp -+ datasets.cpp -+ easyaccess.cpp -+ epsimage.cpp -+ error.cpp -+ exif.cpp -+ futils.cpp -+ fujimn.cpp -+ gifimage.cpp -+ image.cpp -+ iptc.cpp -+ jp2image.cpp -+ jpgimage.cpp -+ makernote.cpp -+ metadatum.cpp -+ minoltamn.cpp -+ mrwimage.cpp -+ nikonmn.cpp -+ olympusmn.cpp -+ orfimage.cpp -+ pentaxmn.cpp -+ panasonicmn.cpp -+ pgfimage.cpp -+ preview.cpp -+ properties.cpp -+ psdimage.cpp -+ rafimage.cpp -+ rw2image.cpp -+ samsungmn.cpp -+ sigmamn.cpp -+ sonymn.cpp -+ tags.cpp -+ tgaimage.cpp -+ tiffcomposite.cpp -+ tiffimage.cpp -+ tiffvisitor.cpp -+ types.cpp -+ value.cpp -+ version.cpp -+ xmp.cpp -+ xmpsidecar.cpp ) -+# crwparse.cpp -+# tiffparse.cpp -+ -+# Add source files of simple applications to this list -+set( TAGLIST_SRC taglist.cpp ) -+ -+# Source files for the Exiv2 application -+set( EXIV2_SRC exiv2.cpp -+ actions.cpp -+ utils.cpp ) -+ -+# Source files for the metacopy sample application -+set( MC_SRC metacopy.cpp -+ utils.cpp ) -+ -+if( EXIV2_ENABLE_PNG ) -+ if( ZLIB_FOUND ) -+ set( LIBEXIV2_SRC ${LIBEXIV2_SRC} pngchunk.cpp -+ pngimage.cpp ) -+ set( LIBEXIV2_HDR ${LIBEXIV2_HDR} pngimage.hpp ) -+ endif( ZLIB_FOUND ) -+endif( EXIV2_ENABLE_PNG ) -+ -+if(NOT HAVE_TIMEGM ) -+ set( LIBEXIV2_SRC ${LIBEXIV2_SRC} localtime.c ) -+ set( EXIV2_SRC ${EXIV2_SRC} localtime.c ) -+endif( NOT HAVE_TIMEGM ) -+ -+if( MSVC ) -+ set( MC_SRC ${MC_SRC} getopt_win32.c ) -+ set( EXIV2_SRC ${EXIV2_SRC} getopt_win32.c ) -+ set( LIBEXIV2_SRC ${LIBEXIV2_SRC} getopt_win32.c ) -+endif( MSVC ) -+ -+ -+if( EXIV2_ENABLE_XMP ) -+ if( NOT EXIV2_ENABLE_LIBXMP ) -+ set( LIBEXIV2_SRC ${XMPSRC} ${LIBEXIV2_SRC} ) -+ endif( NOT EXIV2_ENABLE_LIBXMP ) -+endif( EXIV2_ENABLE_XMP ) -+ -+# ****************************************************************************** -+# Library -+add_library( exiv2 ${STATIC_FLAG} ${LIBEXIV2_SRC} ) -+set_target_properties( exiv2 PROPERTIES VERSION ${GENERIC_LIB_VERSION} -+ SOVERSION ${GENERIC_LIB_SOVERSION} -+ DEFINE_SYMBOL EXV_BUILDING_LIB ) -+ -+if( EXIV2_ENABLE_LIBXMP ) -+ target_link_libraries( exiv2 ${XMPLIB} ) -+endif( EXIV2_ENABLE_LIBXMP ) -+target_link_libraries( exiv2 ${EXPAT_LIBRARIES} ) -+if( EXIV2_ENABLE_PNG ) -+ if( ZLIB_FOUND ) -+ target_link_libraries( exiv2 ${ZLIB_LIBRARIES} ) -+ endif( ZLIB_FOUND ) -+endif( EXIV2_ENABLE_PNG ) -+if( EXIV2_ENABLE_NLS ) -+ target_link_libraries( exiv2 ${LIBINTL_LIBRARIES} ) -+endif( EXIV2_ENABLE_NLS ) -+ -+install( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} ) -+ -+# ****************************************************************************** -+# Binary -+add_executable( exiv2bin ${EXIV2_SRC} ) -+set_target_properties( exiv2bin PROPERTIES RUNTIME_OUTPUT_NAME exiv2 ) -+target_link_libraries( exiv2bin exiv2 ) -+install( TARGETS exiv2bin ${INSTALL_TARGET_STANDARD_ARGS} ) -+ -+# ****************************************************************************** -+# Binary -+add_executable( metacopy ${MC_SRC} ) -+target_link_libraries( metacopy exiv2 ) -+install( TARGETS metacopy ${INSTALL_TARGET_STANDARD_ARGS} ) -+ -+ -+# ****************************************************************************** -+# Binary -+add_executable( taglist ${TAGLIST_SRC} ) -+target_link_libraries( taglist exiv2 ) -+install( TARGETS taglist ${INSTALL_TARGET_STANDARD_ARGS} ) -+ -+# ****************************************************************************** -+# Headers -+install( FILES ${LIBEXIV2_HDR} DESTINATION include/exiv2 ) -+ -+# ****************************************************************************** -+# Man page -+install( FILES exiv2.1 DESTINATION man/man1 ) -diff --git a/src/localtime.c b/src/localtime.c -index 04bde66..f521cc1 100644 ---- a/src/localtime.c -+++ b/src/localtime.c -@@ -11,6 +11,7 @@ - #endif - - #include "timegm.h" -+#include "time.h" - - /* - ** This file is in the public domain, so clarified as of -@@ -935,7 +936,7 @@ struct tm * const tmp; - */ - timesub(&t, ttisp->tt_gmtoff, sp, tmp); - tmp->tm_isdst = ttisp->tt_isdst; -- tzname[tmp->tm_isdst] = &sp->chars[ttisp->tt_abbrind]; -+ //tzname[tmp->tm_isdst] = &sp->chars[ttisp->tt_abbrind]; - #ifdef TM_ZONE - tmp->TM_ZONE = &sp->chars[ttisp->tt_abbrind]; - #endif /* defined TM_ZONE */ -diff --git a/src/types.hpp b/src/types.hpp -index 5addff4..a896f9b 100644 ---- a/src/types.hpp -+++ b/src/types.hpp -@@ -58,16 +58,40 @@ - #endif - - // MSVC doesn't provide C99 types, but it has MS specific variants --#ifdef _MSC_VER -+#if defined(_MSC_VER) && _MSC_VER < 1600 -+#if !defined(HAVE_UINT8_T) -+#define HAVE_UINT8_T - typedef unsigned __int8 uint8_t; -+#endif -+#if !defined(HAVE_UINT16_T) -+#define HAVE_UINT16_T - typedef unsigned __int16 uint16_t; -+#endif -+#if !defined(HAVE_UINT32_T) -+#define HAVE_UINT32_T - typedef unsigned __int32 uint32_t; -+#endif -+#if !defined(HAVE_UINT64_T) -+#define HAVE_UINT64_T - typedef unsigned __int64 uint64_t; -+#endif -+#if !defined(HAVE_INT8_T) -+#define HAVE_INT8_T - typedef __int8 int8_t; -+#endif -+#if !defined(HAVE_INT16_T) -+#define HAVE_INT16_T - typedef __int16 int16_t; -+#endif -+#if !defined(HAVE_INT32_T) -+#define HAVE_INT32_T - typedef __int32 int32_t; -+#endif -+#if !defined(HAVE_INT64_T) -+#define HAVE_INT64_T - typedef __int64 int64_t; - #endif -+#endif - - /*! - @brief Macro to make calls to member functions through a pointer more readable. -diff --git a/src/value.cpp b/src/value.cpp -index 1d21aca..d74f2c4 100644 ---- a/src/value.cpp -+++ b/src/value.cpp -@@ -581,6 +581,10 @@ namespace Exiv2 { - { - } - -+ XmpValue::~XmpValue() -+ { -+ } -+ - XmpValue& XmpValue::operator=(const XmpValue& rhs) - { - if (this == &rhs) return *this; -@@ -657,6 +661,10 @@ namespace Exiv2 { - read(buf); - } - -+ XmpTextValue::~XmpTextValue() -+ { -+ } -+ - int XmpTextValue::read(const std::string& buf) - { - // support a type=Alt,Bag,Seq,Struct indicator -@@ -756,6 +764,10 @@ namespace Exiv2 { - setXmpArrayType(xmpArrayType(typeId)); - } - -+ XmpArrayValue::~XmpArrayValue() -+ { -+ } -+ - int XmpArrayValue::read(const std::string& buf) - { - value_.push_back(buf); -@@ -819,6 +831,10 @@ namespace Exiv2 { - read(buf); - } - -+ LangAltValue::~LangAltValue() -+ { -+ } -+ - int LangAltValue::read(const std::string& buf) - { - std::string b = buf; -diff --git a/src/value.hpp b/src/value.hpp -index 543790b..d0f8157 100644 ---- a/src/value.hpp -+++ b/src/value.hpp -@@ -649,7 +649,10 @@ namespace Exiv2 { - - //! @name Creators - //@{ -+ //! Constructor - explicit XmpValue(TypeId typeId); -+ //! Virtual destructor. -+ virtual ~XmpValue(); - //@} - - //! @name Accessors -@@ -739,6 +742,8 @@ namespace Exiv2 { - XmpTextValue(); - //! Constructor, reads the value from a string. - explicit XmpTextValue(const std::string& buf); -+ //! Virtual destructor. -+ virtual ~XmpTextValue(); - //@} - - //! @name Manipulators -@@ -819,6 +824,8 @@ namespace Exiv2 { - //@{ - //! Constructor. \em typeId can be one of xmpBag, xmpSeq or xmpAlt. - explicit XmpArrayValue(TypeId typeId =xmpBag); -+ //! Virtual destructor. -+ virtual ~XmpArrayValue(); - //@} - - //! @name Manipulators -@@ -888,6 +895,8 @@ namespace Exiv2 { - LangAltValue(); - //! Constructor, reads the value from a string. - explicit LangAltValue(const std::string& buf); -+ //! Virtual destructor. -+ virtual ~LangAltValue(); - //@} - - //! @name Manipulators -diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt -new file mode 100644 -index 0000000..691608a ---- /dev/null -+++ b/xmpsdk/CMakeLists.txt -@@ -0,0 +1,36 @@ -+# CMake build system for exiv2 library and executables -+# Copyright 2008 by Patrick Spendrin -+# -+# Redistribution and use in source and binary forms, with or without -+# modification, are permitted provided that the following conditions -+# are met: -+# -+# 1. Redistributions of source code must retain the above copyright -+# notice, this list of conditions and the following disclaimer. -+# 2. Redistributions in binary form must reproduce the above -+# copyright notice, this list of conditions and the following -+# disclaimer in the documentation and/or other materials provided -+# with the distribution. -+# 3. The name of the author may not be used to endorse or promote -+# products derived from this software without specific prior -+# written permission. -+# -+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -+# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -+# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ -+if( EXIV2_ENABLE_XMP AND EXIV2_ENABLE_LIBXMP ) -+ add_library( xmp STATIC ${XMPSRC} ) -+ get_target_property( XMPLIB xmp LOCATION ) -+ set( XMPLIB ${XMPLIB} PARENT_SCOPE ) -+ -+ install(TARGETS xmp ${INSTALL_TARGET_STANDARD_ARGS} ) -+endif( EXIV2_ENABLE_XMP AND EXIV2_ENABLE_LIBXMP ) diff -Nru krita-3.1.4/3rdparty/ext_exiv2/patch_mingw.patch krita-3.1.4+dfsg/3rdparty/ext_exiv2/patch_mingw.patch --- krita-3.1.4/3rdparty/ext_exiv2/patch_mingw.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_exiv2/patch_mingw.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -diff a/src/CMakeLists.txt b/src/CMakeLists.txt ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -291,6 +291,9 @@ IF (CYGWIN OR MINGW) - TARGET_LINK_LIBRARIES( exiv2lib psapi ) - ENDIF(CYGWIN OR MINGW) - -+IF (MINGW) -+ TARGET_LINK_LIBRARIES( exiv2lib ws2_32 ) -+ENDIF(MINGW) - - INSTALL( TARGETS exiv2lib ${INSTALL_TARGET_STANDARD_ARGS} ) - -diff a/src/http.cpp b/src/http.cpp ---- a/src/http.cpp -+++ b/src/http.cpp -@@ -53,7 +53,7 @@ - #include - #include - #include --#ifndef __MINGW__ -+#if !defined(__MINGW__) && !defined(__MINGW32__) && !defined(__MINGW64__) - #define snprintf sprintf_s - #define write _write - #define read _read diff -Nru krita-3.1.4/3rdparty/ext_exiv2/tzname.patch krita-3.1.4+dfsg/3rdparty/ext_exiv2/tzname.patch --- krita-3.1.4/3rdparty/ext_exiv2/tzname.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_exiv2/tzname.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -diff --git a/src/localtime.c b/src/localtime.c -index d6533c7..9a096fa 100644 ---- a/src/localtime.c -+++ b/src/localtime.c -@@ -105,6 +105,10 @@ struct lsinfo { /* leap second information */ - #define MY_TZNAME_MAX 255 - #endif /* !defined TZNAME_MAX */ - -+#ifdef _MSC_VER -+#define tzname _tzname -+#endif -+ - struct state { - int leapcnt; - int timecnt; diff -Nru krita-3.1.4/3rdparty/ext_expat/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_expat/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_expat/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_expat/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -SET(PREFIX_ext_expat "${EXTPREFIX}" ) - -if (WIN32) -ExternalProject_Add( ext_expat - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/expat-2.1.0.tar.gz - URL_MD5 dd7dab7a5fea97d2a6a43f511449b7cd - - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/expat-2.1.0-20130311.diff - INSTALL_DIR ${PREFIX_ext_expat} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_expat} -DBUILD_tests=OFF -DBUILD_examples=OFF -DBUILD_tools=OFF -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - UPDATE_COMMAND "" - - ALWAYS 0 - DEPENDS ext_patch -) - -else() - -ExternalProject_Add( ext_expat - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/expat-2.1.0.tar.gz - URL_MD5 dd7dab7a5fea97d2a6a43f511449b7cd - - INSTALL_DIR ${PREFIX_ext_expat} - CONFIGURE_COMMAND /configure --prefix=${PREFIX_ext_expat} ${GLOBAL_AUTOMAKE_PROFILE} - BUILD_COMMAND make - INSTALL_COMMAND make install - - UPDATE_COMMAND "" - ALWAYS 0 - -) - -endif() diff -Nru krita-3.1.4/3rdparty/ext_expat/expat-2.1.0-20130311.diff krita-3.1.4+dfsg/3rdparty/ext_expat/expat-2.1.0-20130311.diff --- krita-3.1.4/3rdparty/ext_expat/expat-2.1.0-20130311.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_expat/expat-2.1.0-20130311.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -diff -Nru -x '*~' expat-2.1.0.orig/lib/libexpat.def expat-2.1.0/lib/libexpat.def ---- expat-2.1.0.orig/lib/libexpat.def 2007-05-11 19:20:24.000000000 +0200 -+++ expat-2.1.0/lib/libexpat.def 2013-03-11 10:57:39.156121700 +0100 -@@ -1,6 +1,5 @@ - ; DEF file for MS VC++ - --LIBRARY - EXPORTS - XML_DefaultCurrent @1 - XML_ErrorString @2 -diff -Nru -x '*~' expat-2.1.0.orig/lib/libexpatw.def expat-2.1.0/lib/libexpatw.def ---- expat-2.1.0.orig/lib/libexpatw.def 2007-05-11 19:20:24.000000000 +0200 -+++ expat-2.1.0/lib/libexpatw.def 2013-03-11 10:57:48.157279100 +0100 -@@ -1,6 +1,5 @@ - ; DEF file for MS VC++ - --LIBRARY - EXPORTS - XML_DefaultCurrent @1 - XML_ErrorString @2 diff -Nru krita-3.1.4/3rdparty/ext_fftw3/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_fftw3/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_fftw3/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_fftw3/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,84 +0,0 @@ -SET(PREFIX_ext_fftw3 "${EXTPREFIX}" ) -if (MSVC) - if (${CMAKE_GENERATOR} STREQUAL "Visual Studio 14 2015 Win64") - ExternalProject_Add( ext_fftw3 - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/fftw-3.3.4-dll64.zip - URL_MD5 c4ec1e6d84e7a8b1cd61121d11d44ee4 - - INSTALL_DIR ${PREFIX_ext_fftw3} - CONFIGURE_COMMAND "" - BUILD_COMMAND ${CMAKE_COMMAND} -E echo deploying fftw3 64 binary - INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory /bin ${PREFIX_ext_fftw3}/bin - COMMAND ${CMAKE_COMMAND} -E copy_directory /lib ${PREFIX_ext_fftw3}/lib - COMMAND ${CMAKE_COMMAND} -E copy_directory /include ${PREFIX_ext_fftw3}/include - - UPDATE_COMMAND "" - ALWAYS 0 - ) - else() - ExternalProject_Add( ext_fftw3 - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/fftw-3.3.4-dll32.zip - URL_MD5 03754fe2a7fbaf983b0cc9a728e0a5b3 - - INSTALL_DIR ${PREFIX_ext_fftw3} - CONFIGURE_COMMAND "" - BUILD_COMMAND ${CMAKE_COMMAND} -E echo deploying fftw3 32 binary - INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory /bin ${PREFIX_ext_fftw3}/bin - COMMAND ${CMAKE_COMMAND} -E copy_directory /lib ${PREFIX_ext_fftw3}/lib - COMMAND ${CMAKE_COMMAND} -E copy_directory /include ${PREFIX_ext_fftw3}/include - - UPDATE_COMMAND "" - ALWAYS 0 - ) - endif() -elseif (MINGW) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - ExternalProject_Add( ext_fftw3 - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/fftw-3.3.4-dll64.zip - URL_MD5 c4ec1e6d84e7a8b1cd61121d11d44ee4 - - INSTALL_DIR ${PREFIX_ext_fftw3} - CONFIGURE_COMMAND "" - BUILD_COMMAND ${CMAKE_COMMAND} -E echo deploying fftw3 64-bit binary - INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory /bin ${PREFIX_ext_fftw3}/bin - COMMAND ${CMAKE_COMMAND} -E copy_directory /lib ${PREFIX_ext_fftw3}/lib - COMMAND ${CMAKE_COMMAND} -E copy_directory /include ${PREFIX_ext_fftw3}/include - - UPDATE_COMMAND "" - ALWAYS 0 - ) - else("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - ExternalProject_Add( ext_fftw3 - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/fftw-3.3.4-dll32.zip - URL_MD5 03754fe2a7fbaf983b0cc9a728e0a5b3 - - INSTALL_DIR ${PREFIX_ext_fftw3} - CONFIGURE_COMMAND "" - BUILD_COMMAND ${CMAKE_COMMAND} -E echo deploying fftw3 32-bit binary - INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory /bin ${PREFIX_ext_fftw3}/bin - COMMAND ${CMAKE_COMMAND} -E copy_directory /lib ${PREFIX_ext_fftw3}/lib - COMMAND ${CMAKE_COMMAND} -E copy_directory /include ${PREFIX_ext_fftw3}/include - - UPDATE_COMMAND "" - ALWAYS 0 - ) - endif("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") -else () -ExternalProject_Add( ext_fftw3 - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/fftw-3.3.4.tar.gz - URL_MD5 2edab8c06b24feeb3b82bbb3ebf3e7b3 - INSTALL_DIR ${PREFIX_ext_fftw3} - - CONFIGURE_COMMAND /configure --prefix=${PREFIX_ext_fftw3} ${GLOBAL_AUTOMAKE_PROFILE} --enable-static=false --enable-shared=yes - BUILD_COMMAND make - INSTALL_COMMAND make install - - UPDATE_COMMAND "" - ALWAYS 0 -) -endif () diff -Nru krita-3.1.4/3rdparty/ext_fftw3/fftw-3.2.2-20111221.diff krita-3.1.4+dfsg/3rdparty/ext_fftw3/fftw-3.2.2-20111221.diff --- krita-3.1.4/3rdparty/ext_fftw3/fftw-3.2.2-20111221.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_fftw3/fftw-3.2.2-20111221.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,2725 +0,0 @@ -diff -Nru fftw-3.2.2.orig/api/CMakeLists.txt fftw-3.2.2/api/CMakeLists.txt ---- fftw-3.2.2.orig/api/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/api/CMakeLists.txt 2011-12-21 11:36:18.165869700 +0100 -@@ -0,0 +1,41 @@ -+set(api_SRCS apiplan.c configure.c execute-dft-c2r.c -+execute-dft-r2c.c execute-dft.c execute-r2r.c execute-split-dft-c2r.c -+execute-split-dft-r2c.c execute-split-dft.c execute.c -+export-wisdom-to-file.c export-wisdom-to-string.c export-wisdom.c -+f77api.c flops.c forget-wisdom.c import-system-wisdom.c -+import-wisdom-from-file.c import-wisdom-from-string.c import-wisdom.c -+malloc.c map-r2r-kind.c mapflags.c mkprinter-file.c mktensor-iodims.c -+mktensor-rowmajor.c plan-dft-1d.c plan-dft-2d.c plan-dft-3d.c -+plan-dft-c2r-1d.c plan-dft-c2r-2d.c plan-dft-c2r-3d.c plan-dft-c2r.c -+plan-dft-r2c-1d.c plan-dft-r2c-2d.c plan-dft-r2c-3d.c plan-dft-r2c.c -+plan-dft.c plan-guru-dft-c2r.c plan-guru-dft-r2c.c plan-guru-dft.c -+plan-guru-r2r.c plan-guru-split-dft-c2r.c plan-guru-split-dft-r2c.c -+plan-guru-split-dft.c plan-many-dft-c2r.c plan-many-dft-r2c.c -+plan-many-dft.c plan-many-r2r.c plan-r2r-1d.c plan-r2r-2d.c -+plan-r2r-3d.c plan-r2r.c print-plan.c rdft2-pad.c the-planner.c -+version.c plan-guru64-dft-c2r.c -+plan-guru64-dft-r2c.c plan-guru64-dft.c plan-guru64-r2r.c -+plan-guru64-split-dft-c2r.c plan-guru64-split-dft-r2c.c -+plan-guru64-split-dft.c mktensor-iodims64.c -+) -+ -+if(BUILD_ALL_STATIC) -+ add_library(api STATIC ${api_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(api_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${api_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+ -+#BUILT_SOURCES = fftw3.f -+ -+#if MAINTAINER_MODE -+# -+# convert constants to F77 PARAMETER statements -+#fftw3.f: -+# rm -f $@ -+# perl -pe 's/([A-Z0-9_]+)=([0-9]+)/\n INTEGER \1\n PARAMETER (\1=\2)\n/g' $< |egrep 'PARAMETER|INTEGER' > $@ -+# perl -pe 's/#define +([A-Z0-9_]+) +\(([+-]?[0-9]+)U?\)/\n INTEGER \1\n PARAMETER (\1=\2)\n/g' $< |egrep 'PARAMETER|INTEGER' >> $@ -+# perl -pe 'if (/#define +([A-Z0-9_]+) +\(([0-9]+)U? *<< *([0-9]+)\)/) { print "\n INTEGER $$1\n PARAMETER ($$1=",$$2 << $$3,")\n"; }' $< |egrep 'PARAMETER|INTEGER' >> $@ -+# -+#endif # MAINTAINER_MODE -diff -Nru fftw-3.2.2.orig/CheckMingwVersion.cmake fftw-3.2.2/CheckMingwVersion.cmake ---- fftw-3.2.2.orig/CheckMingwVersion.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/CheckMingwVersion.cmake 2011-12-21 11:36:18.167869900 +0100 -@@ -0,0 +1,26 @@ -+# -+# check mingw compiler version -+# -+# Copyright (c) 2010, Ralf Habacker -+# -+# Redistribution and use is allowed according to the terms of the BSD license. -+# -+if (NOT MINGW32 AND NOT MINGW64) -+ exec_program( -+ ${CMAKE_C_COMPILER} -+ ARGS ${CMAKE_C_COMPILER_ARG1} -dumpmachine -+ OUTPUT_VARIABLE _machine -+ ) -+ if (_machine STREQUAL mingw32) -+ set (MINGW32 1) -+ message(STATUS "found mingw 32 bit compiler") -+ elseif (_machine STREQUAL i686-w64-mingw32) -+ set (MINGW32 1) -+ set (MINGW_W32 1) -+ message(STATUS "found mingw 64 bit compiler") -+ elseif (_machine STREQUAL x86_64-w64-mingw32) -+ set (MINGW64 1) -+ set (MINGW_W64 1) -+ message(STATUS "found mingw 64 bit compiler") -+ endif (_machine STREQUAL mingw32) -+endif (NOT MINGW32 AND NOT MINGW64) -diff -Nru fftw-3.2.2.orig/CMakeLists.txt fftw-3.2.2/CMakeLists.txt ---- fftw-3.2.2.orig/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/CMakeLists.txt 2011-12-21 12:21:50.225789400 +0100 -@@ -0,0 +1,123 @@ -+project(libfftw) -+ -+cmake_minimum_required(VERSION 2.6) -+ -+include(${CMAKE_SOURCE_DIR}/CheckMingwVersion.cmake) -+ -+option(DISABLE_FORTRAN "disable fortran wrappers" ON) -+option(FFTW_SINGLE "compile in single precision" OFF) -+option(FFTW_DOUBLE "compile in double precision" ON) -+option(FFTW_LDOUBLE "compile in long double precision" OFF) -+option(ENABLE_OPENMP "compile in openmp extensions" OFF) -+option(BUILD_ALL_STATIC "build each and every library as a small static library" OFF) -+option(BUILD_STATIC "build one static library" OFF) -+option(BUILD_BENCHMARKS "build benchmarks" ON) -+ -+add_definitions(-DHAVE_CONFIG_H) -+if(MSVC) -+ add_definitions(-D_CRT_SECURE_NO_WARNINGS -wd4700) -+endif(MSVC) -+ -+if(FFTW_SINGLE) -+ set(FFTW_DOUBLE OFF) -+ set(FFTW_LDOUBLE OFF) -+elseif(FFTW_DOUBLE) -+ set(FFTW_LDOUBLE OFF) -+endif(FFTW_SINGLE) -+ -+if(MINGW32) -+ add_definitions(-march=pentium4) -+endif(MINGW32) -+ -+if(ENABLE_OPENMP) -+ add_definitions(-openmp) -+endif(ENABLE_OPENMP) -+ -+set(PACKAGE "\"fftw\"") -+set(VERSION "\"3.2.2\"") -+set(PACKAGE_VERSION "${VERSION}") -+set(FFTW_CC "\"${CMAKE_C_COMPILER}\"") -+set(CODELET_OPTIM "\"\"") -+ -+set(fftw_SRCS) -+ -+include(ConfigureChecks.cmake) -+ -+macro(prepend_prefix outList) -+ FILE(RELATIVE_PATH prefix ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) -+ foreach(element ${${outList}}) -+ set(_outList ${_outList} ${prefix}/${element}) -+ endforeach(element ${${outList}}) -+ set(${outList} ${_outList}) -+endmacro(prepend_prefix outList) -+ -+include_directories( -+ ${CMAKE_CURRENT_SOURCE_DIR} -+ ${CMAKE_CURRENT_BINARY_DIR} -+ ${CMAKE_CURRENT_SOURCE_DIR}/kernel -+ ${CMAKE_CURRENT_SOURCE_DIR}/simd -+ ${CMAKE_CURRENT_SOURCE_DIR}/dft -+ ${CMAKE_CURRENT_SOURCE_DIR}/dft/scalar -+ ${CMAKE_CURRENT_SOURCE_DIR}/dft/scalar/codelets -+ ${CMAKE_CURRENT_BINARY_DIR}/dft/scalar/codelets -+ ${CMAKE_CURRENT_SOURCE_DIR}/dft/simd -+ ${CMAKE_CURRENT_SOURCE_DIR}/dft/simd/codelets -+ ${CMAKE_CURRENT_BINARY_DIR}/dft/simd/codelets -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft/scalar -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft/scalar/r2cb -+ ${CMAKE_CURRENT_BINARY_DIR}/rdft/scalar/r2cb -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft/scalar/r2cf -+ ${CMAKE_CURRENT_BINARY_DIR}/rdft/scalar/r2cf -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft/scalar/r2r -+ ${CMAKE_CURRENT_BINARY_DIR}/rdft/scalar/r2r -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft/simd -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft/simd/codelets -+ ${CMAKE_CURRENT_BINARY_DIR}/rdft/simd/codelets -+ ${CMAKE_CURRENT_SOURCE_DIR}/reodft -+ ${CMAKE_CURRENT_SOURCE_DIR}/api -+ ${CMAKE_CURRENT_SOURCE_DIR}/threads -+ ${CMAKE_CURRENT_SOURCE_DIR}/cell -+ ${CMAKE_CURRENT_SOURCE_DIR}/libbench2 -+ ${CMAKE_CURRENT_SOURCE_DIR}/tests -+ ${CMAKE_CURRENT_SOURCE_DIR}/tools -+) -+add_subdirectory(kernel) -+add_subdirectory(simd) -+add_subdirectory(dft) -+add_subdirectory(rdft) -+add_subdirectory(reodft) -+add_subdirectory(api) -+add_subdirectory(threads) -+ -+if(NOT BUILD_ALL_STATIC) -+ if(NOT BUILD_STATIC) -+ set(_shared SHARED) -+ set(fftw_SRCS ${fftw_SRCS} fftw.def) -+ else(NOT BUILD_STATIC) -+ set(_shared STATIC) -+ endif(NOT BUILD_STATIC) -+ -+ if(FFTW_SINGLE) -+ set(FFTW_OUTPUT_NAME fftw3f-3) -+ elseif(FFTW_DOUBLE) -+ set(FFTW_OUTPUT_NAME fftw3-3) -+ elseif(FFTW_LDOUBLE) -+ set(FFTW_OUTPUT_NAME fftw3l-3) -+ endif(FFTW_SINGLE) -+ -+ add_library(fftw ${_shared} ${fftw_SRCS}) -+ set_target_properties(fftw PROPERTIES DEFINE_SYMBOL DLL_EXPORT -+ OUTPUT_NAME ${FFTW_OUTPUT_NAME}) -+ install(TARGETS fftw RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+ install(FILES api/fftw3.h api/fftw3.f DESTINATION include) -+endif(NOT BUILD_ALL_STATIC) -+ -+if(BUILD_BENCHMARKS) -+ add_subdirectory(libbench2) -+ add_subdirectory(tests) -+endif(BUILD_BENCHMARKS) -+#add_subdirectory(tools) -diff -Nru fftw-3.2.2.orig/config.h.cmake fftw-3.2.2/config.h.cmake ---- fftw-3.2.2.orig/config.h.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/config.h.cmake 2011-12-21 11:36:18.172870400 +0100 -@@ -0,0 +1,380 @@ -+/* config.h.in. Generated from configure.ac by autoheader. */ -+ -+/* Define to compile in long-double precision. */ -+#cmakedefine BENCHFFT_LDOUBLE -+ -+/* Define to compile in single precision. */ -+#cmakedefine BENCHFFT_SINGLE -+ -+/* extra CFLAGS for codelets */ -+#cmakedefine CODELET_OPTIM @CODELET_OPTIM@ -+ -+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP -+ systems. This function is required for `alloca.c' support on those systems. -+ */ -+#cmakedefine CRAY_STACKSEG_END -+ -+/* Define to 1 if using `alloca.c'. */ -+#cmakedefine C_ALLOCA -+ -+/* Define to disable Fortran wrappers. */ -+#cmakedefine DISABLE_FORTRAN -+ -+/* Define to dummy `main' function (if any) required to link to the Fortran -+ libraries. */ -+#cmakedefine F77_DUMMY_MAIN -+ -+/* Define to a macro mangling the given C identifier (in lower and upper -+ case), which must not contain underscores, for linking with Fortran. */ -+#cmakedefine F77_FUNC -+ -+/* As F77_FUNC, but for C identifiers containing underscores. */ -+#cmakedefine F77_FUNC_ -+ -+/* Define if F77_FUNC and F77_FUNC_ are equivalent. */ -+#cmakedefine F77_FUNC_EQUIV -+ -+/* Define if F77 and FC dummy `main' functions are identical. */ -+#cmakedefine FC_DUMMY_MAIN_EQ_F77 -+ -+/* C compiler name and flags */ -+#cmakedefine FFTW_CC @FFTW_CC@ -+ -+/* Define to enable extra FFTW debugging code. */ -+#cmakedefine FFTW_DEBUG -+ -+/* Define to enable alignment debugging hacks. */ -+#cmakedefine FFTW_DEBUG_ALIGNMENT -+ -+/* Define to enable debugging malloc. */ -+#cmakedefine FFTW_DEBUG_MALLOC -+ -+/* Define to enable the use of alloca(). */ -+#cmakedefine FFTW_ENABLE_ALLOCA -+ -+/* Define to compile in long-double precision. */ -+#cmakedefine FFTW_LDOUBLE -+ -+/* Define to compile in single precision. */ -+#cmakedefine FFTW_SINGLE -+ -+/* Define to 1 if you have the `abort' function. */ -+#cmakedefine HAVE_ABORT @HAVE_ABORT@ -+ -+/* Define to 1 if you have `alloca', as a function or macro. */ -+#cmakedefine HAVE_ALLOCA @HAVE_ALLOCA@ -+ -+/* Define to 1 if you have and it should be used (not on Ultrix). -+ */ -+#cmakedefine HAVE_ALLOCA_H @HAVE_ALLOCA_H@ -+ -+/* Define to enable Altivec optimizations. */ -+#cmakedefine HAVE_ALTIVEC @HAVE_ALTIVEC@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_ALTIVEC_H @HAVE_ALTIVEC_H@ -+ -+/* Define to 1 if you have the `BSDgettimeofday' function. */ -+#cmakedefine HAVE_BSDGETTIMEOFDAY @HAVE_BSDGETTIMEOFDAY@ -+ -+/* Define to enable optimizations for the Cell Broadband Engine */ -+#cmakedefine HAVE_CELL @HAVE_CELL@ -+ -+/* Define to 1 if you have the `clock_gettime' function. */ -+#cmakedefine HAVE_CLOCK_GETTIME @HAVE_CLOCK_GETTIME@ -+ -+/* Define to 1 if you have the `cosl' function. */ -+#cmakedefine HAVE_COSL @HAVE_COSL@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_C_ASM_H @HAVE_C_ASM_H@ -+ -+/* Define to 1 if you have the declaration of `cosl', and to 0 if you don't. -+ */ -+#cmakedefine HAVE_DECL_COSL @HAVE_DECL_COSL@ -+ -+/* Define to 1 if you have the declaration of `drand48', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_DRAND48 @HAVE_DECL_DRAND48@ -+ -+/* Define to 1 if you have the declaration of `memalign', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_MEMALIGN @HAVE_DECL_MEMALIGN@ -+ -+/* Define to 1 if you have the declaration of `posix_memalign', and to 0 if -+ you don't. */ -+#cmakedefine HAVE_DECL_POSIX_MEMALIGN @HAVE_DECL_POSIX_MEMALIGN@ -+ -+/* Define to 1 if you have the declaration of `sinl', and to 0 if you don't. -+ */ -+#cmakedefine HAVE_DECL_SINL @HAVE_DECL_SINL@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_DLFCN_H @HAVE_DLFCN_H@ -+ -+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ -+#cmakedefine HAVE_DOPRNT @HAVE_DOPRNT@ -+ -+/* Define to 1 if you have the `drand48' function. */ -+#cmakedefine HAVE_DRAND48 @HAVE_DRAND48@ -+ -+/* Define if you have a machine with fused multiply-add */ -+#cmakedefine HAVE_FMA @HAVE_FMA@ -+ -+/* Define to 1 if you have the `gethrtime' function. */ -+#cmakedefine HAVE_GETHRTIME @HAVE_GETHRTIME@ -+ -+/* Define to 1 if you have the `gettimeofday' function. */ -+#cmakedefine HAVE_GETTIMEOFDAY @HAVE_GETTIMEOFDAY@ -+ -+/* Define to 1 if hrtime_t is defined in */ -+#cmakedefine HAVE_HRTIME_T @HAVE_HRTIME_T@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_INTRINSICS_H @HAVE_INTRINSICS_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_INTTYPES_H @HAVE_INTTYPES_H@ -+ -+/* Define if the isnan() function/macro is available. */ -+#cmakedefine HAVE_ISNAN @HAVE_ISNAN@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_LIBINTL_H @HAVE_LIBINTL_H@ -+ -+/* Define to 1 if you have the `m' library (-lm). */ -+#cmakedefine HAVE_LIBM @HAVE_LIBM@ -+ -+/* Define to 1 if you have the `spe' library (-lspe). */ -+#cmakedefine HAVE_LIBSPE @HAVE_LIBSPE@ -+ -+/* Define to 1 if you have the `spe2' library (-lspe2). */ -+#cmakedefine HAVE_LIBSPE2 @HAVE_LIBSPE2@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_LIMITS_H @HAVE_LIMITS_H@ -+ -+/* Define to 1 if the compiler supports `long double' */ -+#cmakedefine HAVE_LONG_DOUBLE @HAVE_LONG_DOUBLE@ -+ -+/* Define to 1 if you have the `mach_absolute_time' function. */ -+#cmakedefine HAVE_MACH_ABSOLUTE_TIME @HAVE_MACH_ABSOLUTE_TIME@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MACH_MACH_TIME_H @HAVE_MACH_MACH_TIME_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MALLOC_H @HAVE_MALLOC_H@ -+ -+/* Define to 1 if you have the `memalign' function. */ -+#cmakedefine HAVE_MEMALIGN @HAVE_MEMALIGN@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MEMORY_H @HAVE_MEMORY_H@ -+ -+/* Define to 1 if you have the `memset' function. */ -+#cmakedefine HAVE_MEMSET @HAVE_MEMSET@ -+ -+/* Define to enable MIPS paired-single optimizations. */ -+#cmakedefine HAVE_MIPS_PS @HAVE_MIPS_PS@ -+ -+/* Define to enable use of MIPS ZBus cycle-counter. */ -+#cmakedefine HAVE_MIPS_ZBUS_TIMER @HAVE_MIPS_ZBUS_TIMER@ -+ -+/* Define if you have the MPI library. */ -+#cmakedefine HAVE_MPI @HAVE_MPI@ -+ -+/* Define to enable OpenMP */ -+#cmakedefine HAVE_OPENMP @HAVE_OPENMP@ -+ -+/* Define to 1 if you have the `posix_memalign' function. */ -+#cmakedefine HAVE_POSIX_MEMALIGN @HAVE_POSIX_MEMALIGN@ -+ -+/* Define if you have POSIX threads libraries and header files. */ -+#cmakedefine HAVE_PTHREAD @HAVE_PTHREAD@ -+ -+/* Define to 1 if you have the `read_real_time' function. */ -+#cmakedefine HAVE_READ_REAL_TIME @HAVE_READ_REAL_TIME@ -+ -+/* Define to 1 if you have the `sinl' function. */ -+#cmakedefine HAVE_SINL @HAVE_SINL@ -+ -+/* Define to 1 if you have the `snprintf' function. */ -+#cmakedefine HAVE_SNPRINTF @HAVE_SNPRINTF@ -+ -+/* Define to 1 if you have the `sqrt' function. */ -+#cmakedefine HAVE_SQRT @HAVE_SQRT@ -+ -+/* Define to enable SSE optimizations. */ -+#cmakedefine HAVE_SSE @HAVE_SSE@ -+ -+/* Define to enable SSE2 optimizations. */ -+#cmakedefine HAVE_SSE2 @HAVE_SSE2@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDDEF_H @HAVE_STDDEF_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDINT_H @HAVE_STDINT_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDLIB_H @HAVE_STDLIB_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STRINGS_H @HAVE_STRINGS_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STRING_H @HAVE_STRING_H@ -+ -+/* Define to 1 if you have the `sysctl' function. */ -+#cmakedefine HAVE_SYSCTL @HAVE_SYSCTL@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_STAT_H @HAVE_SYS_STAT_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_SYSCTL_H @HAVE_SYS_SYSCTL_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TIME_H @HAVE_SYS_TIME_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TYPES_H @HAVE_SYS_TYPES_H@ -+ -+/* Define to 1 if you have the `tanl' function. */ -+#cmakedefine HAVE_TANL @HAVE_TANL@ -+ -+/* Define if we have a threads library. */ -+#cmakedefine HAVE_THREADS @HAVE_THREADS@ -+ -+/* Define to 1 if you have the `time_base_to_time' function. */ -+#cmakedefine HAVE_TIME_BASE_TO_TIME @HAVE_TIME_BASE_TO_TIME@ -+ -+/* Define to 1 if the system has the type `uintptr_t'. */ -+#cmakedefine HAVE_UINTPTR_T @HAVE_UINTPTR_T@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_UNISTD_H @HAVE_UNISTD_H@ -+ -+/* Define to 1 if you have the `vprintf' function. */ -+#cmakedefine HAVE_VPRINTF @HAVE_VPRINTF@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_XMMINTRIN_H @HAVE_XMMINTRIN_H@ -+ -+/* Define to 1 if you have the `_mm_free' function. */ -+#cmakedefine HAVE__MM_FREE @HAVE__MM_FREE@ -+ -+/* Define to 1 if you have the `_mm_malloc' function. */ -+#cmakedefine HAVE__MM_MALLOC @HAVE__MM_MALLOC@ -+ -+/* Define if you have the UNICOS _rtc() intrinsic. */ -+#cmakedefine HAVE__RTC @HAVE__RTC@ -+ -+/* Define to the sub-directory in which libtool stores uninstalled libraries. -+ */ -+#cmakedefine LT_OBJDIR -+ -+/* Name of package */ -+#cmakedefine PACKAGE @PACKAGE@ -+ -+/* Define to the address where bug reports for this package should be sent. */ -+#cmakedefine PACKAGE_BUGREPORT -+ -+/* Define to the full name of this package. */ -+#cmakedefine PACKAGE_NAME -+ -+/* Define to the full name and version of this package. */ -+#cmakedefine PACKAGE_STRING -+ -+/* Define to the one symbol short name of this package. */ -+#cmakedefine PACKAGE_TARNAME -+ -+/* Define to the version of this package. */ -+#cmakedefine PACKAGE_VERSION @PACKAGE_VERSION@ -+ -+/* Define to necessary symbol if this constant uses a non-standard name on -+ your system. */ -+#cmakedefine PTHREAD_CREATE_JOINABLE -+ -+/* The size of `double', as computed by sizeof. */ -+#cmakedefine SIZEOF_DOUBLE @SIZEOF_DOUBLE@ -+ -+/* The size of `float', as computed by sizeof. */ -+#cmakedefine SIZEOF_FLOAT @SIZEOF_FLOAT@ -+ -+/* The size of `int', as computed by sizeof. */ -+#cmakedefine SIZEOF_INT @SIZEOF_INT@ -+ -+/* The size of `long', as computed by sizeof. */ -+#cmakedefine SIZEOF_LONG @SIZEOF_LONG@ -+ -+/* The size of `long long', as computed by sizeof. */ -+#cmakedefine SIZEOF_LONG_LONG @SIZEOF_LONG_LONG@ -+ -+/* The size of `ptrdiff_t', as computed by sizeof. */ -+#cmakedefine SIZEOF_PTRDIFF_T @SIZEOF_PTRDIFF_T@ -+ -+/* The size of `size_t', as computed by sizeof. */ -+#cmakedefine SIZEOF_SIZE_T @SIZEOF_SIZE_T@ -+ -+/* The size of `unsigned int', as computed by sizeof. */ -+#cmakedefine SIZEOF_UNSIGNED_INT @SIZEOF_UNSIGNED_INT@ -+ -+/* The size of `unsigned long', as computed by sizeof. */ -+#cmakedefine SIZEOF_UNSIGNED_LONG @SIZEOF_UNSIGNED_LONG@ -+ -+/* The size of `unsigned long long', as computed by sizeof. */ -+#cmakedefine SIZEOF_UNSIGNED_LONG_LONG @SIZEOF_UNSIGNED_LONG_LONG@ -+ -+/* The size of `void *', as computed by sizeof. */ -+#cmakedefine SIZEOF_VOID_P @SIZEOF_VOID_P@ -+ -+/* If using the C implementation of alloca, define if you know the -+ direction of stack growth for your system; otherwise it will be -+ automatically deduced at runtime. -+ STACK_DIRECTION > 0 => grows toward higher addresses -+ STACK_DIRECTION < 0 => grows toward lower addresses -+ STACK_DIRECTION = 0 => direction of growth unknown */ -+#cmakedefine STACK_DIRECTION -+ -+/* Define to 1 if you have the ANSI C header files. */ -+#cmakedefine STDC_HEADERS -+ -+/* Define to 1 if you can safely include both and . */ -+#cmakedefine TIME_WITH_SYS_TIME -+ -+/* Define if we have and are using OpenMP multithreading directives */ -+#cmakedefine USING_OPENMP_THREADS -+ -+/* Define if we have and are using POSIX threads. */ -+#cmakedefine USING_POSIX_THREADS -+ -+/* Version number of package */ -+#cmakedefine VERSION @VERSION@ -+ -+/* Use common Windows Fortran mangling styles for the Fortran interfaces. */ -+#cmakedefine WINDOWS_F77_MANGLING -+ -+/* Include g77-compatible wrappers in addition to any other Fortran wrappers. -+ */ -+#cmakedefine WITH_G77_WRAPPERS -+ -+/* Use our own 16-byte aligned malloc routine; mainly helpful for Windows -+ systems lacking aligned allocation system-library routines. */ -+#cmakedefine WITH_OUR_MALLOC16 -+ -+/* Use low-precision timers, making planner very slow */ -+#cmakedefine WITH_SLOW_TIMER -+ -+/* Define to empty if `const' does not conform to ANSI C. */ -+#cmakedefine const -+ -+/* Define to `__inline__' or `__inline' if that's what the C compiler -+ calls it, or to nothing if 'inline' is not supported under any name. */ -+#ifndef __cplusplus -+#cmakedefine inline @inline@ -+#endif -+ -+/* Define to `unsigned int' if does not define. */ -+#cmakedefine size_t -diff -Nru fftw-3.2.2.orig/ConfigureChecks.cmake fftw-3.2.2/ConfigureChecks.cmake ---- fftw-3.2.2.orig/ConfigureChecks.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/ConfigureChecks.cmake 2011-12-21 12:05:01.943536000 +0100 -@@ -0,0 +1,273 @@ -+if(MSVC) -+ set(inline __inline) -+endif(MSVC) -+set(HAVE_THREADS 1) -+set(WITH_OUR_MALLOC16 1) -+set(STDC_HEADERS 1) -+set(HAVE_UINTPTR_T 1) -+set(HAVE_UINTPTR_T 1) -+set(HAVE_SIMD 1) -+set(HAVE_LONG_DOUBLE 1) -+set(HAVE_OPENMP ${ENABLE_OPENMP}) -+ -+if(FFTW_SINGLE) -+ set(HAVE_SSE 1) -+elseif(FFTW_DOUBLE) -+ set(HAVE_SSE2 1) # only works in double precision -+endif(FFTW_SINGLE) -+ -+if(FFTW_SINGLE) -+ set(FFTW_SYMBOL_PREFIX "fftwf_") -+elseif(FFTW_DOUBLE) -+ set(FFTW_SYMBOL_PREFIX "fftw_") -+elseif(FFTW_LDOUBLE) -+ set(FFTW_SYMBOL_PREFIX "fftwl_") -+endif(FFTW_SINGLE) -+ -+if(BUILD_BENCHMARKS) -+ set(BENCHFFT_SINGLE ${FFTW_SINGLE}) -+ set(BENCHFFT_DOUBLE ${FFTW_DOUBLE}) -+ set(BENCHFFT_LDOUBLE ${FFTW_LDOUBLE}) -+endif(BUILD_BENCHMARKS) -+#/* extra CFLAGS for codelets */ -+#cmakedefine CODELET_OPTIM @CODELET_OPTIM@ -+ -+include(CheckIncludeFiles) -+include(CheckSymbolExists) -+include(CheckTypeSize) -+ -+check_include_files(alloca.h HAVE_ALLOCA_H) -+check_include_files(stdlib.h HAVE_STDLIB_H) -+check_include_files(stdint.h HAVE_STDINT_H) -+check_include_files(stddef.h HAVE_STDDEF_H) -+check_include_files(altivec.h HAVE_ALTIVEC_H) -+check_include_files(c_asm.h HAVE_C_ASM_H) -+check_include_files(dlfcn.h HAVE_DLFCN_H) -+check_include_files(intrinsics.h HAVE_INTRINSICS_H) -+check_include_files(inttypes.h HAVE_INTTYPES_H) -+check_include_files(libintl.h HAVE_LIBINTL_H) -+check_include_files(limits.h HAVE_LIMITS_H) -+check_include_files(mach/mach_time.h HAVE_MACH_MACH_TIME_H) -+check_include_files(malloc.h HAVE_MALLOC_H) -+check_include_files(memory.h HAVE_MEMORY_H) -+check_include_files(stddef.h HAVE_STDDEF_H) -+check_include_files(stdint.h HAVE_STDINT_H) -+check_include_files(stdlib.h HAVE_STDLIB_H) -+check_include_files(strings.h HAVE_STRINGS_H) -+check_include_files(string.h HAVE_STRING_H) -+check_include_files(sys/stat.h HAVE_SYS_STAT_H) -+check_include_files(sys/sysctl.h HAVE_SYS_SYSCTL_H) -+check_include_files(sys/time.h HAVE_SYS_TIME_H) -+check_include_files(sys/types.h HAVE_SYS_TYPES_H) -+check_include_files(unistd.h HAVE_UNISTD_H) -+check_include_files(xmmintrin.h HAVE_XMMINTRIN_H) -+ -+check_type_size("double" SIZEOF_DOUBLE) -+check_type_size("float" SIZEOF_FLOAT) -+check_type_size("int" SIZEOF_INT) -+check_type_size("long" SIZEOF_LONG) -+check_type_size("long long" SIZEOF_LONG_LONG) -+check_type_size("ptrdiff_t" SIZEOF_PTRDIFF_T) -+check_type_size("size_t" SIZEOF_SIZE_T) -+check_type_size("unsigned int" SIZEOF_UNSIGNED_INT) -+check_type_size("unsigned long" SIZEOF_UNSIGNED_LONG) -+check_type_size("unsigned long long" SIZEOF_UNSIGNED_LONG_LONG) -+check_type_size("void*" SIZEOF_VOID_P) -+ -+###################################################################################### -+ -+#/* Define to enable extra FFTW debugging code. */ -+#cmakedefine FFTW_DEBUG -+ -+#/* Define to enable alignment debugging hacks. */ -+#cmakedefine FFTW_DEBUG_ALIGNMENT -+ -+#/* Define to enable debugging malloc. */ -+#cmakedefine FFTW_DEBUG_MALLOC -+ -+ -+#/* Define to 1 if using `alloca.c'. */ -+#cmakedefine C_ALLOCA -+ -+#/* Define to enable the use of alloca(). */ -+#cmakedefine FFTW_ENABLE_ALLOCA -+ -+#/* Define to 1 if you have `alloca', as a function or macro. */ -+#cmakedefine HAVE_ALLOCA -+ -+#/* Define to 1 if you have the `abort' function. */ -+#cmakedefine HAVE_ABORT -+ -+#/* Define to enable Altivec optimizations. */ -+#cmakedefine HAVE_ALTIVEC -+ -+#/* Define to 1 if you have the `BSDgettimeofday' function. */ -+#cmakedefine HAVE_BSDGETTIMEOFDAY -+ -+#/* Define to enable optimizations for the Cell Broadband Engine */ -+#cmakedefine HAVE_CELL -+ -+#/* Define to 1 if you have the `clock_gettime' function. */ -+#cmakedefine HAVE_CLOCK_GETTIME -+ -+#/* Define to 1 if you have the `cosl' function. */ -+#cmakedefine HAVE_COSL -+ -+#/* Define to 1 if you have the declaration of `cosl', and to 0 if you don't. -+# */ -+#cmakedefine HAVE_DECL_COSL -+ -+#/* Define to 1 if you have the declaration of `drand48', and to 0 if you -+# don't. */ -+#cmakedefine HAVE_DECL_DRAND48 -+ -+#/* Define to 1 if you have the declaration of `memalign', and to 0 if you -+# don't. */ -+#cmakedefine HAVE_DECL_MEMALIGN -+ -+#/* Define to 1 if you have the declaration of `posix_memalign', and to 0 if -+# you don't. */ -+#cmakedefine HAVE_DECL_POSIX_MEMALIGN -+ -+#/* Define to 1 if you have the declaration of `sinl', and to 0 if you don't. -+# */ -+#cmakedefine HAVE_DECL_SINL -+ -+#/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ -+#cmakedefine HAVE_DOPRNT -+ -+#/* Define to 1 if you have the `drand48' function. */ -+#cmakedefine HAVE_DRAND48 -+ -+#/* Define if you have a machine with fused multiply-add */ -+#cmakedefine HAVE_FMA -+ -+#/* Define to 1 if you have the `gethrtime' function. */ -+#cmakedefine HAVE_GETHRTIME -+ -+#/* Define to 1 if you have the `gettimeofday' function. */ -+#cmakedefine HAVE_GETTIMEOFDAY -+ -+#/* Define to 1 if hrtime_t is defined in */ -+#cmakedefine HAVE_HRTIME_T -+ -+#/* Define if the isnan() function/macro is available. */ -+#cmakedefine HAVE_ISNAN -+ -+#/* Define to 1 if you have the `m' library (-lm). */ -+#cmakedefine HAVE_LIBM -+ -+#/* Define to 1 if you have the `spe' library (-lspe). */ -+#cmakedefine HAVE_LIBSPE -+ -+#/* Define to 1 if you have the `spe2' library (-lspe2). */ -+#cmakedefine HAVE_LIBSPE2 -+ -+#/* Define to 1 if you have the `mach_absolute_time' function. */ -+#cmakedefine HAVE_MACH_ABSOLUTE_TIME -+ -+#/* Define to 1 if you have the `memalign' function. */ -+#cmakedefine HAVE_MEMALIGN -+ -+#/* Define to 1 if you have the `memset' function. */ -+#cmakedefine HAVE_MEMSET -+ -+#/* Define to enable MIPS paired-single optimizations. */ -+#cmakedefine HAVE_MIPS_PS -+ -+#/* Define to enable use of MIPS ZBus cycle-counter. */ -+#cmakedefine HAVE_MIPS_ZBUS_TIMER -+ -+#/* Define if you have the MPI library. */ -+#cmakedefine HAVE_MPI -+ -+#/* Define if we have and are using OpenMP multithreading directives */ -+#cmakedefine USING_OPENMP_THREADS -+ -+#/* Define to 1 if you have the `posix_memalign' function. */ -+#cmakedefine HAVE_POSIX_MEMALIGN -+ -+#/* Define if you have POSIX threads libraries and header files. */ -+#cmakedefine HAVE_PTHREAD -+ -+#/* Define to 1 if you have the `read_real_time' function. */ -+#cmakedefine HAVE_READ_REAL_TIME -+ -+#/* Define to 1 if you have the `sinl' function. */ -+#cmakedefine HAVE_SINL -+ -+#/* Define to 1 if you have the `snprintf' function. */ -+#cmakedefine HAVE_SNPRINTF -+ -+#/* Define to 1 if you have the `sqrt' function. */ -+#cmakedefine HAVE_SQRT -+ -+#/* Define to enable SSE optimizations. */ -+#cmakedefine HAVE_SSE @HAVE_SSE@ -+ -+#/* Define to enable SSE2 optimizations. */ -+#cmakedefine HAVE_SSE2 @HAVE_SSE2@ -+ -+#/* Define to 1 if you have the `sysctl' function. */ -+#cmakedefine HAVE_SYSCTL -+ -+#/* Define to 1 if you have the `tanl' function. */ -+#cmakedefine HAVE_TANL -+ -+#/* Define if we have a threads library. */ -+#cmakedefine HAVE_THREADS -+ -+#/* Define to 1 if you have the `time_base_to_time' function. */ -+#cmakedefine HAVE_TIME_BASE_TO_TIME -+ -+#/* Define to 1 if the system has the type `uintptr_t'. */ -+#cmakedefine HAVE_UINTPTR_T -+ -+#/* Define to 1 if you have the `vprintf' function. */ -+#cmakedefine HAVE_VPRINTF -+ -+#/* Define to 1 if you have the `_mm_free' function. */ -+#cmakedefine HAVE__MM_FREE -+ -+#/* Define to 1 if you have the `_mm_malloc' function. */ -+#cmakedefine HAVE__MM_MALLOC -+ -+#/* Define if you have the UNICOS _rtc() intrinsic. */ -+#cmakedefine HAVE__RTC -+ -+#/* Define to necessary symbol if this constant uses a non-standard name on -+# your system. */ -+#cmakedefine PTHREAD_CREATE_JOINABLE -+ -+#/* If using the C implementation of alloca, define if you know the -+# direction of stack growth for your system; otherwise it will be -+# automatically deduced at runtime. -+# STACK_DIRECTION > 0 => grows toward higher addresses -+# STACK_DIRECTION < 0 => grows toward lower addresses -+# STACK_DIRECTION = 0 => direction of growth unknown */ -+#cmakedefine STACK_DIRECTION -+ -+#/* Define to 1 if you can safely include both and . */ -+#cmakedefine TIME_WITH_SYS_TIME -+ -+########################################################################## -+# stuff I don't know what to do with: -+#/* Use low-precision timers, making planner very slow */ -+#cmakedefine WITH_SLOW_TIMER -+#/* Define if we have and are using POSIX threads. */ -+#cmakedefine USING_POSIX_THREADS -+ -+# Fortran stuff: not implemented -+#cmakedefine DISABLE_FORTRAN -+#cmakedefine F77_DUMMY_MAIN -+#cmakedefine F77_FUNC -+#cmakedefine F77_FUNC_ -+#cmakedefine F77_FUNC_EQUIV -+#cmakedefine FC_DUMMY_MAIN_EQ_F77 -+#cmakedefine WINDOWS_F77_MANGLING -+#cmakedefine WITH_G77_WRAPPERS -+ -+ -+ -+configure_file(config.h.cmake config.h) -+configure_file(fftw.def.cmake fftw.def) -diff -Nru fftw-3.2.2.orig/dft/CMakeLists.txt fftw-3.2.2/dft/CMakeLists.txt ---- fftw-3.2.2.orig/dft/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/dft/CMakeLists.txt 2011-12-21 11:36:18.175870700 +0100 -@@ -0,0 +1,19 @@ -+#SUBDIRS = scalar simd -+add_subdirectory(scalar) -+add_subdirectory(simd) -+ -+# pkgincludedir = $(includedir)/fftw3@PREC_SUFFIX@ -+# pkginclude_HEADERS = codelet-dft.h dft.h -+ -+set(dft_SRCS bluestein.c buffered.c conf.c ct.c dftw-direct.c -+dftw-directsq.c dftw-generic.c dftw-genericbuf.c direct.c generic.c -+indirect.c indirect-transpose.c kdft-dif.c kdft-difsq.c kdft-dit.c -+kdft.c nop.c plan.c problem.c rader.c rank-geq2.c solve.c vrank-geq1.c -+zero.c) -+ -+if(BUILD_ALL_STATIC) -+ add_library(dft STATIC ${dft_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(dft_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${dft_SRCS} ${_fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff -Nru fftw-3.2.2.orig/dft/scalar/CMakeLists.txt fftw-3.2.2/dft/scalar/CMakeLists.txt ---- fftw-3.2.2.orig/dft/scalar/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/dft/scalar/CMakeLists.txt 2011-12-21 11:36:18.177870900 +0100 -@@ -0,0 +1,10 @@ -+add_subdirectory(codelets) -+ -+set(dft_scalar_SRCS ${dft_scalar_SRCS} n.c t.c) -+ -+if(BUILD_ALL_STATIC) -+ add_library(dft_scalar STATIC ${dft_scalar_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(dft_scalar_SRCS) -+ set(_fftw_SRCS ${_fftw_SRCS} ${dft_scalar_SRCS} ${__fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff -Nru fftw-3.2.2.orig/dft/scalar/codelets/CMakeLists.txt fftw-3.2.2/dft/scalar/codelets/CMakeLists.txt ---- fftw-3.2.2.orig/dft/scalar/codelets/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/dft/scalar/codelets/CMakeLists.txt 2011-12-21 11:36:18.179871100 +0100 -@@ -0,0 +1,113 @@ -+# This Makefile.am specifies a set of codelets, efficient transforms -+# of small sizes, that are used as building blocks (kernels) by FFTW -+# to build up large transforms, as well as the options for generating -+# and compiling them. -+ -+# You can customize FFTW for special needs, e.g. to handle certain -+# sizes more efficiently, by adding new codelets to the lists of those -+# included by default. If you change the list of codelets, any new -+# ones you added will be automatically generated when you run the -+# bootstrap script (see "Generating your own code" in the FFTW -+# manual). -+ -+########################################################################### -+ -+########################################################################### -+# n1_ is a hard-coded FFT of size (base cases of FFT recursion) -+set(N1 n1_2.c n1_3.c n1_4.c n1_5.c n1_6.c n1_7.c n1_8.c n1_9.c n1_10.c -+n1_11.c n1_12.c n1_13.c n1_14.c n1_15.c n1_16.c n1_32.c n1_64.c -+n1_20.c n1_25.c # n1_30.c n1_40.c n1_50.c -+) -+ -+########################################################################### -+# t1_ is a "twiddle" FFT of size , implementing a radix-r DIT step -+set(T1 t1_2.c t1_3.c t1_4.c t1_5.c t1_6.c t1_7.c t1_8.c t1_9.c -+t1_10.c t1_12.c t1_15.c t1_16.c t1_32.c t1_64.c -+t1_20.c t1_25.c # t1_30.c t1_40.c t1_50.c -+) -+ -+# t2_ is also a twiddle FFT, but instead of using a complete lookup table -+# of trig. functions, it partially generates the trig. values on the fly -+# (this is faster for large sizes). -+set(T2 t2_4.c t2_8.c t2_16.c t2_32.c t2_64.c -+ t2_5.c t2_10.c t2_20.c t2_25.c -+) -+ -+########################################################################### -+# The F (DIF) codelets are used for a kind of in-place transform algorithm, -+# but the planner seems to never (or hardly ever) use them on the machines -+# we have access to, preferring the Q codelets and the use of buffers -+# for sub-transforms. So, we comment them out, at least for now. -+ -+# f1_ is a "twiddle" FFT of size , implementing a radix-r DIF step -+#F1 = # f1_2.c f1_3.c f1_4.c f1_5.c f1_6.c f1_7.c f1_8.c f1_9.c f1_10.c f1_12.c f1_15.c f1_16.c f1_32.c f1_64.c -+ -+# like f1, but partially generates its trig. table on the fly -+#F2 = # f2_4.c f2_8.c f2_16.c f2_32.c f2_64.c -+ -+########################################################################### -+# q1_ is twiddle FFTs of size (DIF step), where the output is -+# transposed. This is used for in-place transposes in sizes that are -+# divisible by ^2. These codelets have size ~ ^2, so you should -+# probably not use bigger than 8 or so. -+set(Q1 q1_2.c q1_4.c q1_8.c q1_3.c q1_5.c q1_6.c) -+ -+########################################################################### -+set(ALL_CODELETS ${N1} ${T1} ${T2} ${F1} ${F2} ${Q1}) -+ -+include(${CMAKE_SOURCE_DIR}/support/codelets.cmake) -+ -+set(SOLVTAB_NAME "X(solvtab_dft_standard)") -+ -+set(CODLIST ${CMAKE_CURRENT_BINARY_DIR}/codlist.c) -+set(CODELET_NAME codelet_) -+ -+write_codelet_list(${CODLIST} ${CODELET_NAME} ${SOLVTAB_NAME} ${ALL_CODELETS}) -+ -+set(dft_scalar_codelets_SRCS ${ALL_CODELETS}) -+ -+if(BUILD_ALL_STATIC) -+ add_library(dft_scalar_codelets STATIC ${dft_scalar_codelets_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(dft_scalar_codelets_SRCS) -+ set(__fftw_SRCS ${__fftw_SRCS} ${dft_scalar_codelets_SRCS} ${CODLIST} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+# this is old source code which can be changed later -+# only delete codlist.c in maintainer-mode, since it is included in the dist -+# FIXME: is there a way to delete in 'make clean' only when builddir != srcdir? -+#maintainer-clean-local: -+# rm -f $(CODLIST) -+ -+#if MAINTAINER_MODE -+#FLAGS_N1=$(DFT_FLAGS_COMMON) -+#FLAGS_T1=$(DFT_FLAGS_COMMON) -+#FLAGS_T2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+#FLAGS_F1=$(DFT_FLAGS_COMMON) -+#FLAGS_F2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+#FLAGS_Q1=$(DFT_FLAGS_COMMON) -reload-twiddle -+#FLAGS_Q2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+# -+#n1_%.c: $(CODELET_DEPS) $(GEN_NOTW) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW) $(FLAGS_N1) -n $* -name n1_$* -include "n.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_T1) -n $* -name t1_$* -include "t.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t2_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_T2) -n $* -name t2_$* -include "t.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#f1_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_F1) -dif -n $* -name f1_$* -include "f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#f2_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_F2) -dif -n $* -name f2_$* -include "f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#q1_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ) $(FLAGS_Q1) -dif -n $* -name q1_$* -include "q.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#q2_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ) $(FLAGS_Q2) -dif -n $* -name q2_$* -include "q.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#endif # MAINTAINER_MODE -+ -diff -Nru fftw-3.2.2.orig/dft/simd/CMakeLists.txt fftw-3.2.2/dft/simd/CMakeLists.txt ---- fftw-3.2.2.orig/dft/simd/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/dft/simd/CMakeLists.txt 2011-12-21 11:36:18.181871300 +0100 -@@ -0,0 +1,10 @@ -+add_subdirectory(codelets) -+ -+set(dft_simd_SRCS n1b.c n1f.c n2b.c n2f.c n2s.c q1b.c q1f.c t.c ts.c) -+ -+if(BUILD_ALL_STATIC) -+ add_library(dft_simd STATIC ${dft_simd_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(dft_simd_SRCS) -+ set(_fftw_SRCS ${_fftw_SRCS} ${dft_simd_SRCS} ${__fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff -Nru fftw-3.2.2.orig/dft/simd/codelets/CMakeLists.txt fftw-3.2.2/dft/simd/codelets/CMakeLists.txt ---- fftw-3.2.2.orig/dft/simd/codelets/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/dft/simd/codelets/CMakeLists.txt 2011-12-21 11:36:18.183871500 +0100 -@@ -0,0 +1,189 @@ -+# This Makefile.am specifies a set of codelets, efficient transforms -+# of small sizes, that are used as building blocks (kernels) by FFTW -+# to build up large transforms, as well as the options for generating -+# and compiling them. -+ -+# You can customize FFTW for special needs, e.g. to handle certain -+# sizes more efficiently, by adding new codelets to the lists of those -+# included by default. If you change the list of codelets, any new -+# ones you added will be automatically generated when you run the -+# bootstrap script (see "Generating your own code" in the FFTW -+# manual). -+ -+########################################################################### -+#AM_CPPFLAGS = -I$(top_srcdir)/kernel -I$(top_srcdir)/dft \ -+#-I$(top_srcdir)/dft/simd -I$(top_srcdir)/simd -+#AM_CFLAGS = $(SIMD_CFLAGS) -+#noinst_LTLIBRARIES = libdft_simd_codelets.la -+ -+########################################################################### -+# n1fv_ is a hard-coded FFTW_FORWARD FFT of size , using SIMD -+set(N1F n1fv_2.c n1fv_3.c n1fv_4.c n1fv_5.c n1fv_6.c n1fv_7.c n1fv_8.c -+n1fv_9.c n1fv_10.c n1fv_11.c n1fv_12.c n1fv_13.c n1fv_14.c n1fv_15.c -+n1fv_16.c n1fv_32.c n1fv_64.c n1fv_128.c -+n1fv_20.c n1fv_25.c # n1fv_30.c n1fv_40.c n1fv_50.c -+) -+ -+# as above, with restricted input vector stride -+set(N2F n2fv_2.c n2fv_4.c n2fv_6.c n2fv_8.c n2fv_10.c n2fv_12.c -+n2fv_14.c n2fv_16.c n2fv_32.c n2fv_64.c -+n2fv_20.c # n2fv_30.c n2fv_40.c n2fv_50.c -+) -+ -+# as above, but FFTW_BACKWARD -+set(N1B n1bv_2.c n1bv_3.c n1bv_4.c n1bv_5.c n1bv_6.c n1bv_7.c n1bv_8.c -+n1bv_9.c n1bv_10.c n1bv_11.c n1bv_12.c n1bv_13.c n1bv_14.c n1bv_15.c -+n1bv_16.c n1bv_32.c n1bv_64.c n1bv_128.c -+n1bv_20.c n1bv_25.c # n1bv_30.c n1bv_40.c n1bv_50.c -+) -+ -+set(N2B n2bv_2.c n2bv_4.c n2bv_6.c n2bv_8.c n2bv_10.c n2bv_12.c -+n2bv_14.c n2bv_16.c n2bv_32.c n2bv_64.c -+n2bv_20.c # n2bv_30.c n2bv_40.c n2bv_50.c -+) -+ -+# split-complex codelets -+set(N2S n2sv_4.c n2sv_8.c n2sv_16.c n2sv_32.c n2sv_64.c -+) -+ -+########################################################################### -+# t1fv_ is a "twiddle" FFT of size , implementing a radix-r DIT step -+# for an FFTW_FORWARD transform, using SIMD -+set(T1F t1fv_2.c t1fv_3.c t1fv_4.c t1fv_5.c t1fv_6.c t1fv_7.c t1fv_8.c -+t1fv_9.c t1fv_10.c t1fv_12.c t1fv_15.c t1fv_16.c t1fv_32.c t1fv_64.c -+t1fv_20.c t1fv_25.c # t1fv_30.c t1fv_40.c t1fv_50.c -+) -+ -+# same as t1fv_*, but with different twiddle storage scheme -+set(T2F t2fv_2.c t2fv_4.c t2fv_8.c t2fv_16.c t2fv_32.c t2fv_64.c -+t2fv_5.c t2fv_10.c t2fv_20.c t2fv_25.c -+) -+set(T3F t3fv_4.c t3fv_8.c t3fv_16.c t3fv_32.c -+t3fv_5.c t3fv_10.c t3fv_20.c t3fv_25.c -+) -+set(T1FU t1fuv_2.c t1fuv_3.c t1fuv_4.c t1fuv_5.c t1fuv_6.c t1fuv_7.c -+t1fuv_8.c t1fuv_9.c t1fuv_10.c -+) -+ -+# as above, but FFTW_BACKWARD -+set(T1B t1bv_2.c t1bv_3.c t1bv_4.c t1bv_5.c t1bv_6.c t1bv_7.c t1bv_8.c -+t1bv_9.c t1bv_10.c t1bv_12.c t1bv_15.c t1bv_16.c t1bv_32.c t1bv_64.c -+t1bv_20.c t1bv_25.c # t1bv_30.c t1bv_40.c t1bv_50.c -+) -+ -+# same as t1bv_*, but with different twiddle storage scheme -+set(T2B t2bv_2.c t2bv_4.c t2bv_8.c t2bv_16.c t2bv_32.c t2bv_64.c -+t2bv_5.c t2bv_10.c t2bv_20.c t2bv_25.c -+) -+set(T3B t3bv_4.c t3bv_8.c t3bv_16.c t3bv_32.c -+t3bv_5.c t3bv_10.c t3bv_20.c t3bv_25.c -+) -+set(T1BU t1buv_2.c t1buv_3.c t1buv_4.c t1buv_5.c t1buv_6.c t1buv_7.c -+t1buv_8.c t1buv_9.c t1buv_10.c -+) -+ -+# split-complex codelets -+set(T1S t1sv_2.c t1sv_4.c t1sv_8.c t1sv_16.c t1sv_32.c #t1sv_64.c -+) -+set(T2S t2sv_4.c t2sv_8.c t2sv_16.c t2sv_32.c #t2sv_64.c -+) -+ -+########################################################################### -+# q1fv_ is twiddle FFTW_FORWARD FFTs of size (DIF step), -+# where the output is transposed, using SIMD. This is used for -+# in-place transposes in sizes that are divisible by ^2. These -+# codelets have size ~ ^2, so you should probably not use -+# bigger than 8 or so. -+set(Q1F q1fv_2.c q1fv_4.c q1fv_5.c q1fv_8.c ) -+ -+# as above, but FFTW_BACKWARD -+set(Q1B q1bv_2.c q1bv_4.c q1bv_5.c q1bv_8.c) -+ -+########################################################################### -+set(SIMD_CODELETS ${N1F} ${N1B} ${N2F} ${N2B} ${N2S} ${T1FU} ${T1F} ${T2F} ${T3F} ${T1BU} ${T1B} ${T2B} ${T3B} ${T1S} ${T2S} ${Q1F} ${Q1B}) -+ -+if(HAVE_SIMD) -+ set(ALL_CODELETS ${SIMD_CODELETS}) -+else(HAVE_SIMD) -+ set(ALL_CODELETS) -+endif(HAVE_SIMD) -+ -+set(SOLVTAB_NAME "X(solvtab_dft_simd)") -+set(CODLIST ${CMAKE_CURRENT_BINARY_DIR}/codlist.c) -+set(CODELET_NAME codelet_) -+ -+set(dft_simd_codelets_SRCS ${ALL_CODELETS}) -+ -+# special rules for regenerating codelets. -+include(${CMAKE_SOURCE_DIR}/support/codelets.cmake) -+ -+write_codelet_list(${CODLIST} ${CODELET_NAME} ${SOLVTAB_NAME} ${ALL_CODELETS}) -+ -+if(BUILD_ALL_STATIC) -+ add_library(dft_simd_codelets STATIC ${ALL_CODELETS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(dft_simd_codelets_SRCS) -+ set(__fftw_SRCS ${__fftw_SRCS} ${dft_simd_codelets_SRCS} ${CODLIST} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+#include $(top_srcdir)/support/Makefile.codelets -+ -+#if MAINTAINER_MODE -+#GFLAGS = -simd $(FLAGS_COMMON) -pipeline-latency 8 -+#FLAGS_T2S=-twiddle-log3 -precompute-twiddles -+#FLAGS_T3=-twiddle-log3 -precompute-twiddles -no-generate-bytw -+# -+#n1fv_%.c: $(CODELET_DEPS) $(GEN_NOTW_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW_C) $(GFLAGS) -n $* -name n1fv_$* -include "n1f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#n2fv_%.c: $(CODELET_DEPS) $(GEN_NOTW_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW_C) $(GFLAGS) -n $* -name n2fv_$* -with-ostride 2 -include "n2f.h" -store-multiple 2) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#n1bv_%.c: $(CODELET_DEPS) $(GEN_NOTW_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW_C) $(GFLAGS) -sign 1 -n $* -name n1bv_$* -include "n1b.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#n2bv_%.c: $(CODELET_DEPS) $(GEN_NOTW_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW_C) $(GFLAGS) -sign 1 -n $* -name n2bv_$* -with-ostride 2 -include "n2b.h" -store-multiple 2) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#n2sv_%.c: $(CODELET_DEPS) $(GEN_NOTW) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW) $(GFLAGS) -n $* -name n2sv_$* -with-ostride 1 -include "n2s.h" -store-multiple 4) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1fv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) -n $* -name t1fv_$* -include "t1f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1fuv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) -n $* -name t1fuv_$* -include "t1fu.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t2fv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) -n $* -name t2fv_$* -include "t2f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t3fv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) $(FLAGS_T3) -n $* -name t3fv_$* -include "t3f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1bv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) -n $* -name t1bv_$* -include "t1b.h" -sign 1) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1buv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) -n $* -name t1buv_$* -include "t1bu.h" -sign 1) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t2bv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) -n $* -name t2bv_$* -include "t2b.h" -sign 1) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t3bv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) $(FLAGS_T3) -n $* -name t3bv_$* -include "t3b.h" -sign 1) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1sv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(GFLAGS) -n $* -name t1sv_$* -include "ts.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t2sv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(GFLAGS) $(FLAGS_T2S) -n $* -name t2sv_$* -include "ts.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#q1fv_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ_C) $(GFLAGS) -n $* -dif -name q1fv_$* -include "q1f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#q1bv_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ_C) $(GFLAGS) -n $* -dif -name q1bv_$* -include "q1b.h" -sign 1) | $(ADD_DATE) | $(INDENT) >$@ -+# -+# -+#endif # MAINTAINER_MODE -+# -diff -Nru fftw-3.2.2.orig/fftw.def.cmake fftw-3.2.2/fftw.def.cmake ---- fftw-3.2.2.orig/fftw.def.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/fftw.def.cmake 2011-12-21 11:36:18.187871900 +0100 -@@ -0,0 +1,808 @@ -+EXPORTS -+@FFTW_SYMBOL_PREFIX@alignment_of -+@FFTW_SYMBOL_PREFIX@assertion_failed -+@FFTW_SYMBOL_PREFIX@bufdist -+@FFTW_SYMBOL_PREFIX@check_alignment_of_sse_pmpm -+@FFTW_SYMBOL_PREFIX@choose_radix -+@FFTW_SYMBOL_PREFIX@cleanup -+@FFTW_SYMBOL_PREFIX@cleanup_threads -+@FFTW_SYMBOL_PREFIX@codelet_e01_8 -+@FFTW_SYMBOL_PREFIX@codelet_e10_8 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_16 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_20 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_25 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_32 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_4 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_5 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_8 -+@FFTW_SYMBOL_PREFIX@codelet_hb_10 -+@FFTW_SYMBOL_PREFIX@codelet_hb_12 -+@FFTW_SYMBOL_PREFIX@codelet_hb_15 -+@FFTW_SYMBOL_PREFIX@codelet_hb_16 -+@FFTW_SYMBOL_PREFIX@codelet_hb_2 -+@FFTW_SYMBOL_PREFIX@codelet_hb_20 -+@FFTW_SYMBOL_PREFIX@codelet_hb_25 -+@FFTW_SYMBOL_PREFIX@codelet_hb_3 -+@FFTW_SYMBOL_PREFIX@codelet_hb_32 -+@FFTW_SYMBOL_PREFIX@codelet_hb_4 -+@FFTW_SYMBOL_PREFIX@codelet_hb_5 -+@FFTW_SYMBOL_PREFIX@codelet_hb_6 -+@FFTW_SYMBOL_PREFIX@codelet_hb_64 -+@FFTW_SYMBOL_PREFIX@codelet_hb_7 -+@FFTW_SYMBOL_PREFIX@codelet_hb_8 -+@FFTW_SYMBOL_PREFIX@codelet_hb_9 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb2_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb2_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb2_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb2_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb2_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_10 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_12 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_2 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_6 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft2_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft2_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft2_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft2_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft2_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_10 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_12 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_2 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_6 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_10 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_12 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_2 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_6 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf2_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf2_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf2_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf2_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf2_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_10 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_12 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_2 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_6 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft2_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft2_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft2_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft2_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft2_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_10 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_12 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_2 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_6 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_10 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_12 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_2 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_6 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_8 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_16 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_20 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_25 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_32 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_4 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_5 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_8 -+@FFTW_SYMBOL_PREFIX@codelet_hf_10 -+@FFTW_SYMBOL_PREFIX@codelet_hf_12 -+@FFTW_SYMBOL_PREFIX@codelet_hf_15 -+@FFTW_SYMBOL_PREFIX@codelet_hf_16 -+@FFTW_SYMBOL_PREFIX@codelet_hf_2 -+@FFTW_SYMBOL_PREFIX@codelet_hf_20 -+@FFTW_SYMBOL_PREFIX@codelet_hf_25 -+@FFTW_SYMBOL_PREFIX@codelet_hf_3 -+@FFTW_SYMBOL_PREFIX@codelet_hf_32 -+@FFTW_SYMBOL_PREFIX@codelet_hf_4 -+@FFTW_SYMBOL_PREFIX@codelet_hf_5 -+@FFTW_SYMBOL_PREFIX@codelet_hf_6 -+@FFTW_SYMBOL_PREFIX@codelet_hf_64 -+@FFTW_SYMBOL_PREFIX@codelet_hf_7 -+@FFTW_SYMBOL_PREFIX@codelet_hf_8 -+@FFTW_SYMBOL_PREFIX@codelet_hf_9 -+@FFTW_SYMBOL_PREFIX@codelet_n1_10 -+@FFTW_SYMBOL_PREFIX@codelet_n1_11 -+@FFTW_SYMBOL_PREFIX@codelet_n1_12 -+@FFTW_SYMBOL_PREFIX@codelet_n1_13 -+@FFTW_SYMBOL_PREFIX@codelet_n1_14 -+@FFTW_SYMBOL_PREFIX@codelet_n1_15 -+@FFTW_SYMBOL_PREFIX@codelet_n1_16 -+@FFTW_SYMBOL_PREFIX@codelet_n1_2 -+@FFTW_SYMBOL_PREFIX@codelet_n1_20 -+@FFTW_SYMBOL_PREFIX@codelet_n1_25 -+@FFTW_SYMBOL_PREFIX@codelet_n1_3 -+@FFTW_SYMBOL_PREFIX@codelet_n1_32 -+@FFTW_SYMBOL_PREFIX@codelet_n1_4 -+@FFTW_SYMBOL_PREFIX@codelet_n1_5 -+@FFTW_SYMBOL_PREFIX@codelet_n1_6 -+@FFTW_SYMBOL_PREFIX@codelet_n1_64 -+@FFTW_SYMBOL_PREFIX@codelet_n1_7 -+@FFTW_SYMBOL_PREFIX@codelet_n1_8 -+@FFTW_SYMBOL_PREFIX@codelet_n1_9 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_10 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_11 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_12 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_128 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_13 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_14 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_15 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_16 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_2 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_20 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_25 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_3 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_32 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_4 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_5 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_6 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_64 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_7 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_8 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_9 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_10 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_11 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_12 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_128 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_13 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_14 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_15 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_16 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_2 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_20 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_25 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_3 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_32 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_4 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_5 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_6 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_64 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_7 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_8 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_9 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_10 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_12 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_14 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_16 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_2 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_20 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_32 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_4 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_6 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_64 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_8 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_10 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_12 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_14 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_16 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_2 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_20 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_32 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_4 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_6 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_64 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_8 -+@FFTW_SYMBOL_PREFIX@codelet_n2sv_16 -+@FFTW_SYMBOL_PREFIX@codelet_n2sv_32 -+@FFTW_SYMBOL_PREFIX@codelet_n2sv_4 -+@FFTW_SYMBOL_PREFIX@codelet_n2sv_64 -+@FFTW_SYMBOL_PREFIX@codelet_n2sv_8 -+@FFTW_SYMBOL_PREFIX@codelet_q1_2 -+@FFTW_SYMBOL_PREFIX@codelet_q1_3 -+@FFTW_SYMBOL_PREFIX@codelet_q1_4 -+@FFTW_SYMBOL_PREFIX@codelet_q1_5 -+@FFTW_SYMBOL_PREFIX@codelet_q1_6 -+@FFTW_SYMBOL_PREFIX@codelet_q1_8 -+@FFTW_SYMBOL_PREFIX@codelet_q1bv_2 -+@FFTW_SYMBOL_PREFIX@codelet_q1bv_4 -+@FFTW_SYMBOL_PREFIX@codelet_q1bv_5 -+@FFTW_SYMBOL_PREFIX@codelet_q1bv_8 -+@FFTW_SYMBOL_PREFIX@codelet_q1fv_2 -+@FFTW_SYMBOL_PREFIX@codelet_q1fv_4 -+@FFTW_SYMBOL_PREFIX@codelet_q1fv_5 -+@FFTW_SYMBOL_PREFIX@codelet_q1fv_8 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_10 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_12 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_15 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_16 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_2 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_20 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_25 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_3 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_32 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_4 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_5 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_6 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_64 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_7 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_8 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_9 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_10 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_11 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_12 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_128 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_13 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_14 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_15 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_16 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_2 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_20 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_25 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_3 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_32 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_4 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_5 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_6 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_64 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_7 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_8 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_9 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_10 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_12 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_15 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_16 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_2 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_20 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_25 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_3 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_32 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_4 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_5 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_6 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_64 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_7 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_8 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_9 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_10 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_11 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_12 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_128 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_13 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_14 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_15 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_16 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_2 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_20 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_25 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_3 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_32 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_4 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_5 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_6 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_64 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_7 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_8 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_9 -+@FFTW_SYMBOL_PREFIX@codelet_t1_10 -+@FFTW_SYMBOL_PREFIX@codelet_t1_12 -+@FFTW_SYMBOL_PREFIX@codelet_t1_15 -+@FFTW_SYMBOL_PREFIX@codelet_t1_16 -+@FFTW_SYMBOL_PREFIX@codelet_t1_2 -+@FFTW_SYMBOL_PREFIX@codelet_t1_20 -+@FFTW_SYMBOL_PREFIX@codelet_t1_25 -+@FFTW_SYMBOL_PREFIX@codelet_t1_3 -+@FFTW_SYMBOL_PREFIX@codelet_t1_32 -+@FFTW_SYMBOL_PREFIX@codelet_t1_4 -+@FFTW_SYMBOL_PREFIX@codelet_t1_5 -+@FFTW_SYMBOL_PREFIX@codelet_t1_6 -+@FFTW_SYMBOL_PREFIX@codelet_t1_64 -+@FFTW_SYMBOL_PREFIX@codelet_t1_7 -+@FFTW_SYMBOL_PREFIX@codelet_t1_8 -+@FFTW_SYMBOL_PREFIX@codelet_t1_9 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_3 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_6 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_7 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_9 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_12 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_15 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_20 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_25 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_3 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_6 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_64 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_7 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_9 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_3 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_6 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_7 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_9 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_12 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_15 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_20 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_25 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_3 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_6 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_64 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_7 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_9 -+@FFTW_SYMBOL_PREFIX@codelet_t1sv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t1sv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t1sv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t1sv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t1sv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t2_10 -+@FFTW_SYMBOL_PREFIX@codelet_t2_16 -+@FFTW_SYMBOL_PREFIX@codelet_t2_20 -+@FFTW_SYMBOL_PREFIX@codelet_t2_25 -+@FFTW_SYMBOL_PREFIX@codelet_t2_32 -+@FFTW_SYMBOL_PREFIX@codelet_t2_4 -+@FFTW_SYMBOL_PREFIX@codelet_t2_5 -+@FFTW_SYMBOL_PREFIX@codelet_t2_64 -+@FFTW_SYMBOL_PREFIX@codelet_t2_8 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_20 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_25 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_64 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_20 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_25 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_64 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t2sv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t2sv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t2sv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t2sv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_20 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_25 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_20 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_25 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_8 -+@FFTW_SYMBOL_PREFIX@compute_tilesz -+@FFTW_SYMBOL_PREFIX@configure_planner -+@FFTW_SYMBOL_PREFIX@cpy1d -+@FFTW_SYMBOL_PREFIX@cpy2d -+@FFTW_SYMBOL_PREFIX@cpy2d_ci -+@FFTW_SYMBOL_PREFIX@cpy2d_co -+@FFTW_SYMBOL_PREFIX@cpy2d_pair -+@FFTW_SYMBOL_PREFIX@cpy2d_pair_ci -+@FFTW_SYMBOL_PREFIX@cpy2d_pair_co -+@FFTW_SYMBOL_PREFIX@cpy2d_tiled -+@FFTW_SYMBOL_PREFIX@cpy2d_tiledbuf -+@FFTW_SYMBOL_PREFIX@ct_applicable -+@FFTW_SYMBOL_PREFIX@ct_generic_register -+@FFTW_SYMBOL_PREFIX@ct_genericbuf_register -+@FFTW_SYMBOL_PREFIX@ct_uglyp -+@FFTW_SYMBOL_PREFIX@destroy_plan -+@FFTW_SYMBOL_PREFIX@dft_bluestein_register -+@FFTW_SYMBOL_PREFIX@dft_buffered_register -+@FFTW_SYMBOL_PREFIX@dft_conf_standard -+@FFTW_SYMBOL_PREFIX@dft_generic_register -+@FFTW_SYMBOL_PREFIX@dft_indirect_register -+@FFTW_SYMBOL_PREFIX@dft_indirect_transpose_register -+@FFTW_SYMBOL_PREFIX@dft_nop_register -+@FFTW_SYMBOL_PREFIX@dft_r2hc_register -+@FFTW_SYMBOL_PREFIX@dft_rader_register -+@FFTW_SYMBOL_PREFIX@dft_rank_geq2_register -+@FFTW_SYMBOL_PREFIX@dft_solve -+@FFTW_SYMBOL_PREFIX@dft_thr_vrank_geq1_register -+@FFTW_SYMBOL_PREFIX@dft_vrank_geq1_register -+@FFTW_SYMBOL_PREFIX@dft_zerotens -+@FFTW_SYMBOL_PREFIX@dht_r2hc_register -+@FFTW_SYMBOL_PREFIX@dht_rader_register -+@FFTW_SYMBOL_PREFIX@dimcmp -+@FFTW_SYMBOL_PREFIX@elapsed_since -+@FFTW_SYMBOL_PREFIX@estimate_cost -+@FFTW_SYMBOL_PREFIX@execute -+@FFTW_SYMBOL_PREFIX@execute_dft -+@FFTW_SYMBOL_PREFIX@execute_dft_c2r -+@FFTW_SYMBOL_PREFIX@execute_dft_r2c -+@FFTW_SYMBOL_PREFIX@execute_r2r -+@FFTW_SYMBOL_PREFIX@execute_split_dft -+@FFTW_SYMBOL_PREFIX@execute_split_dft_c2r -+@FFTW_SYMBOL_PREFIX@execute_split_dft_r2c -+@FFTW_SYMBOL_PREFIX@export_wisdom -+@FFTW_SYMBOL_PREFIX@export_wisdom_to_file -+@FFTW_SYMBOL_PREFIX@export_wisdom_to_string -+@FFTW_SYMBOL_PREFIX@extract_reim -+@FFTW_SYMBOL_PREFIX@factors_into -+@FFTW_SYMBOL_PREFIX@find_generator -+@FFTW_SYMBOL_PREFIX@first_divisor -+@FFTW_SYMBOL_PREFIX@flops -+@FFTW_SYMBOL_PREFIX@forget_wisdom -+@FFTW_SYMBOL_PREFIX@fprint_plan -+@FFTW_SYMBOL_PREFIX@free -+@FFTW_SYMBOL_PREFIX@get_crude_time -+@FFTW_SYMBOL_PREFIX@guru64_kosherp -+@FFTW_SYMBOL_PREFIX@guru_kosherp -+@FFTW_SYMBOL_PREFIX@hash -+@FFTW_SYMBOL_PREFIX@have_sse -+@FFTW_SYMBOL_PREFIX@hc2c_applicable -+@FFTW_SYMBOL_PREFIX@hc2hc_applicable -+@FFTW_SYMBOL_PREFIX@hc2hc_generic_register -+@FFTW_SYMBOL_PREFIX@iabs -+@FFTW_SYMBOL_PREFIX@iestimate_cost -+@FFTW_SYMBOL_PREFIX@ifree -+@FFTW_SYMBOL_PREFIX@ifree0 -+@FFTW_SYMBOL_PREFIX@imax -+@FFTW_SYMBOL_PREFIX@imin -+@FFTW_SYMBOL_PREFIX@import_system_wisdom -+@FFTW_SYMBOL_PREFIX@import_wisdom -+@FFTW_SYMBOL_PREFIX@import_wisdom_from_file -+@FFTW_SYMBOL_PREFIX@import_wisdom_from_string -+@FFTW_SYMBOL_PREFIX@init_threads -+@FFTW_SYMBOL_PREFIX@is_prime -+@FFTW_SYMBOL_PREFIX@isqrt -+@FFTW_SYMBOL_PREFIX@ithreads_init -+@FFTW_SYMBOL_PREFIX@join_taint -+@FFTW_SYMBOL_PREFIX@kdft_dif_register -+@FFTW_SYMBOL_PREFIX@kdft_difsq_register -+@FFTW_SYMBOL_PREFIX@kdft_dit_register -+@FFTW_SYMBOL_PREFIX@kdft_register -+@FFTW_SYMBOL_PREFIX@kernel_free -+@FFTW_SYMBOL_PREFIX@kernel_malloc -+@FFTW_SYMBOL_PREFIX@khc2c_register -+@FFTW_SYMBOL_PREFIX@khc2hc_register -+@FFTW_SYMBOL_PREFIX@kr2c_register -+@FFTW_SYMBOL_PREFIX@kr2r_register -+@FFTW_SYMBOL_PREFIX@malloc -+@FFTW_SYMBOL_PREFIX@malloc_plain -+@FFTW_SYMBOL_PREFIX@many_kosherp -+@FFTW_SYMBOL_PREFIX@map_r2r_kind -+@FFTW_SYMBOL_PREFIX@mapflags -+@FFTW_SYMBOL_PREFIX@md5INT -+@FFTW_SYMBOL_PREFIX@md5begin -+@FFTW_SYMBOL_PREFIX@md5end -+@FFTW_SYMBOL_PREFIX@md5int -+@FFTW_SYMBOL_PREFIX@md5putb -+@FFTW_SYMBOL_PREFIX@md5putc -+@FFTW_SYMBOL_PREFIX@md5puts -+@FFTW_SYMBOL_PREFIX@md5unsigned -+@FFTW_SYMBOL_PREFIX@measure_execution_time -+@FFTW_SYMBOL_PREFIX@mkapiplan -+@FFTW_SYMBOL_PREFIX@mkplan -+@FFTW_SYMBOL_PREFIX@mkplan_d -+@FFTW_SYMBOL_PREFIX@mkplan_dft -+@FFTW_SYMBOL_PREFIX@mkplan_dftw -+@FFTW_SYMBOL_PREFIX@mkplan_f_d -+@FFTW_SYMBOL_PREFIX@mkplan_hc2c -+@FFTW_SYMBOL_PREFIX@mkplan_hc2hc -+@FFTW_SYMBOL_PREFIX@mkplan_rdft -+@FFTW_SYMBOL_PREFIX@mkplan_rdft2 -+@FFTW_SYMBOL_PREFIX@mkplanner -+@FFTW_SYMBOL_PREFIX@mkprinter -+@FFTW_SYMBOL_PREFIX@mkprinter_file -+@FFTW_SYMBOL_PREFIX@mkproblem -+@FFTW_SYMBOL_PREFIX@mkproblem_dft -+@FFTW_SYMBOL_PREFIX@mkproblem_dft_d -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft2 -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft2_d -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft2_d_3pointers -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft_0_d -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft_1 -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft_1_d -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft_d -+@FFTW_SYMBOL_PREFIX@mkproblem_unsolvable -+@FFTW_SYMBOL_PREFIX@mkscanner -+@FFTW_SYMBOL_PREFIX@mksolver -+@FFTW_SYMBOL_PREFIX@mksolver_ct -+@FFTW_SYMBOL_PREFIX@mksolver_ct_threads -+@FFTW_SYMBOL_PREFIX@mksolver_dft_direct -+@FFTW_SYMBOL_PREFIX@mksolver_dft_directbuf -+@FFTW_SYMBOL_PREFIX@mksolver_hc2c -+@FFTW_SYMBOL_PREFIX@mksolver_hc2hc -+@FFTW_SYMBOL_PREFIX@mksolver_hc2hc_threads -+@FFTW_SYMBOL_PREFIX@mksolver_rdft2_direct -+@FFTW_SYMBOL_PREFIX@mksolver_rdft_r2c_direct -+@FFTW_SYMBOL_PREFIX@mksolver_rdft_r2c_directbuf -+@FFTW_SYMBOL_PREFIX@mksolver_rdft_r2r_direct -+@FFTW_SYMBOL_PREFIX@mkstride -+@FFTW_SYMBOL_PREFIX@mktensor -+@FFTW_SYMBOL_PREFIX@mktensor_0d -+@FFTW_SYMBOL_PREFIX@mktensor_1d -+@FFTW_SYMBOL_PREFIX@mktensor_2d -+@FFTW_SYMBOL_PREFIX@mktensor_3d -+@FFTW_SYMBOL_PREFIX@mktensor_4d -+@FFTW_SYMBOL_PREFIX@mktensor_5d -+@FFTW_SYMBOL_PREFIX@mktensor_iodims -+@FFTW_SYMBOL_PREFIX@mktensor_iodims64 -+@FFTW_SYMBOL_PREFIX@mktensor_rowmajor -+@FFTW_SYMBOL_PREFIX@mktriggen -+@FFTW_SYMBOL_PREFIX@modulo -+@FFTW_SYMBOL_PREFIX@nbuf -+@FFTW_SYMBOL_PREFIX@nbuf_redundant -+@FFTW_SYMBOL_PREFIX@next_prime -+@FFTW_SYMBOL_PREFIX@null_awake -+@FFTW_SYMBOL_PREFIX@ops_add -+@FFTW_SYMBOL_PREFIX@ops_add2 -+@FFTW_SYMBOL_PREFIX@ops_cpy -+@FFTW_SYMBOL_PREFIX@ops_madd -+@FFTW_SYMBOL_PREFIX@ops_madd2 -+@FFTW_SYMBOL_PREFIX@ops_other -+@FFTW_SYMBOL_PREFIX@ops_zero -+@FFTW_SYMBOL_PREFIX@pickdim -+@FFTW_SYMBOL_PREFIX@plan_awake -+@FFTW_SYMBOL_PREFIX@plan_destroy_internal -+@FFTW_SYMBOL_PREFIX@plan_dft -+@FFTW_SYMBOL_PREFIX@plan_dft_1d -+@FFTW_SYMBOL_PREFIX@plan_dft_2d -+@FFTW_SYMBOL_PREFIX@plan_dft_3d -+@FFTW_SYMBOL_PREFIX@plan_dft_c2r -+@FFTW_SYMBOL_PREFIX@plan_dft_c2r_1d -+@FFTW_SYMBOL_PREFIX@plan_dft_c2r_2d -+@FFTW_SYMBOL_PREFIX@plan_dft_c2r_3d -+@FFTW_SYMBOL_PREFIX@plan_dft_r2c -+@FFTW_SYMBOL_PREFIX@plan_dft_r2c_1d -+@FFTW_SYMBOL_PREFIX@plan_dft_r2c_2d -+@FFTW_SYMBOL_PREFIX@plan_dft_r2c_3d -+@FFTW_SYMBOL_PREFIX@plan_guru64_dft -+@FFTW_SYMBOL_PREFIX@plan_guru64_dft_c2r -+@FFTW_SYMBOL_PREFIX@plan_guru64_dft_r2c -+@FFTW_SYMBOL_PREFIX@plan_guru64_r2r -+@FFTW_SYMBOL_PREFIX@plan_guru64_split_dft -+@FFTW_SYMBOL_PREFIX@plan_guru64_split_dft_c2r -+@FFTW_SYMBOL_PREFIX@plan_guru64_split_dft_r2c -+@FFTW_SYMBOL_PREFIX@plan_guru_dft -+@FFTW_SYMBOL_PREFIX@plan_guru_dft_c2r -+@FFTW_SYMBOL_PREFIX@plan_guru_dft_r2c -+@FFTW_SYMBOL_PREFIX@plan_guru_r2r -+@FFTW_SYMBOL_PREFIX@plan_guru_split_dft -+@FFTW_SYMBOL_PREFIX@plan_guru_split_dft_c2r -+@FFTW_SYMBOL_PREFIX@plan_guru_split_dft_r2c -+@FFTW_SYMBOL_PREFIX@plan_many_dft -+@FFTW_SYMBOL_PREFIX@plan_many_dft_c2r -+@FFTW_SYMBOL_PREFIX@plan_many_dft_r2c -+@FFTW_SYMBOL_PREFIX@plan_many_r2r -+@FFTW_SYMBOL_PREFIX@plan_null_destroy -+@FFTW_SYMBOL_PREFIX@plan_r2r -+@FFTW_SYMBOL_PREFIX@plan_r2r_1d -+@FFTW_SYMBOL_PREFIX@plan_r2r_2d -+@FFTW_SYMBOL_PREFIX@plan_r2r_3d -+@FFTW_SYMBOL_PREFIX@plan_with_nthreads -+@FFTW_SYMBOL_PREFIX@planner_destroy -+@FFTW_SYMBOL_PREFIX@power_mod -+@FFTW_SYMBOL_PREFIX@print_plan -+@FFTW_SYMBOL_PREFIX@printer_destroy -+@FFTW_SYMBOL_PREFIX@problem_destroy -+@FFTW_SYMBOL_PREFIX@rader_tl_delete -+@FFTW_SYMBOL_PREFIX@rader_tl_find -+@FFTW_SYMBOL_PREFIX@rader_tl_insert -+@FFTW_SYMBOL_PREFIX@rdft2_buffered_register -+@FFTW_SYMBOL_PREFIX@rdft2_complex_n -+@FFTW_SYMBOL_PREFIX@rdft2_inplace_strides -+@FFTW_SYMBOL_PREFIX@rdft2_nop_register -+@FFTW_SYMBOL_PREFIX@rdft2_pad -+@FFTW_SYMBOL_PREFIX@rdft2_rank0_register -+@FFTW_SYMBOL_PREFIX@rdft2_rank_geq2_register -+@FFTW_SYMBOL_PREFIX@rdft2_rdft_register -+@FFTW_SYMBOL_PREFIX@rdft2_solve -+@FFTW_SYMBOL_PREFIX@rdft2_strides -+@FFTW_SYMBOL_PREFIX@rdft2_tensor_max_index -+@FFTW_SYMBOL_PREFIX@rdft2_thr_vrank_geq1_register -+@FFTW_SYMBOL_PREFIX@rdft2_vrank_geq1_register -+@FFTW_SYMBOL_PREFIX@rdft_buffered_register -+@FFTW_SYMBOL_PREFIX@rdft_conf_standard -+@FFTW_SYMBOL_PREFIX@rdft_dht_register -+@FFTW_SYMBOL_PREFIX@rdft_generic_register -+@FFTW_SYMBOL_PREFIX@rdft_indirect_register -+@FFTW_SYMBOL_PREFIX@rdft_kind_str -+@FFTW_SYMBOL_PREFIX@rdft_nop_register -+@FFTW_SYMBOL_PREFIX@rdft_rank0_register -+@FFTW_SYMBOL_PREFIX@rdft_rank_geq2_register -+@FFTW_SYMBOL_PREFIX@rdft_solve -+@FFTW_SYMBOL_PREFIX@rdft_thr_vrank_geq1_register -+@FFTW_SYMBOL_PREFIX@rdft_vrank3_transpose_register -+@FFTW_SYMBOL_PREFIX@rdft_vrank_geq1_register -+@FFTW_SYMBOL_PREFIX@rdft_zerotens -+@FFTW_SYMBOL_PREFIX@redft00e_r2hc_pad_register -+@FFTW_SYMBOL_PREFIX@regsolver_ct_directw -+@FFTW_SYMBOL_PREFIX@regsolver_ct_directwsq -+@FFTW_SYMBOL_PREFIX@regsolver_hc2c_direct -+@FFTW_SYMBOL_PREFIX@regsolver_hc2hc_direct -+@FFTW_SYMBOL_PREFIX@reodft00e_splitradix_register -+@FFTW_SYMBOL_PREFIX@reodft010e_r2hc_register -+@FFTW_SYMBOL_PREFIX@reodft11e_r2hc_odd_register -+@FFTW_SYMBOL_PREFIX@reodft11e_radix2_r2hc_register -+@FFTW_SYMBOL_PREFIX@reodft_conf_standard -+@FFTW_SYMBOL_PREFIX@rodft00e_r2hc_pad_register -+@FFTW_SYMBOL_PREFIX@safe_mulmod -+@FFTW_SYMBOL_PREFIX@scanner_destroy -+@FFTW_SYMBOL_PREFIX@set_timelimit -+@FFTW_SYMBOL_PREFIX@solver_destroy -+@FFTW_SYMBOL_PREFIX@solver_register -+@FFTW_SYMBOL_PREFIX@solver_use -+@FFTW_SYMBOL_PREFIX@solvtab_exec -+@FFTW_SYMBOL_PREFIX@spawn_loop -+@FFTW_SYMBOL_PREFIX@stride_destroy -+@FFTW_SYMBOL_PREFIX@taint -+@FFTW_SYMBOL_PREFIX@tensor_append -+@FFTW_SYMBOL_PREFIX@tensor_compress -+@FFTW_SYMBOL_PREFIX@tensor_compress_contiguous -+@FFTW_SYMBOL_PREFIX@tensor_copy -+@FFTW_SYMBOL_PREFIX@tensor_copy_except -+@FFTW_SYMBOL_PREFIX@tensor_copy_inplace -+@FFTW_SYMBOL_PREFIX@tensor_copy_sub -+@FFTW_SYMBOL_PREFIX@tensor_destroy -+@FFTW_SYMBOL_PREFIX@tensor_destroy2 -+@FFTW_SYMBOL_PREFIX@tensor_destroy4 -+@FFTW_SYMBOL_PREFIX@tensor_equal -+@FFTW_SYMBOL_PREFIX@tensor_inplace_locations -+@FFTW_SYMBOL_PREFIX@tensor_inplace_strides -+@FFTW_SYMBOL_PREFIX@tensor_inplace_strides2 -+@FFTW_SYMBOL_PREFIX@tensor_kosherp -+@FFTW_SYMBOL_PREFIX@tensor_max_index -+@FFTW_SYMBOL_PREFIX@tensor_md5 -+@FFTW_SYMBOL_PREFIX@tensor_min_istride -+@FFTW_SYMBOL_PREFIX@tensor_min_ostride -+@FFTW_SYMBOL_PREFIX@tensor_min_stride -+@FFTW_SYMBOL_PREFIX@tensor_print -+@FFTW_SYMBOL_PREFIX@tensor_split -+@FFTW_SYMBOL_PREFIX@tensor_strides_decrease -+@FFTW_SYMBOL_PREFIX@tensor_sz -+@FFTW_SYMBOL_PREFIX@tensor_tornk1 -+@FFTW_SYMBOL_PREFIX@the_planner -+@FFTW_SYMBOL_PREFIX@threads_cleanup -+@FFTW_SYMBOL_PREFIX@threads_conf_standard -+@FFTW_SYMBOL_PREFIX@tile2d -+@FFTW_SYMBOL_PREFIX@toobig -+@FFTW_SYMBOL_PREFIX@transpose -+@FFTW_SYMBOL_PREFIX@transpose_tiled -+@FFTW_SYMBOL_PREFIX@transpose_tiledbuf -+@FFTW_SYMBOL_PREFIX@triggen_destroy -+@FFTW_SYMBOL_PREFIX@twiddle_awake -+@FFTW_SYMBOL_PREFIX@twiddle_length -+;sfftw_cleanup_ -+;sfftw_cleanup__ -+;sfftw_cleanup_threads_ -+;sfftw_cleanup_threads__ -+;sfftw_destroy_plan_ -+;sfftw_destroy_plan__ -+;sfftw_execute_ -+;sfftw_execute__ -+;sfftw_execute_dft_ -+;sfftw_execute_dft__ -+;sfftw_execute_dft_c2r_ -+;sfftw_execute_dft_c2r__ -+;sfftw_execute_dft_r2c_ -+;sfftw_execute_dft_r2c__ -+;sfftw_execute_r2r_ -+;sfftw_execute_r2r__ -+;sfftw_execute_split_dft_ -+;sfftw_execute_split_dft__ -+;sfftw_execute_split_dft_c2r_ -+;sfftw_execute_split_dft_c2r__ -+;sfftw_execute_split_dft_r2c_ -+;sfftw_execute_split_dft_r2c__ -+;sfftw_export_wisdom_ -+;sfftw_export_wisdom__ -+;sfftw_flops_ -+;sfftw_flops__ -+;sfftw_forget_wisdom_ -+;sfftw_forget_wisdom__ -+;sfftw_import_system_wisdom_ -+;sfftw_import_system_wisdom__ -+;sfftw_import_wisdom_ -+;sfftw_import_wisdom__ -+;sfftw_init_threads_ -+;sfftw_init_threads__ -+;sfftw_plan_dft_ -+;sfftw_plan_dft_1d_ -+;sfftw_plan_dft_1d__ -+;sfftw_plan_dft_2d_ -+;sfftw_plan_dft_2d__ -+;sfftw_plan_dft_3d_ -+;sfftw_plan_dft_3d__ -+;sfftw_plan_dft__ -+;sfftw_plan_dft_c2r_ -+;sfftw_plan_dft_c2r_1d_ -+;sfftw_plan_dft_c2r_1d__ -+;sfftw_plan_dft_c2r_2d_ -+;sfftw_plan_dft_c2r_2d__ -+;sfftw_plan_dft_c2r_3d_ -+;sfftw_plan_dft_c2r_3d__ -+;sfftw_plan_dft_c2r__ -+;sfftw_plan_dft_r2c_ -+;sfftw_plan_dft_r2c_1d_ -+;sfftw_plan_dft_r2c_1d__ -+;sfftw_plan_dft_r2c_2d_ -+;sfftw_plan_dft_r2c_2d__ -+;sfftw_plan_dft_r2c_3d_ -+;sfftw_plan_dft_r2c_3d__ -+;sfftw_plan_dft_r2c__ -+;sfftw_plan_guru_dft_ -+;sfftw_plan_guru_dft__ -+;sfftw_plan_guru_dft_c2r_ -+;sfftw_plan_guru_dft_c2r__ -+;sfftw_plan_guru_dft_r2c_ -+;sfftw_plan_guru_dft_r2c__ -+;sfftw_plan_guru_r2r_ -+;sfftw_plan_guru_r2r__ -+;sfftw_plan_guru_split_dft_ -+;sfftw_plan_guru_split_dft__ -+;sfftw_plan_guru_split_dft_c2r_ -+;sfftw_plan_guru_split_dft_c2r__ -+;sfftw_plan_guru_split_dft_r2c_ -+;sfftw_plan_guru_split_dft_r2c__ -+;sfftw_plan_many_dft_ -+;sfftw_plan_many_dft__ -+;sfftw_plan_many_dft_c2r_ -+;sfftw_plan_many_dft_c2r__ -+;sfftw_plan_many_dft_r2c_ -+;sfftw_plan_many_dft_r2c__ -+;sfftw_plan_many_r2r_ -+;sfftw_plan_many_r2r__ -+;sfftw_plan_r2r_ -+;sfftw_plan_r2r_1d_ -+;sfftw_plan_r2r_1d__ -+;sfftw_plan_r2r_2d_ -+;sfftw_plan_r2r_2d__ -+;sfftw_plan_r2r_3d_ -+;sfftw_plan_r2r_3d__ -+;sfftw_plan_r2r__ -+;sfftw_plan_with_nthreads_ -+;sfftw_plan_with_nthreads__ -+;sfftw_print_plan_ -+;sfftw_print_plan__ -diff -Nru fftw-3.2.2.orig/kernel/CMakeLists.txt fftw-3.2.2/kernel/CMakeLists.txt ---- fftw-3.2.2.orig/kernel/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/kernel/CMakeLists.txt 2011-12-21 11:36:18.188872000 +0100 -@@ -0,0 +1,17 @@ -+# pkgincludedir = $(includedir)/fftw3@PREC_SUFFIX@ -+# pkginclude_HEADERS = ifftw.h cycle.h -+ -+set(kernel_SRCS align.c alloc.c assert.c awake.c buffered.c -+cpy1d.c cpy2d-pair.c cpy2d.c ct.c debug.c extract-reim.c hash.c iabs.c -+kalloc.c md5-1.c md5.c minmax.c ops.c pickdim.c plan.c planner.c -+primes.c print.c problem.c rader.c scan.c solver.c solvtab.c stride.c -+tensor.c tensor1.c tensor2.c tensor3.c tensor4.c tensor5.c tensor7.c -+tensor8.c tensor9.c tile2d.c timer.c transpose.c trig.c twiddle.c -+) -+ -+if(BUILD_ALL_STATIC) -+ add_library(kernel STATIC ${kernel_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(kernel_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${kernel_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff -Nru fftw-3.2.2.orig/libbench2/CMakeLists.txt fftw-3.2.2/libbench2/CMakeLists.txt ---- fftw-3.2.2.orig/libbench2/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/libbench2/CMakeLists.txt 2011-12-21 11:36:18.190872200 +0100 -@@ -0,0 +1,11 @@ -+set(bench2_SRCS after-ccopy-from.c after-ccopy-to.c -+after-hccopy-from.c after-hccopy-to.c after-rcopy-from.c -+after-rcopy-to.c aligned-main.c allocate.c aset.c -+bench-cost-postprocess.c bench-exit.c bench-main.c can-do.c caset.c -+dotens2.c info.c main.c mflops.c mp.c ovtpvt.c pow2.c problem.c -+report.c speed.c tensor.c timer.c useropt.c util.c verify-dft.c -+verify-lib.c verify-r2r.c verify-rdft2.c verify.c zero.c -+my-getopt.c -+) -+ -+add_library(bench2 STATIC ${bench2_SRCS}) -diff -Nru fftw-3.2.2.orig/rdft/CMakeLists.txt fftw-3.2.2/rdft/CMakeLists.txt ---- fftw-3.2.2.orig/rdft/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/rdft/CMakeLists.txt 2011-12-21 11:36:18.192872400 +0100 -@@ -0,0 +1,23 @@ -+add_subdirectory(scalar) -+add_subdirectory(simd) -+ -+ -+set(RDFT2_SRCS buffered2.c direct2.c nop2.c rank0-rdft2.c rank-geq2-rdft2.c -+plan2.c problem2.c solve2.c vrank-geq1-rdft2.c rdft2-rdft.c -+rdft2-tensor-max-index.c rdft2-inplace-strides.c rdft2-strides.c -+khc2c.c ct-hc2c.c ct-hc2c-direct.c -+) -+ -+set(rdft_SRCS hc2hc.c dft-r2hc.c dht-r2hc.c dht-rader.c -+buffered.c conf.c direct-r2r.c direct-r2c.c generic.c -+hc2hc-direct.c hc2hc-generic.c khc2hc.c kr2c.c kr2r.c indirect.c nop.c -+plan.c problem.c rank0.c rank-geq2.c rdft-dht.c solve.c -+vrank-geq1.c vrank3-transpose.c ${RDFT2_SRCS} -+) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft STATIC ${rdft_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${rdft_SRCS} ${_fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff -Nru fftw-3.2.2.orig/rdft/scalar/CMakeLists.txt fftw-3.2.2/rdft/scalar/CMakeLists.txt ---- fftw-3.2.2.orig/rdft/scalar/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/rdft/scalar/CMakeLists.txt 2011-12-21 11:36:18.194872600 +0100 -@@ -0,0 +1,12 @@ -+add_subdirectory(r2cb) -+add_subdirectory(r2cf) -+add_subdirectory(r2r) -+ -+set(rdft_scalar_SRCS ${rdft_scalar_SRCS} hfb.c r2c.c r2r.c hc2c.c) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft_scalar STATIC ${rdft_scalar_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_scalar_SRCS) -+ set(_fftw_SRCS ${_fftw_SRCS} ${rdft_scalar_SRCS} ${__fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff -Nru fftw-3.2.2.orig/rdft/scalar/r2cb/CMakeLists.txt fftw-3.2.2/rdft/scalar/r2cb/CMakeLists.txt ---- fftw-3.2.2.orig/rdft/scalar/r2cb/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/rdft/scalar/r2cb/CMakeLists.txt 2011-12-21 11:36:18.196872800 +0100 -@@ -0,0 +1,126 @@ -+# This Makefile.am specifies a set of codelets, efficient transforms -+# of small sizes, that are used as building blocks (kernels) by FFTW -+# to build up large transforms, as well as the options for generating -+# and compiling them. -+ -+# You can customize FFTW for special needs, e.g. to handle certain -+# sizes more efficiently, by adding new codelets to the lists of those -+# included by default. If you change the list of codelets, any new -+# ones you added will be automatically generated when you run the -+# bootstrap script (see "Generating your own code" in the FFTW -+# manual). -+ -+########################################################################### -+# r2cb_ is a hard-coded complex-to-real FFT of size (base cases -+# of real-output FFT recursion) -+set(R2CB r2cb_2.c r2cb_3.c r2cb_4.c r2cb_5.c r2cb_6.c r2cb_7.c r2cb_8.c -+r2cb_9.c r2cb_10.c r2cb_11.c r2cb_12.c r2cb_13.c r2cb_14.c r2cb_15.c -+r2cb_16.c r2cb_32.c r2cb_64.c r2cb_128.c r2cb_20.c r2cb_25.c -+# r2cb_30.c r2cb_40.c r2cb_50.c -+) -+ -+########################################################################### -+# hb_ is a "twiddle" FFT of size , implementing a radix-r DIF -+# step for a real-output FFT. Every hb codelet must have a -+# corresponding r2cbIII codelet (see below)! -+set(HB hb_2.c hb_3.c hb_4.c hb_5.c hb_6.c hb_7.c hb_8.c hb_9.c -+hb_10.c hb_12.c hb_15.c hb_16.c hb_32.c hb_64.c -+hb_20.c hb_25.c # hb_30.c hb_40.c hb_50.c -+) -+ -+# like hb, but generates part of its trig table on the fly (good for large n) -+set(HB2 hb2_4.c hb2_8.c hb2_16.c hb2_32.c -+hb2_5.c hb2_20.c hb2_25.c -+) -+ -+# an r2cb transform where the output is shifted by half a sample (input -+# is multiplied by a phase). This is needed as part of the DIF recursion; -+# every hb_ or hb2_ codelet should have a corresponding r2cbIII_ -+set(R2CBIII r2cbIII_2.c r2cbIII_3.c r2cbIII_4.c r2cbIII_5.c r2cbIII_6.c -+r2cbIII_7.c r2cbIII_8.c r2cbIII_9.c r2cbIII_10.c r2cbIII_12.c -+r2cbIII_15.c r2cbIII_16.c r2cbIII_32.c r2cbIII_64.c -+r2cbIII_20.c r2cbIII_25.c # r2cbIII_30.c r2cbIII_40.c r2cbIII_50.c -+) -+ -+########################################################################### -+# hc2cb_ is a "twiddle" FFT of size , implementing a radix-r DIF -+# step for a real-input FFT with rdft2-style output. must be even. -+set(HC2CB hc2cb_2.c hc2cb_4.c hc2cb_6.c hc2cb_8.c hc2cb_10.c hc2cb_12.c -+hc2cb_16.c hc2cb_32.c -+hc2cb_20.c # hc2cb_30.c -+) -+ -+set(HC2CBDFT hc2cbdft_2.c hc2cbdft_4.c hc2cbdft_6.c hc2cbdft_8.c -+hc2cbdft_10.c hc2cbdft_12.c hc2cbdft_16.c hc2cbdft_32.c -+hc2cbdft_20.c # hc2cbdft_30.c -+) -+ -+# like hc2cb, but generates part of its trig table on the fly (good -+# for large n) -+set(HC2CB2 hc2cb2_4.c hc2cb2_8.c hc2cb2_16.c hc2cb2_32.c -+hc2cb2_20.c # hc2cb2_30.c -+) -+set(HC2CBDFT2 hc2cbdft2_4.c hc2cbdft2_8.c hc2cbdft2_16.c hc2cbdft2_32.c -+hc2cbdft2_20.c # hc2cbdft2_30.c -+) -+ -+########################################################################### -+set(ALL_CODELETS ${R2CB} ${HB} ${HB2} ${R2CBIII} ${HC2CB} ${HC2CB2} ${HC2CBDFT} ${HC2CBDFT2}) -+ -+include(${CMAKE_SOURCE_DIR}/support/codelets.cmake) -+ -+set(SOLVTAB_NAME "X(solvtab_rdft_r2cb)") -+ -+set(CODLIST ${CMAKE_CURRENT_BINARY_DIR}/codlist.c) -+set(CODELET_NAME codelet_) -+ -+write_codelet_list(${CODLIST} ${CODELET_NAME} ${SOLVTAB_NAME} ${ALL_CODELETS}) -+ -+set(rdft_scalar_r2cb_SRCS ${ALL_CODELETS}) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft_scalar_r2cb STATIC ${rdft_scalar_r2cb_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_scalar_r2cb_SRCS) -+ set(__fftw_SRCS ${__fftw_SRCS} ${rdft_scalar_r2cb_SRCS} ${CODLIST} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+# this is old source code which can be changed later -+# only delete codlist.c in maintainer-mode, since it is included in the dist -+# FIXME: is there a way to delete in 'make clean' only when builddir != srcdir? -+#maintainer-clean-local: -+# rm -f $(CODLIST) -+ -+#if MAINTAINER_MODE -+#FLAGS_R2CB=$(RDFT_FLAGS_COMMON) -sign 1 -+#FLAGS_HB=$(RDFT_FLAGS_COMMON) -sign 1 -+#FLAGS_HB2=$(RDFT_FLAGS_COMMON) -sign 1 -twiddle-log3 -precompute-twiddles -+#FLAGS_HC2CB=$(RDFT_FLAGS_COMMON) -sign 1 -+#FLAGS_HC2CB2=$(RDFT_FLAGS_COMMON) -sign 1 -twiddle-log3 -precompute-twiddles -+#FLAGS_R2CBIII=$(RDFT_FLAGS_COMMON) -sign 1 -+# -+#r2cb_%.c: $(CODELET_DEPS) $(GEN_R2CB) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_R2CB) $(FLAGS_R2CB) -n $* -name r2cb_$* -include "r2cb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hb_%.c: $(CODELET_DEPS) $(GEN_HC2HC) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2HC) $(FLAGS_HB) -n $* -dif -name hb_$* -include "hb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hb2_%.c: $(CODELET_DEPS) $(GEN_HC2HC) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2HC) $(FLAGS_HB2) -n $* -dif -name hb2_$* -include "hb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#r2cbIII_%.c: $(CODELET_DEPS) $(GEN_R2CB) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_R2CB) $(FLAGS_R2CB) -n $* -name r2cbIII_$* -dft-III -include "r2cbIII.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cb_%.c: $(CODELET_DEPS) $(GEN_HC2C) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2C) $(FLAGS_HC2CB) -n $* -dif -name hc2cb_$* -include "hc2cb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cb2_%.c: $(CODELET_DEPS) $(GEN_HC2C) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2C) $(FLAGS_HC2CB2) -n $* -dif -name hc2cb2_$* -include "hc2cb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cbdft_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT) $(FLAGS_HC2CB) -n $* -dif -name hc2cbdft_$* -include "hc2cb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cbdft2_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT) $(FLAGS_HC2CB) -n $* -dif -name hc2cbdft2_$* -include "hc2cb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#endif # MAINTAINER_MODE -diff -Nru fftw-3.2.2.orig/rdft/scalar/r2cf/CMakeLists.txt fftw-3.2.2/rdft/scalar/r2cf/CMakeLists.txt ---- fftw-3.2.2.orig/rdft/scalar/r2cf/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/rdft/scalar/r2cf/CMakeLists.txt 2011-12-21 11:36:18.198873000 +0100 -@@ -0,0 +1,128 @@ -+# This Makefile.am specifies a set of codelets, efficient transforms -+# of small sizes, that are used as building blocks (kernels) by FFTW -+# to build up large transforms, as well as the options for generating -+# and compiling them. -+ -+# You can customize FFTW for special needs, e.g. to handle certain -+# sizes more efficiently, by adding new codelets to the lists of those -+# included by default. If you change the list of codelets, any new -+# ones you added will be automatically generated when you run the -+# bootstrap script (see "Generating your own code" in the FFTW -+# manual). -+ -+########################################################################### -+ -+########################################################################### -+# r2cf_ is a hard-coded real-to-complex FFT of size (base cases -+# of real-input FFT recursion) -+set(R2CF r2cf_2.c r2cf_3.c r2cf_4.c r2cf_5.c r2cf_6.c r2cf_7.c r2cf_8.c -+r2cf_9.c r2cf_10.c r2cf_11.c r2cf_12.c r2cf_13.c r2cf_14.c r2cf_15.c -+r2cf_16.c r2cf_32.c r2cf_64.c r2cf_128.c -+r2cf_20.c r2cf_25.c # r2cf_30.c r2cf_40.c r2cf_50.c -+) -+ -+########################################################################### -+# hf_ is a "twiddle" FFT of size , implementing a radix-r DIT -+# step for a real-input FFT. Every hf codelet must have a -+# corresponding r2cfII codelet (see below)! -+set(HF hf_2.c hf_3.c hf_4.c hf_5.c hf_6.c hf_7.c hf_8.c hf_9.c -+hf_10.c hf_12.c hf_15.c hf_16.c hf_32.c hf_64.c -+hf_20.c hf_25.c # hf_30.c hf_40.c hf_50.c -+) -+ -+# like hf, but generates part of its trig table on the fly (good for large n) -+set(HF2 hf2_4.c hf2_8.c hf2_16.c hf2_32.c -+hf2_5.c hf2_20.c hf2_25.c -+) -+ -+# an r2cf transform where the input is shifted by half a sample (output -+# is multiplied by a phase). This is needed as part of the DIT recursion; -+# every hf_ or hf2_ codelet should have a corresponding r2cfII_ -+set(R2CFII r2cfII_2.c r2cfII_3.c r2cfII_4.c r2cfII_5.c r2cfII_6.c -+r2cfII_7.c r2cfII_8.c r2cfII_9.c r2cfII_10.c r2cfII_12.c r2cfII_15.c -+r2cfII_16.c r2cfII_32.c r2cfII_64.c -+r2cfII_20.c r2cfII_25.c # r2cfII_30.c r2cfII_40.c r2cfII_50.c -+) -+ -+########################################################################### -+# hc2cf_ is a "twiddle" FFT of size , implementing a radix-r DIT -+# step for a real-input FFT with rdft2-style output. must be even. -+set(HC2CF hc2cf_2.c hc2cf_4.c hc2cf_6.c hc2cf_8.c hc2cf_10.c hc2cf_12.c -+hc2cf_16.c hc2cf_32.c -+hc2cf_20.c # hc2cf_30.c -+) -+ -+set(HC2CFDFT hc2cfdft_2.c hc2cfdft_4.c hc2cfdft_6.c hc2cfdft_8.c -+hc2cfdft_10.c hc2cfdft_12.c hc2cfdft_16.c hc2cfdft_32.c -+hc2cfdft_20.c # hc2cfdft_30.c -+) -+ -+# like hc2cf, but generates part of its trig table on the fly (good -+# for large n) -+set(HC2CF2 hc2cf2_4.c hc2cf2_8.c hc2cf2_16.c hc2cf2_32.c -+hc2cf2_20.c # hc2cf2_30.c -+) -+set(HC2CFDFT2 hc2cfdft2_4.c hc2cfdft2_8.c hc2cfdft2_16.c hc2cfdft2_32.c -+hc2cfdft2_20.c # hc2cfdft2_30.c -+) -+ -+########################################################################### -+set(ALL_CODELETS ${R2CF} ${HF} ${HF2} ${R2CFII} ${HC2CF} ${HC2CF2} ${HC2CFDFT} ${HC2CFDFT2}) -+ -+include(${CMAKE_SOURCE_DIR}/support/codelets.cmake) -+ -+set(SOLVTAB_NAME "X(solvtab_rdft_r2cf)") -+ -+set(CODLIST ${CMAKE_CURRENT_BINARY_DIR}/codlist.c) -+set(CODELET_NAME codelet_) -+ -+write_codelet_list(${CODLIST} ${CODELET_NAME} ${SOLVTAB_NAME} ${ALL_CODELETS}) -+ -+set(rdft_scalar_r2cf_SRCS ${ALL_CODELETS}) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft_scalar_r2cf STATIC ${rdft_scalar_r2cf_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_scalar_r2cf_SRCS) -+ set(__fftw_SRCS ${__fftw_SRCS} ${rdft_scalar_r2cf_SRCS} ${CODLIST} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+# this is old source code which can be changed later -+# only delete codlist.c in maintainer-mode, since it is included in the dist -+# FIXME: is there a way to delete in 'make clean' only when builddir != srcdir? -+#maintainer-clean-local: -+# rm -f $(CODLIST) -+ -+#if MAINTAINER_MODE -+#FLAGS_R2CF=$(RDFT_FLAGS_COMMON) -+#FLAGS_HF=$(RDFT_FLAGS_COMMON) -+#FLAGS_HF2=$(RDFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+#FLAGS_HC2CF=$(RDFT_FLAGS_COMMON) -+#FLAGS_HC2CF2=$(RDFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+#FLAGS_R2CFII=$(RDFT_FLAGS_COMMON) -+# -+#r2cf_%.c: $(CODELET_DEPS) $(GEN_R2CF) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_R2CF) $(FLAGS_R2CF) -n $* -name r2cf_$* -include "r2cf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hf_%.c: $(CODELET_DEPS) $(GEN_HC2HC) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2HC) $(FLAGS_HF) -n $* -dit -name hf_$* -include "hf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hf2_%.c: $(CODELET_DEPS) $(GEN_HC2HC) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2HC) $(FLAGS_HF2) -n $* -dit -name hf2_$* -include "hf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#r2cfII_%.c: $(CODELET_DEPS) $(GEN_R2CF) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_R2CF) $(FLAGS_R2CF) -n $* -name r2cfII_$* -dft-II -include "r2cfII.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cf_%.c: $(CODELET_DEPS) $(GEN_HC2C) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2C) $(FLAGS_HC2CF) -n $* -dit -name hc2cf_$* -include "hc2cf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cf2_%.c: $(CODELET_DEPS) $(GEN_HC2C) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2C) $(FLAGS_HC2CF2) -n $* -dit -name hc2cf2_$* -include "hc2cf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cfdft_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT) $(FLAGS_HC2CF) -n $* -dit -name hc2cfdft_$* -include "hc2cf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cfdft2_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT) $(FLAGS_HC2CF2) -n $* -dit -name hc2cfdft2_$* -include "hc2cf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#endif # MAINTAINER_MODE -diff -Nru fftw-3.2.2.orig/rdft/scalar/r2r/CMakeLists.txt fftw-3.2.2/rdft/scalar/r2r/CMakeLists.txt ---- fftw-3.2.2.orig/rdft/scalar/r2r/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/rdft/scalar/r2r/CMakeLists.txt 2011-12-21 11:36:18.200873200 +0100 -@@ -0,0 +1,100 @@ -+# This Makefile.am specifies a set of codelets, efficient transforms -+# of small sizes, that are used as building blocks (kernels) by FFTW -+# to build up large transforms, as well as the options for generating -+# and compiling them. -+ -+# You can customize FFTW for special needs, e.g. to handle certain -+# sizes more efficiently, by adding new codelets to the lists of those -+# included by default. If you change the list of codelets, any new -+# ones you added will be automatically generated when you run the -+# bootstrap script (see "Generating your own code" in the FFTW -+# manual). -+ -+########################################################################### -+ -+########################################################################### -+# The following lines specify the REDFT/RODFT/DHT sizes for which to generate -+# specialized codelets. Currently, only REDFT01/10 of size 8 (used in JPEG). -+ -+# e_ is a hard-coded REDFT FFT (DCT) of size -+set(E00 # e00_2.c e00_3.c e00_4.c e00_5.c e00_6.c e00_7.c e00_8.c -+) -+set(E01 e01_8.c # e01_2.c e01_3.c e01_4.c e01_5.c e01_6.c e01_7.c -+) -+set(E10 e10_8.c # e10_2.c e10_3.c e10_4.c e10_5.c e10_6.c e10_7.c -+) -+set(E11 # e11_2.c e11_3.c e11_4.c e11_5.c e11_6.c e11_7.c e11_8.c -+) -+ -+# o_ is a hard-coded RODFT FFT (DST) of size -+set(O00 # o00_2.c o00_3.c o00_4.c o00_5.c o00_6.c o00_7.c o00_8.c -+) -+set(O01 # o01_2.c o01_3.c o01_4.c o01_5.c o01_6.c o01_7.c o01_8.c -+) -+set(O10 # o10_2.c o10_3.c o10_4.c o10_5.c o10_6.c o10_7.c o10_8.c -+) -+set(O11 # o11_2.c o11_3.c o11_4.c o11_5.c o11_6.c o11_7.c o11_8.c -+) -+ -+# dht_ is a hard-coded DHT of size -+set(DHT # dht_2.c dht_3.c dht_4.c dht_5.c dht_6.c dht_7.c dht_8.c -+) -+ -+########################################################################### -+set(ALL_CODELETS ${E00} ${E01} ${E10} ${E11} ${O00} ${O01} ${O10} ${O11} ${DHT}) -+ -+include(${CMAKE_SOURCE_DIR}/support/codelets.cmake) -+ -+set(SOLVTAB_NAME "X(solvtab_rdft_r2r)") -+ -+set(CODLIST ${CMAKE_CURRENT_BINARY_DIR}/codlist.c) -+set(CODELET_NAME codelet_) -+ -+write_codelet_list(${CODLIST} ${CODELET_NAME} ${SOLVTAB_NAME} ${ALL_CODELETS}) -+ -+set(rdft_scalar_r2r_SRCS ${ALL_CODELETS}) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft_scalar_r2r STATIC ${rdft_scalar_r2r_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_scalar_r2r_SRCS) -+ set(__fftw_SRCS ${__fftw_SRCS} ${rdft_scalar_r2r_SRCS} ${CODLIST} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+# this is old source code which can be changed later -+# only delete codlist.c in maintainer-mode, since it is included in the dist -+# FIXME: is there a way to delete in 'make clean' only when builddir != srcdir? -+#maintainer-clean-local: -+# rm -f $(CODLIST) -+ -+#if MAINTAINER_MODE -+#FLAGS_N1=$(DFT_FLAGS_COMMON) -+#FLAGS_T1=$(DFT_FLAGS_COMMON) -+#FLAGS_T2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+#FLAGS_F1=$(DFT_FLAGS_COMMON) -+#FLAGS_F2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+#FLAGS_Q1=$(DFT_FLAGS_COMMON) -reload-twiddle -+#FLAGS_Q2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+# -+#n1_%.c: $(CODELET_DEPS) $(GEN_NOTW) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW) $(FLAGS_N1) -n $* -name n1_$* -include "n.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_T1) -n $* -name t1_$* -include "t.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t2_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_T2) -n $* -name t2_$* -include "t.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#f1_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_F1) -dif -n $* -name f1_$* -include "f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#f2_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_F2) -dif -n $* -name f2_$* -include "f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#q1_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ) $(FLAGS_Q1) -dif -n $* -name q1_$* -include "q.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#q2_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ) $(FLAGS_Q2) -dif -n $* -name q2_$* -include "q.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#endif # MAINTAINER_MODE -diff -Nru fftw-3.2.2.orig/rdft/simd/CMakeLists.txt fftw-3.2.2/rdft/simd/CMakeLists.txt ---- fftw-3.2.2.orig/rdft/simd/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/rdft/simd/CMakeLists.txt 2011-12-21 11:36:18.202873400 +0100 -@@ -0,0 +1,10 @@ -+add_subdirectory(codelets) -+ -+set(rdft_simd_SRCS hc2cbv.c hc2cfv.c) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft_simd STATIC ${rdft_simd_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_simd_SRCS) -+ set(_fftw_SRCS ${_fftw_SRCS} ${rdft_simd_SRCS} ${__fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff -Nru fftw-3.2.2.orig/rdft/simd/codelets/CMakeLists.txt fftw-3.2.2/rdft/simd/codelets/CMakeLists.txt ---- fftw-3.2.2.orig/rdft/simd/codelets/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/rdft/simd/codelets/CMakeLists.txt 2011-12-21 11:36:18.203873500 +0100 -@@ -0,0 +1,61 @@ -+# This Makefile.am specifies a set of codelets, efficient transforms -+# of small sizes, that are used as building blocks (kernels) by FFTW -+# to build up large transforms, as well as the options for generating -+# and compiling them. -+ -+# You can customize FFTW for special needs, e.g. to handle certain -+# sizes more efficiently, by adding new codelets to the lists of those -+# included by default. If you change the list of codelets, any new -+# ones you added will be automatically generated when you run the -+# bootstrap script (see "Generating your own code" in the FFTW -+# manual). -+ -+########################################################################### -+ -+set(HC2CFDFTV hc2cfdftv_2.c hc2cfdftv_4.c hc2cfdftv_6.c hc2cfdftv_8.c -+hc2cfdftv_10.c hc2cfdftv_12.c hc2cfdftv_16.c hc2cfdftv_32.c -+hc2cfdftv_20.c # hc2cfdftv_30.c -+) -+ -+set(HC2CBDFTV hc2cbdftv_2.c hc2cbdftv_4.c hc2cbdftv_6.c hc2cbdftv_8.c -+hc2cbdftv_10.c hc2cbdftv_12.c hc2cbdftv_16.c hc2cbdftv_32.c -+hc2cbdftv_20.c # hc2cbdftv_30.c -+) -+ -+########################################################################### -+set(SIMD_CODELETS ${HC2CFDFTV} ${HC2CBDFTV}) -+ -+if(HAVE_SIMD) -+ set(ALL_CODELETS ${SIMD_CODELETS}) -+else(HAVE_SIMD) -+ set(ALL_CODELETS) -+endif(HAVE_SIMD) -+ -+set(SOLVTAB_NAME "X(solvtab_rdft_simd)") -+set(CODLIST ${CMAKE_CURRENT_BINARY_DIR}/codlist.c) -+set(CODELET_NAME codelet_) -+ -+set(rdft_simd_codelets_SRCS ${ALL_CODELETS}) -+ -+# special rules for regenerating codelets. -+include(${CMAKE_SOURCE_DIR}/support/codelets.cmake) -+ -+write_codelet_list(${CODLIST} ${CODELET_NAME} ${SOLVTAB_NAME} ${ALL_CODELETS}) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft_simd_codelets STATIC ${ALL_CODELETS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_simd_codelets_SRCS) -+ set(__fftw_SRCS ${__fftw_SRCS} ${rdft_simd_codelets_SRCS} ${CODLIST} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+#if MAINTAINER_MODE -+#FLAGS_HC2C=-simd $(FLAGS_COMMON) -pipeline-latency 8 -trivial-stores -variables 32 -no-generate-bytw -+# -+#hc2cfdftv_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT_C) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT_C) $(FLAGS_HC2C) -n $* -dit -name hc2cfdftv_$* -include "hc2cfv.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cbdftv_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT_C) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT_C) $(FLAGS_HC2C) -n $* -dif -sign 1 -name hc2cbdftv_$* -include "hc2cbv.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#endif # MAINTAINER_MODE -diff -Nru fftw-3.2.2.orig/reodft/CMakeLists.txt fftw-3.2.2/reodft/CMakeLists.txt ---- fftw-3.2.2.orig/reodft/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/reodft/CMakeLists.txt 2011-12-21 11:36:18.205873700 +0100 -@@ -0,0 +1,12 @@ -+set(reodft_SRCS conf.c reodft010e-r2hc.c -+reodft11e-radix2.c reodft11e-r2hc-odd.c redft00e-r2hc-pad.c -+rodft00e-r2hc-pad.c reodft00e-splitradix.c -+# redft00e-r2hc.c rodft00e-r2hc.c reodft11e-r2hc.c -+) -+ -+if(BUILD_ALL_STATIC) -+ add_library(reodft STATIC ${reodft_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(reodft_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${reodft_SRCS} ${_fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff -Nru fftw-3.2.2.orig/simd/CMakeLists.txt fftw-3.2.2/simd/CMakeLists.txt ---- fftw-3.2.2.orig/simd/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/simd/CMakeLists.txt 2011-12-21 11:42:02.916250500 +0100 -@@ -0,0 +1,10 @@ -+set(simd_SRCS altivec.c sse.c sse2.c taint.c mips_ps.c) -+ -+add_subdirectory(nonportable) -+ -+if(BUILD_ALL_STATIC) -+ add_library(simd STATIC ${simd_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(simd_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${simd_SRCS} ${_fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff -Nru fftw-3.2.2.orig/simd/nonportable/CMakeLists.txt fftw-3.2.2/simd/nonportable/CMakeLists.txt ---- fftw-3.2.2.orig/simd/nonportable/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/simd/nonportable/CMakeLists.txt 2011-12-21 11:36:18.208874000 +0100 -@@ -0,0 +1,8 @@ -+set(simd_nonportable_SRCS sse.c sse2.c) -+ -+if(BUILD_ALL_STATIC) -+ add_library(simd_nonportable STATIC ${simd_nonportable_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(simd_nonportable_SRCS) -+ set(_fftw_SRCS ${_fftw_SRCS} ${simd_nonportable_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff -Nru fftw-3.2.2.orig/support/codelets.cmake fftw-3.2.2/support/codelets.cmake ---- fftw-3.2.2.orig/support/codelets.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/support/codelets.cmake 2011-12-21 11:36:18.209874100 +0100 -@@ -0,0 +1,18 @@ -+# generate file codlist.c -+ -+macro(write_codelet_list CODLIST CODELET_NAME SOLVTAB_NAME) -+ file(RELATIVE_PATH filename ${CMAKE_BINARY_DIR} ${CODLIST}) -+ message(STATUS "writing codelet list file ${filename}") -+ file(WRITE ${CODLIST} "#include \"ifftw.h\"\n\n") -+ foreach(codelet ${ARGN}) -+ string(REGEX REPLACE "([A-Za-z0-9_]*)\\.c" "\\1" codeletbase "${codelet}") -+ file(APPEND ${CODLIST} "extern void X(${CODELET_NAME}${codeletbase})(planner *);\n") -+ endforeach(codelet ${ARGN}) -+ file(APPEND ${CODLIST} "\n\nextern const solvtab ${SOLVTAB_NAME};\n") -+ file(APPEND ${CODLIST} "const solvtab ${SOLVTAB_NAME} = {\n") -+ foreach(codelet ${ARGN}) -+ string(REGEX REPLACE "([A-Za-z0-9_]*)\\.c" "\\1" codeletbase "${codelet}") -+ file(APPEND ${CODLIST} " SOLVTAB(X(${CODELET_NAME}${codeletbase})),\n") -+ endforeach(codelet ${ARGN}) -+ file(APPEND ${CODLIST} " SOLVTAB_END\n};\n") -+endmacro(write_codelet_list CODLIST CODELET_NAME SOLVTAB_NAME) -\ No newline at end of file -diff -Nru fftw-3.2.2.orig/tests/CMakeLists.txt fftw-3.2.2/tests/CMakeLists.txt ---- fftw-3.2.2.orig/tests/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/tests/CMakeLists.txt 2011-12-21 11:36:18.211874300 +0100 -@@ -0,0 +1,71 @@ -+#noinst_PROGRAMS = bench -+#EXTRA_DIST = check.pl README -+ -+#if SMP -+#if !COMBINED_THREADS -+#LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_threads.la -+#endif -+#else -+#LIBFFTWTHREADS = -+#endif -+ -+set(bench_SRCS bench.c hook.c fftw-bench.c) -+add_executable(bench ${bench_SRCS}) -+target_link_libraries(bench fftw bench2 fftw) -+ -+#check-local: bench$(EXEEXT) -+# perl -w $(srcdir)/check.pl -r -c=30 -v `pwd`/bench -+# @echo "--------------------------------------------------------------" -+# @echo " FFTW transforms passed basic tests!" -+# @echo "--------------------------------------------------------------" -+#if SMP -+# perl -w $(srcdir)/check.pl -r -c=30 -v --nthreads=2 `pwd`/bench -+# @echo "--------------------------------------------------------------" -+# @echo " FFTW threaded transforms passed basic tests!" -+# @echo "--------------------------------------------------------------" -+#endif -+# -+#bigcheck: bench$(EXEEXT) -+# perl -w $(srcdir)/check.pl -a -v `pwd`/bench -+# @echo "--------------------------------------------------------------" -+# @echo " FFTW transforms passed big tests!" -+# @echo "--------------------------------------------------------------" -+#if SMP -+# perl -w $(srcdir)/check.pl -a -v --nthreads=2 `pwd`/bench -+# perl -w $(srcdir)/check.pl -a -v --nthreads=3 `pwd`/bench -+# perl -w $(srcdir)/check.pl -a -v --nthreads=10 `pwd`/bench -+# @echo "--------------------------------------------------------------" -+# @echo " FFTW threaded transforms passed big tests!" -+# @echo "--------------------------------------------------------------" -+#endif -+# -+#smallcheck: bench$(EXEEXT) -+# perl -w $(srcdir)/check.pl -r -c=1 -v `pwd`/bench -+# perl -w $(srcdir)/check.pl -r --estimate -c=5 -v `pwd`/bench -+# @echo "--------------------------------------------------------------" -+# @echo " FFTW transforms passed a few tests!" -+# @echo "--------------------------------------------------------------" -+#if SMP -+# perl -w $(srcdir)/check.pl -r --estimate -c=2 -v --nthreads=2 `pwd`/bench -+# @echo "--------------------------------------------------------------" -+# @echo " FFTW threaded transforms passed a few tests!" -+# @echo "--------------------------------------------------------------" -+#endif -+# -+#paranoid-check: bench$(EXEEXT) -+#if SMP -+# perl -w $(srcdir)/check.pl -a --patient --nthreads=10 --paranoid `pwd`/bench -+# perl -w $(srcdir)/check.pl -a --patient --nthreads=7 --paranoid `pwd`/bench -+# perl -w $(srcdir)/check.pl -a --patient --nthreads=3 --paranoid `pwd`/bench -+# perl -w $(srcdir)/check.pl -a --patient --nthreads=2 --paranoid `pwd`/bench -+#endif -+# perl -w $(srcdir)/check.pl -a --patient --paranoid `pwd`/bench -+# -+#exhaustive-check: bench$(EXEEXT) -+#if SMP -+# perl -w $(srcdir)/check.pl -a --exhaustive --nthreads=10 --paranoid `pwd`/bench -+# perl -w $(srcdir)/check.pl -a --exhaustive --nthreads=7 --paranoid `pwd`/bench -+# perl -w $(srcdir)/check.pl -a --exhaustive --nthreads=3 --paranoid `pwd`/bench -+# perl -w $(srcdir)/check.pl -a --exhaustive --nthreads=2 --paranoid `pwd`/bench -+#endif -+# perl -w $(srcdir)/check.pl -a --exhaustive --paranoid `pwd`/bench -diff -Nru fftw-3.2.2.orig/threads/api.c fftw-3.2.2/threads/api.c ---- fftw-3.2.2.orig/threads/api.c 2009-07-12 12:35:49.000000000 +0200 -+++ fftw-3.2.2/threads/api.c 2011-12-21 11:36:18.212874400 +0100 -@@ -56,7 +56,6 @@ - return 1; - } - -- - void X(cleanup_threads)(void) - { - X(cleanup)(); -diff -Nru fftw-3.2.2.orig/threads/CMakeLists.txt fftw-3.2.2/threads/CMakeLists.txt ---- fftw-3.2.2.orig/threads/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ fftw-3.2.2/threads/CMakeLists.txt 2011-12-21 11:36:18.215874700 +0100 -@@ -0,0 +1,9 @@ -+set(threads_SRCS api.c conf.c threads.c openmp.c dft-vrank-geq1.c ct.c rdft-vrank-geq1.c hc2hc.c vrank-geq1-rdft2.c f77api.c -+) -+ -+if(BUILD_ALL_STATIC) -+ add_library(threads STATIC ${threads_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(threads_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${threads_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -\ No newline at end of file diff -Nru krita-3.1.4/3rdparty/ext_fftw3/fftw-3.2.2-20130818.diff krita-3.1.4+dfsg/3rdparty/ext_fftw3/fftw-3.2.2-20130818.diff --- krita-3.1.4/3rdparty/ext_fftw3/fftw-3.2.2-20130818.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_fftw3/fftw-3.2.2-20130818.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,470 +0,0 @@ -diff -Nru -x '*~' fftw-3.2.2.orig/simd/simd-sse.h fftw-3.2.2/simd/simd-sse.h ---- fftw-3.2.2.orig/simd/simd-sse.h 2009-07-12 07:35:49.000000000 -0300 -+++ fftw-3.2.2/simd/simd-sse.h 2013-08-18 14:36:21.511098200 -0300 -@@ -82,7 +82,7 @@ - # define LOADH(addr, val) _mm_loadh_pi(val, (const __m64 *)(addr)) - # define LOADL0(addr, val) _mm_loadl_pi(val, (const __m64 *)(addr)) - -- static inline V LD(const R *x, INT ivs, const R *aligned_like) -+ static V LD(const R *x, INT ivs, const R *aligned_like) - { - V var; - (void)aligned_like; /* UNUSED */ -@@ -111,14 +111,14 @@ - (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) - - --static inline V LDA(const R *x, INT ivs, const R *aligned_like) -+static V LDA(const R *x, INT ivs, const R *aligned_like) - { - (void)aligned_like; /* UNUSED */ - (void)ivs; /* UNUSED */ - return *(const V *)x; - } - --static inline void ST(R *x, V v, INT ovs, const R *aligned_like) -+static void ST(R *x, V v, INT ovs, const R *aligned_like) - { - (void)aligned_like; /* UNUSED */ - /* WARNING: the extra_iter hack depends upon STOREL occurring -@@ -127,7 +127,7 @@ - STOREL(x, v); - } - --static inline void STA(R *x, V v, INT ovs, const R *aligned_like) -+static void STA(R *x, V v, INT ovs, const R *aligned_like) - { - (void)aligned_like; /* UNUSED */ - (void)ovs; /* UNUSED */ -@@ -136,7 +136,7 @@ - - #if 0 - /* this should be faster but it isn't. */ --static inline void STN2(R *x, V v0, V v1, INT ovs) -+static void STN2(R *x, V v0, V v1, INT ovs) - { - STA(x, SHUFPS(v0, v1, SHUFVAL(0, 1, 0, 1)), ovs, 0); - STA(x + ovs, SHUFPS(v0, v1, SHUFVAL(2, 3, 2, 3)), ovs, 0); -@@ -148,7 +148,7 @@ - #define STM4(x, v, ovs, aligned_like) /* no-op */ - - #ifdef VISUAL_CXX_DOES_NOT_SUCK --static inline void STN4(R *x, V v0, V v1, V v2, V v3, INT ovs) -+static void STN4(R *x, V v0, V v1, V v2, V v3, INT ovs) - { - V x0, x1, x2, x3; - x0 = UNPCKL(v0, v2); -@@ -198,23 +198,23 @@ - } - #endif - --static inline V FLIP_RI(V x) -+static V FLIP_RI(V x) - { - return SHUFPS(x, x, SHUFVAL(1, 0, 3, 2)); - } - - extern const union uvec X(sse_pmpm); --static inline V VCONJ(V x) -+static V VCONJ(V x) - { - return VXOR(X(sse_pmpm).v, x); - } - --static inline V VBYI(V x) -+static V VBYI(V x) - { - return FLIP_RI(VCONJ(x)); - } - --static inline V VZMUL(V tx, V sr) -+static V VZMUL(V tx, V sr) - { - V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); - V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -@@ -223,7 +223,7 @@ - return VADD(tr, VMUL(ti, sr)); - } - --static inline V VZMULJ(V tx, V sr) -+static V VZMULJ(V tx, V sr) - { - V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); - V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -@@ -232,7 +232,7 @@ - return VSUB(tr, VMUL(ti, sr)); - } - --static inline V VZMULI(V tx, V sr) -+static V VZMULI(V tx, V sr) - { - V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); - V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -@@ -241,7 +241,7 @@ - return VSUB(VMUL(tr, sr), ti); - } - --static inline V VZMULIJ(V tx, V sr) -+static V VZMULIJ(V tx, V sr) - { - V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); - V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -@@ -258,7 +258,7 @@ - {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_SIN, v, x}, {TW_SIN, v+1, x} - #define TWVL1 (VL) - --static inline V BYTW1(const R *t, V sr) -+static V BYTW1(const R *t, V sr) - { - const V *twp = (const V *)t; - V tx = twp[0]; -@@ -269,7 +269,7 @@ - return VADD(tr, VMUL(ti, sr)); - } - --static inline V BYTWJ1(const R *t, V sr) -+static V BYTWJ1(const R *t, V sr) - { - const V *twp = (const V *)t; - V tx = twp[0]; -@@ -286,7 +286,7 @@ - {TW_SIN, v, -x}, {TW_SIN, v, x}, {TW_SIN, v+1, -x}, {TW_SIN, v+1, x} - #define TWVL2 (2 * VL) - --static inline V BYTW2(const R *t, V sr) -+static V BYTW2(const R *t, V sr) - { - const V *twp = (const V *)t; - V si = FLIP_RI(sr); -@@ -294,7 +294,7 @@ - return VADD(VMUL(tr, sr), VMUL(ti, si)); - } - --static inline V BYTWJ2(const R *t, V sr) -+static V BYTWJ2(const R *t, V sr) - { - const V *twp = (const V *)t; - V si = FLIP_RI(sr); -diff -Nru -x '*~' fftw-3.2.2.orig/simd/simd-sse.h.bak fftw-3.2.2/simd/simd-sse.h.bak ---- fftw-3.2.2.orig/simd/simd-sse.h.bak 1969-12-31 22:00:00.000000000 -0200 -+++ fftw-3.2.2/simd/simd-sse.h.bak 2013-08-18 14:32:55.234299800 -0300 -@@ -0,0 +1,319 @@ -+/* -+ * Copyright (c) 2003, 2007-8 Matteo Frigo -+ * Copyright (c) 2003, 2007-8 Massachusetts Institute of Technology -+ * -+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ * -+ */ -+ -+#ifndef FFTW_SINGLE -+#error "SSE only works in single precision" -+#endif -+ -+#define VL 2 /* SIMD complex vector length */ -+#define ALIGNMENT 8 /* alignment for LD/ST */ -+#define ALIGNMENTA 16 /* alignment for LDA/STA */ -+#define SIMD_VSTRIDE_OKA(x) ((x) == 2) -+#define SIMD_STRIDE_OKPAIR SIMD_STRIDE_OK -+ -+#define RIGHT_CPU X(have_sse) -+extern int RIGHT_CPU(void); -+ -+/* gcc compiles the following code only when __SSE__ is defined */ -+#if defined(__SSE__) || !defined(__GNUC__) -+ -+/* some versions of glibc's sys/cdefs.h define __inline to be empty, -+ which is wrong because xmmintrin.h defines several inline -+ procedures */ -+#undef __inline -+ -+#include -+ -+typedef __m128 V; -+#define VADD _mm_add_ps -+#define VSUB _mm_sub_ps -+#define VMUL _mm_mul_ps -+#define VXOR _mm_xor_ps -+#define SHUFPS _mm_shuffle_ps -+#define STOREH(addr, val) _mm_storeh_pi((__m64 *)(addr), val) -+#define STOREL(addr, val) _mm_storel_pi((__m64 *)(addr), val) -+#define UNPCKH _mm_unpackhi_ps -+#define UNPCKL _mm_unpacklo_ps -+ -+#ifdef __GNUC__ -+# define DVK(var, val) const V var = __extension__ ({ \ -+ static const union fvec _var = { {val, val, val, val} }; \ -+ _var.v; \ -+ }) -+# define LDK(x) x -+ -+ /* we use inline asm because gcc generates slow code for -+ _mm_loadh_pi(). gcc insists upon having an existing variable for -+ VAL, which is however never used. Thus, it generates code to move -+ values in and out the variable. Worse still, gcc-4.0 stores VAL on -+ the stack, causing valgrind to complain about uninitialized reads. -+ */ -+ -+ static inline V LD(const R *x, INT ivs, const R *aligned_like) -+ { -+ V var; -+ (void)aligned_like; /* UNUSED */ -+ __asm__("movlps %1, %0\n\tmovhps %2, %0" -+ : "=x"(var) : "m"(x[0]), "m"(x[ivs])); -+ return var; -+ } -+ -+#else -+ -+# define DVK(var, val) const R var = K(val) -+# define LDK(x) _mm_set_ps1(x) -+# define LOADH(addr, val) _mm_loadh_pi(val, (const __m64 *)(addr)) -+# define LOADL0(addr, val) _mm_loadl_pi(val, (const __m64 *)(addr)) -+ -+#ifndef __INTEL_COMPILER -+ static inline V LD(const R *x, INT ivs, const R *aligned_like) -+#else -+ static V LD(const R *x, INT ivs, const R *aligned_like) -+#endif -+ { -+ V var; -+ (void)aligned_like; /* UNUSED */ -+ var = LOADL0(x, var); -+ var = LOADH(x + ivs, var); -+ return var; -+ } -+ -+#endif -+ -+union fvec { -+ R f[4]; -+ V v; -+}; -+ -+union uvec { -+ unsigned u[4]; -+ V v; -+}; -+ -+#define VFMA(a, b, c) VADD(c, VMUL(a, b)) -+#define VFNMS(a, b, c) VSUB(c, VMUL(a, b)) -+#define VFMS(a, b, c) VSUB(VMUL(a, b), c) -+ -+#define SHUFVAL(fp0,fp1,fp2,fp3) \ -+ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) -+ -+ -+static inline V LDA(const R *x, INT ivs, const R *aligned_like) -+{ -+ (void)aligned_like; /* UNUSED */ -+ (void)ivs; /* UNUSED */ -+ return *(const V *)x; -+} -+ -+static inline void ST(R *x, V v, INT ovs, const R *aligned_like) -+{ -+ (void)aligned_like; /* UNUSED */ -+ /* WARNING: the extra_iter hack depends upon STOREL occurring -+ after STOREH */ -+ STOREH(x + ovs, v); -+ STOREL(x, v); -+} -+ -+static inline void STA(R *x, V v, INT ovs, const R *aligned_like) -+{ -+ (void)aligned_like; /* UNUSED */ -+ (void)ovs; /* UNUSED */ -+ *(V *)x = v; -+} -+ -+#if 0 -+/* this should be faster but it isn't. */ -+static inline void STN2(R *x, V v0, V v1, INT ovs) -+{ -+ STA(x, SHUFPS(v0, v1, SHUFVAL(0, 1, 0, 1)), ovs, 0); -+ STA(x + ovs, SHUFPS(v0, v1, SHUFVAL(2, 3, 2, 3)), ovs, 0); -+} -+#endif -+#define STM2 ST -+#define STN2(x, v0, v1, ovs) /* nop */ -+ -+#define STM4(x, v, ovs, aligned_like) /* no-op */ -+ -+#ifdef VISUAL_CXX_DOES_NOT_SUCK -+static inline void STN4(R *x, V v0, V v1, V v2, V v3, INT ovs) -+{ -+ V x0, x1, x2, x3; -+ x0 = UNPCKL(v0, v2); -+ x1 = UNPCKH(v0, v2); -+ x2 = UNPCKL(v1, v3); -+ x3 = UNPCKH(v1, v3); -+ STA(x, UNPCKL(x0, x2), 0, 0); -+ STA(x + ovs, UNPCKH(x0, x2), 0, 0); -+ STA(x + 2 * ovs, UNPCKL(x1, x3), 0, 0); -+ STA(x + 3 * ovs, UNPCKH(x1, x3), 0, 0); -+} -+#else /* Visual C++ sucks */ -+ -+/* -+ Straight from the mouth of the horse: -+ -+ We "reserved" the possibility of aligning arguments with -+ __declspec(align(X)) passed by value by issuing this error. -+ -+ The first 3 parameters of type __m64 (or other MMX types) are -+ passed in registers. The rest would be passed on the stack. We -+ decided aligning the stack was wasteful, especially for __m128 -+ parameters. Also, we thought it would be infrequent that people -+ would want to pass more than 3 by value. -+ -+ If we didn't issue an error, we would have to binary compatibility -+ in the future if we decided to align the arguments. -+ -+ -+ Hope that explains it. -+ -- -+ Jason Shirk, Visual C++ Compiler Team -+ This posting is provided AS IS with no warranties, and confers no rights -+*/ -+ -+#define STN4(x, v0, v1, v2, v3, ovs) \ -+{ \ -+ V xxx0, xxx1, xxx2, xxx3; \ -+ xxx0 = UNPCKL(v0, v2); \ -+ xxx1 = UNPCKH(v0, v2); \ -+ xxx2 = UNPCKL(v1, v3); \ -+ xxx3 = UNPCKH(v1, v3); \ -+ STA(x, UNPCKL(xxx0, xxx2), 0, 0); \ -+ STA(x + ovs, UNPCKH(xxx0, xxx2), 0, 0); \ -+ STA(x + 2 * ovs, UNPCKL(xxx1, xxx3), 0, 0); \ -+ STA(x + 3 * ovs, UNPCKH(xxx1, xxx3), 0, 0); \ -+} -+#endif -+ -+static inline V FLIP_RI(V x) -+{ -+ return SHUFPS(x, x, SHUFVAL(1, 0, 3, 2)); -+} -+ -+extern const union uvec X(sse_pmpm); -+static inline V VCONJ(V x) -+{ -+ return VXOR(X(sse_pmpm).v, x); -+} -+ -+static inline V VBYI(V x) -+{ -+ return FLIP_RI(VCONJ(x)); -+} -+ -+static inline V VZMUL(V tx, V sr) -+{ -+ V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -+ V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -+ tr = VMUL(tr, sr); -+ sr = VBYI(sr); -+ return VADD(tr, VMUL(ti, sr)); -+} -+ -+static inline V VZMULJ(V tx, V sr) -+{ -+ V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -+ V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -+ tr = VMUL(tr, sr); -+ sr = VBYI(sr); -+ return VSUB(tr, VMUL(ti, sr)); -+} -+ -+static inline V VZMULI(V tx, V sr) -+{ -+ V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -+ V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -+ ti = VMUL(ti, sr); -+ sr = VBYI(sr); -+ return VSUB(VMUL(tr, sr), ti); -+} -+ -+static inline V VZMULIJ(V tx, V sr) -+{ -+ V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -+ V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -+ ti = VMUL(ti, sr); -+ sr = VBYI(sr); -+ return VADD(VMUL(tr, sr), ti); -+} -+ -+#define VFMAI(b, c) VADD(c, VBYI(b)) -+#define VFNMSI(b, c) VSUB(c, VBYI(b)) -+ -+/* twiddle storage #1: compact, slower */ -+#define VTW1(v,x) \ -+ {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_SIN, v, x}, {TW_SIN, v+1, x} -+#define TWVL1 (VL) -+ -+static inline V BYTW1(const R *t, V sr) -+{ -+ const V *twp = (const V *)t; -+ V tx = twp[0]; -+ V tr = UNPCKL(tx, tx); -+ V ti = UNPCKH(tx, tx); -+ tr = VMUL(tr, sr); -+ sr = VBYI(sr); -+ return VADD(tr, VMUL(ti, sr)); -+} -+ -+static inline V BYTWJ1(const R *t, V sr) -+{ -+ const V *twp = (const V *)t; -+ V tx = twp[0]; -+ V tr = UNPCKL(tx, tx); -+ V ti = UNPCKH(tx, tx); -+ tr = VMUL(tr, sr); -+ sr = VBYI(sr); -+ return VSUB(tr, VMUL(ti, sr)); -+} -+ -+/* twiddle storage #2: twice the space, faster (when in cache) */ -+#define VTW2(v,x) \ -+ {TW_COS, v, x}, {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_COS, v+1, x}, \ -+ {TW_SIN, v, -x}, {TW_SIN, v, x}, {TW_SIN, v+1, -x}, {TW_SIN, v+1, x} -+#define TWVL2 (2 * VL) -+ -+static inline V BYTW2(const R *t, V sr) -+{ -+ const V *twp = (const V *)t; -+ V si = FLIP_RI(sr); -+ V tr = twp[0], ti = twp[1]; -+ return VADD(VMUL(tr, sr), VMUL(ti, si)); -+} -+ -+static inline V BYTWJ2(const R *t, V sr) -+{ -+ const V *twp = (const V *)t; -+ V si = FLIP_RI(sr); -+ V tr = twp[0], ti = twp[1]; -+ return VSUB(VMUL(tr, sr), VMUL(ti, si)); -+} -+ -+/* twiddle storage #3 */ -+#define VTW3(v,x) {TW_CEXP, v, x}, {TW_CEXP, v+1, x} -+#define TWVL3 (VL) -+ -+/* twiddle storage for split arrays */ -+#define VTWS(v,x) \ -+ {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_COS, v+2, x}, {TW_COS, v+3, x}, \ -+ {TW_SIN, v, x}, {TW_SIN, v+1, x}, {TW_SIN, v+2, x}, {TW_SIN, v+3, x} -+#define TWVLS (2 * VL) -+ -+#endif /* __SSE__ */ diff -Nru krita-3.1.4/3rdparty/ext_fftw3/fftw-3.2.2.diff krita-3.1.4+dfsg/3rdparty/ext_fftw3/fftw-3.2.2.diff --- krita-3.1.4/3rdparty/ext_fftw3/fftw-3.2.2.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_fftw3/fftw-3.2.2.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,3892 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -new file mode 100644 -index 0000000..3e6534b ---- /dev/null -+++ b/CMakeLists.txt -@@ -0,0 +1,123 @@ -+project(libfftw) -+ -+cmake_minimum_required(VERSION 2.6) -+ -+include(${CMAKE_SOURCE_DIR}/CheckMingwVersion.cmake) -+ -+option(DISABLE_FORTRAN "disable fortran wrappers" ON) -+option(FFTW_SINGLE "compile in single precision" OFF) -+option(FFTW_DOUBLE "compile in double precision" ON) -+option(FFTW_LDOUBLE "compile in long double precision" OFF) -+option(ENABLE_OPENMP "compile in openmp extensions" OFF) -+option(BUILD_ALL_STATIC "build each and every library as a small static library" OFF) -+option(BUILD_STATIC "build one static library" OFF) -+option(BUILD_BENCHMARKS "build benchmarks" ON) -+ -+add_definitions(-DHAVE_CONFIG_H) -+if(MSVC) -+ add_definitions(-D_CRT_SECURE_NO_WARNINGS -wd4700) -+endif(MSVC) -+ -+if(FFTW_SINGLE) -+ set(FFTW_DOUBLE OFF) -+ set(FFTW_LDOUBLE OFF) -+elseif(FFTW_DOUBLE) -+ set(FFTW_LDOUBLE OFF) -+endif(FFTW_SINGLE) -+ -+if(MINGW32) -+ add_definitions(-march=pentium4) -+endif(MINGW32) -+ -+if(ENABLE_OPENMP) -+ add_definitions(-openmp) -+endif(ENABLE_OPENMP) -+ -+set(PACKAGE "\"fftw\"") -+set(VERSION "\"3.2.2\"") -+set(PACKAGE_VERSION "${VERSION}") -+set(FFTW_CC "\"${CMAKE_C_COMPILER}\"") -+set(CODELET_OPTIM "\"\"") -+ -+set(fftw_SRCS) -+ -+include(ConfigureChecks.cmake) -+ -+macro(prepend_prefix outList) -+ FILE(RELATIVE_PATH prefix ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) -+ foreach(element ${${outList}}) -+ set(_outList ${_outList} ${prefix}/${element}) -+ endforeach(element ${${outList}}) -+ set(${outList} ${_outList}) -+endmacro(prepend_prefix outList) -+ -+include_directories( -+ ${CMAKE_CURRENT_SOURCE_DIR} -+ ${CMAKE_CURRENT_BINARY_DIR} -+ ${CMAKE_CURRENT_SOURCE_DIR}/kernel -+ ${CMAKE_CURRENT_SOURCE_DIR}/simd -+ ${CMAKE_CURRENT_SOURCE_DIR}/dft -+ ${CMAKE_CURRENT_SOURCE_DIR}/dft/scalar -+ ${CMAKE_CURRENT_SOURCE_DIR}/dft/scalar/codelets -+ ${CMAKE_CURRENT_BINARY_DIR}/dft/scalar/codelets -+ ${CMAKE_CURRENT_SOURCE_DIR}/dft/simd -+ ${CMAKE_CURRENT_SOURCE_DIR}/dft/simd/codelets -+ ${CMAKE_CURRENT_BINARY_DIR}/dft/simd/codelets -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft/scalar -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft/scalar/r2cb -+ ${CMAKE_CURRENT_BINARY_DIR}/rdft/scalar/r2cb -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft/scalar/r2cf -+ ${CMAKE_CURRENT_BINARY_DIR}/rdft/scalar/r2cf -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft/scalar/r2r -+ ${CMAKE_CURRENT_BINARY_DIR}/rdft/scalar/r2r -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft/simd -+ ${CMAKE_CURRENT_SOURCE_DIR}/rdft/simd/codelets -+ ${CMAKE_CURRENT_BINARY_DIR}/rdft/simd/codelets -+ ${CMAKE_CURRENT_SOURCE_DIR}/reodft -+ ${CMAKE_CURRENT_SOURCE_DIR}/api -+ ${CMAKE_CURRENT_SOURCE_DIR}/threads -+ ${CMAKE_CURRENT_SOURCE_DIR}/cell -+ ${CMAKE_CURRENT_SOURCE_DIR}/libbench2 -+ ${CMAKE_CURRENT_SOURCE_DIR}/tests -+ ${CMAKE_CURRENT_SOURCE_DIR}/tools -+) -+add_subdirectory(kernel) -+add_subdirectory(simd) -+add_subdirectory(dft) -+add_subdirectory(rdft) -+add_subdirectory(reodft) -+add_subdirectory(api) -+add_subdirectory(threads) -+ -+if(NOT BUILD_ALL_STATIC) -+ if(NOT BUILD_STATIC) -+ set(_shared SHARED) -+ set(fftw_SRCS ${fftw_SRCS} fftw.def) -+ else(NOT BUILD_STATIC) -+ set(_shared STATIC) -+ endif(NOT BUILD_STATIC) -+ -+ if(FFTW_SINGLE) -+ set(FFTW_OUTPUT_NAME fftw3f-3) -+ elseif(FFTW_DOUBLE) -+ set(FFTW_OUTPUT_NAME fftw3-3) -+ elseif(FFTW_LDOUBLE) -+ set(FFTW_OUTPUT_NAME fftw3l-3) -+ endif(FFTW_SINGLE) -+ -+ add_library(fftw ${_shared} ${fftw_SRCS}) -+ set_target_properties(fftw PROPERTIES DEFINE_SYMBOL DLL_EXPORT -+ OUTPUT_NAME ${FFTW_OUTPUT_NAME}) -+ install(TARGETS fftw RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+ install(FILES api/fftw3.h api/fftw3.f DESTINATION include) -+endif(NOT BUILD_ALL_STATIC) -+ -+if(BUILD_BENCHMARKS) -+ add_subdirectory(libbench2) -+ add_subdirectory(tests) -+endif(BUILD_BENCHMARKS) -+#add_subdirectory(tools) -diff --git a/CheckMingwVersion.cmake b/CheckMingwVersion.cmake -new file mode 100644 -index 0000000..8a2e805 ---- /dev/null -+++ b/CheckMingwVersion.cmake -@@ -0,0 +1,26 @@ -+# -+# check mingw compiler version -+# -+# Copyright (c) 2010, Ralf Habacker -+# -+# Redistribution and use is allowed according to the terms of the BSD license. -+# -+if (NOT MINGW32 AND NOT MINGW64) -+ exec_program( -+ ${CMAKE_C_COMPILER} -+ ARGS ${CMAKE_C_COMPILER_ARG1} -dumpmachine -+ OUTPUT_VARIABLE _machine -+ ) -+ if (_machine STREQUAL mingw32) -+ set (MINGW32 1) -+ message(STATUS "found mingw 32 bit compiler") -+ elseif (_machine STREQUAL i686-w64-mingw32) -+ set (MINGW32 1) -+ set (MINGW_W32 1) -+ message(STATUS "found mingw 64 bit compiler") -+ elseif (_machine STREQUAL x86_64-w64-mingw32) -+ set (MINGW64 1) -+ set (MINGW_W64 1) -+ message(STATUS "found mingw 64 bit compiler") -+ endif (_machine STREQUAL mingw32) -+endif (NOT MINGW32 AND NOT MINGW64) -diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake -new file mode 100644 -index 0000000..d04a045 ---- /dev/null -+++ b/ConfigureChecks.cmake -@@ -0,0 +1,273 @@ -+if(MSVC) -+ set(inline __inline) -+endif(MSVC) -+set(HAVE_THREADS 1) -+set(WITH_OUR_MALLOC16 1) -+set(STDC_HEADERS 1) -+set(HAVE_UINTPTR_T 1) -+set(HAVE_UINTPTR_T 1) -+set(HAVE_SIMD 1) -+set(HAVE_LONG_DOUBLE 1) -+set(HAVE_OPENMP ${ENABLE_OPENMP}) -+ -+if(FFTW_SINGLE) -+ set(HAVE_SSE 1) -+elseif(FFTW_DOUBLE) -+ set(HAVE_SSE2 1) # only works in double precision -+endif(FFTW_SINGLE) -+ -+if(FFTW_SINGLE) -+ set(FFTW_SYMBOL_PREFIX "fftwf_") -+elseif(FFTW_DOUBLE) -+ set(FFTW_SYMBOL_PREFIX "fftw_") -+elseif(FFTW_LDOUBLE) -+ set(FFTW_SYMBOL_PREFIX "fftwl_") -+endif(FFTW_SINGLE) -+ -+if(BUILD_BENCHMARKS) -+ set(BENCHFFT_SINGLE ${FFTW_SINGLE}) -+ set(BENCHFFT_DOUBLE ${FFTW_DOUBLE}) -+ set(BENCHFFT_LDOUBLE ${FFTW_LDOUBLE}) -+endif(BUILD_BENCHMARKS) -+#/* extra CFLAGS for codelets */ -+#cmakedefine CODELET_OPTIM @CODELET_OPTIM@ -+ -+include(CheckIncludeFiles) -+include(CheckSymbolExists) -+include(CheckTypeSize) -+ -+check_include_files(alloca.h HAVE_ALLOCA_H) -+check_include_files(stdlib.h HAVE_STDLIB_H) -+check_include_files(stdint.h HAVE_STDINT_H) -+check_include_files(stddef.h HAVE_STDDEF_H) -+check_include_files(altivec.h HAVE_ALTIVEC_H) -+check_include_files(c_asm.h HAVE_C_ASM_H) -+check_include_files(dlfcn.h HAVE_DLFCN_H) -+check_include_files(intrinsics.h HAVE_INTRINSICS_H) -+check_include_files(inttypes.h HAVE_INTTYPES_H) -+check_include_files(libintl.h HAVE_LIBINTL_H) -+check_include_files(limits.h HAVE_LIMITS_H) -+check_include_files(mach/mach_time.h HAVE_MACH_MACH_TIME_H) -+check_include_files(malloc.h HAVE_MALLOC_H) -+check_include_files(memory.h HAVE_MEMORY_H) -+check_include_files(stddef.h HAVE_STDDEF_H) -+check_include_files(stdint.h HAVE_STDINT_H) -+check_include_files(stdlib.h HAVE_STDLIB_H) -+check_include_files(strings.h HAVE_STRINGS_H) -+check_include_files(string.h HAVE_STRING_H) -+check_include_files(sys/stat.h HAVE_SYS_STAT_H) -+check_include_files(sys/sysctl.h HAVE_SYS_SYSCTL_H) -+check_include_files(sys/time.h HAVE_SYS_TIME_H) -+check_include_files(sys/types.h HAVE_SYS_TYPES_H) -+check_include_files(unistd.h HAVE_UNISTD_H) -+check_include_files(xmmintrin.h HAVE_XMMINTRIN_H) -+ -+check_type_size("double" SIZEOF_DOUBLE) -+check_type_size("float" SIZEOF_FLOAT) -+check_type_size("int" SIZEOF_INT) -+check_type_size("long" SIZEOF_LONG) -+check_type_size("long long" SIZEOF_LONG_LONG) -+check_type_size("ptrdiff_t" SIZEOF_PTRDIFF_T) -+check_type_size("size_t" SIZEOF_SIZE_T) -+check_type_size("unsigned int" SIZEOF_UNSIGNED_INT) -+check_type_size("unsigned long" SIZEOF_UNSIGNED_LONG) -+check_type_size("unsigned long long" SIZEOF_UNSIGNED_LONG_LONG) -+check_type_size("void*" SIZEOF_VOID_P) -+ -+###################################################################################### -+ -+#/* Define to enable extra FFTW debugging code. */ -+#cmakedefine FFTW_DEBUG -+ -+#/* Define to enable alignment debugging hacks. */ -+#cmakedefine FFTW_DEBUG_ALIGNMENT -+ -+#/* Define to enable debugging malloc. */ -+#cmakedefine FFTW_DEBUG_MALLOC -+ -+ -+#/* Define to 1 if using `alloca.c'. */ -+#cmakedefine C_ALLOCA -+ -+#/* Define to enable the use of alloca(). */ -+#cmakedefine FFTW_ENABLE_ALLOCA -+ -+#/* Define to 1 if you have `alloca', as a function or macro. */ -+#cmakedefine HAVE_ALLOCA -+ -+#/* Define to 1 if you have the `abort' function. */ -+#cmakedefine HAVE_ABORT -+ -+#/* Define to enable Altivec optimizations. */ -+#cmakedefine HAVE_ALTIVEC -+ -+#/* Define to 1 if you have the `BSDgettimeofday' function. */ -+#cmakedefine HAVE_BSDGETTIMEOFDAY -+ -+#/* Define to enable optimizations for the Cell Broadband Engine */ -+#cmakedefine HAVE_CELL -+ -+#/* Define to 1 if you have the `clock_gettime' function. */ -+#cmakedefine HAVE_CLOCK_GETTIME -+ -+#/* Define to 1 if you have the `cosl' function. */ -+#cmakedefine HAVE_COSL -+ -+#/* Define to 1 if you have the declaration of `cosl', and to 0 if you don't. -+# */ -+#cmakedefine HAVE_DECL_COSL -+ -+#/* Define to 1 if you have the declaration of `drand48', and to 0 if you -+# don't. */ -+#cmakedefine HAVE_DECL_DRAND48 -+ -+#/* Define to 1 if you have the declaration of `memalign', and to 0 if you -+# don't. */ -+#cmakedefine HAVE_DECL_MEMALIGN -+ -+#/* Define to 1 if you have the declaration of `posix_memalign', and to 0 if -+# you don't. */ -+#cmakedefine HAVE_DECL_POSIX_MEMALIGN -+ -+#/* Define to 1 if you have the declaration of `sinl', and to 0 if you don't. -+# */ -+#cmakedefine HAVE_DECL_SINL -+ -+#/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ -+#cmakedefine HAVE_DOPRNT -+ -+#/* Define to 1 if you have the `drand48' function. */ -+#cmakedefine HAVE_DRAND48 -+ -+#/* Define if you have a machine with fused multiply-add */ -+#cmakedefine HAVE_FMA -+ -+#/* Define to 1 if you have the `gethrtime' function. */ -+#cmakedefine HAVE_GETHRTIME -+ -+#/* Define to 1 if you have the `gettimeofday' function. */ -+#cmakedefine HAVE_GETTIMEOFDAY -+ -+#/* Define to 1 if hrtime_t is defined in */ -+#cmakedefine HAVE_HRTIME_T -+ -+#/* Define if the isnan() function/macro is available. */ -+#cmakedefine HAVE_ISNAN -+ -+#/* Define to 1 if you have the `m' library (-lm). */ -+#cmakedefine HAVE_LIBM -+ -+#/* Define to 1 if you have the `spe' library (-lspe). */ -+#cmakedefine HAVE_LIBSPE -+ -+#/* Define to 1 if you have the `spe2' library (-lspe2). */ -+#cmakedefine HAVE_LIBSPE2 -+ -+#/* Define to 1 if you have the `mach_absolute_time' function. */ -+#cmakedefine HAVE_MACH_ABSOLUTE_TIME -+ -+#/* Define to 1 if you have the `memalign' function. */ -+#cmakedefine HAVE_MEMALIGN -+ -+#/* Define to 1 if you have the `memset' function. */ -+#cmakedefine HAVE_MEMSET -+ -+#/* Define to enable MIPS paired-single optimizations. */ -+#cmakedefine HAVE_MIPS_PS -+ -+#/* Define to enable use of MIPS ZBus cycle-counter. */ -+#cmakedefine HAVE_MIPS_ZBUS_TIMER -+ -+#/* Define if you have the MPI library. */ -+#cmakedefine HAVE_MPI -+ -+#/* Define if we have and are using OpenMP multithreading directives */ -+#cmakedefine USING_OPENMP_THREADS -+ -+#/* Define to 1 if you have the `posix_memalign' function. */ -+#cmakedefine HAVE_POSIX_MEMALIGN -+ -+#/* Define if you have POSIX threads libraries and header files. */ -+#cmakedefine HAVE_PTHREAD -+ -+#/* Define to 1 if you have the `read_real_time' function. */ -+#cmakedefine HAVE_READ_REAL_TIME -+ -+#/* Define to 1 if you have the `sinl' function. */ -+#cmakedefine HAVE_SINL -+ -+#/* Define to 1 if you have the `snprintf' function. */ -+#cmakedefine HAVE_SNPRINTF -+ -+#/* Define to 1 if you have the `sqrt' function. */ -+#cmakedefine HAVE_SQRT -+ -+#/* Define to enable SSE optimizations. */ -+#cmakedefine HAVE_SSE @HAVE_SSE@ -+ -+#/* Define to enable SSE2 optimizations. */ -+#cmakedefine HAVE_SSE2 @HAVE_SSE2@ -+ -+#/* Define to 1 if you have the `sysctl' function. */ -+#cmakedefine HAVE_SYSCTL -+ -+#/* Define to 1 if you have the `tanl' function. */ -+#cmakedefine HAVE_TANL -+ -+#/* Define if we have a threads library. */ -+#cmakedefine HAVE_THREADS -+ -+#/* Define to 1 if you have the `time_base_to_time' function. */ -+#cmakedefine HAVE_TIME_BASE_TO_TIME -+ -+#/* Define to 1 if the system has the type `uintptr_t'. */ -+#cmakedefine HAVE_UINTPTR_T -+ -+#/* Define to 1 if you have the `vprintf' function. */ -+#cmakedefine HAVE_VPRINTF -+ -+#/* Define to 1 if you have the `_mm_free' function. */ -+#cmakedefine HAVE__MM_FREE -+ -+#/* Define to 1 if you have the `_mm_malloc' function. */ -+#cmakedefine HAVE__MM_MALLOC -+ -+#/* Define if you have the UNICOS _rtc() intrinsic. */ -+#cmakedefine HAVE__RTC -+ -+#/* Define to necessary symbol if this constant uses a non-standard name on -+# your system. */ -+#cmakedefine PTHREAD_CREATE_JOINABLE -+ -+#/* If using the C implementation of alloca, define if you know the -+# direction of stack growth for your system; otherwise it will be -+# automatically deduced at runtime. -+# STACK_DIRECTION > 0 => grows toward higher addresses -+# STACK_DIRECTION < 0 => grows toward lower addresses -+# STACK_DIRECTION = 0 => direction of growth unknown */ -+#cmakedefine STACK_DIRECTION -+ -+#/* Define to 1 if you can safely include both and . */ -+#cmakedefine TIME_WITH_SYS_TIME -+ -+########################################################################## -+# stuff I don't know what to do with: -+#/* Use low-precision timers, making planner very slow */ -+#cmakedefine WITH_SLOW_TIMER -+#/* Define if we have and are using POSIX threads. */ -+#cmakedefine USING_POSIX_THREADS -+ -+# Fortran stuff: not implemented -+#cmakedefine DISABLE_FORTRAN -+#cmakedefine F77_DUMMY_MAIN -+#cmakedefine F77_FUNC -+#cmakedefine F77_FUNC_ -+#cmakedefine F77_FUNC_EQUIV -+#cmakedefine FC_DUMMY_MAIN_EQ_F77 -+#cmakedefine WINDOWS_F77_MANGLING -+#cmakedefine WITH_G77_WRAPPERS -+ -+ -+ -+configure_file(config.h.cmake config.h) -+configure_file(fftw.def.cmake fftw.def) -diff --git a/api/CMakeLists.txt b/api/CMakeLists.txt -new file mode 100644 -index 0000000..46aaf1f ---- /dev/null -+++ b/api/CMakeLists.txt -@@ -0,0 +1,41 @@ -+set(api_SRCS apiplan.c configure.c execute-dft-c2r.c -+execute-dft-r2c.c execute-dft.c execute-r2r.c execute-split-dft-c2r.c -+execute-split-dft-r2c.c execute-split-dft.c execute.c -+export-wisdom-to-file.c export-wisdom-to-string.c export-wisdom.c -+f77api.c flops.c forget-wisdom.c import-system-wisdom.c -+import-wisdom-from-file.c import-wisdom-from-string.c import-wisdom.c -+malloc.c map-r2r-kind.c mapflags.c mkprinter-file.c mktensor-iodims.c -+mktensor-rowmajor.c plan-dft-1d.c plan-dft-2d.c plan-dft-3d.c -+plan-dft-c2r-1d.c plan-dft-c2r-2d.c plan-dft-c2r-3d.c plan-dft-c2r.c -+plan-dft-r2c-1d.c plan-dft-r2c-2d.c plan-dft-r2c-3d.c plan-dft-r2c.c -+plan-dft.c plan-guru-dft-c2r.c plan-guru-dft-r2c.c plan-guru-dft.c -+plan-guru-r2r.c plan-guru-split-dft-c2r.c plan-guru-split-dft-r2c.c -+plan-guru-split-dft.c plan-many-dft-c2r.c plan-many-dft-r2c.c -+plan-many-dft.c plan-many-r2r.c plan-r2r-1d.c plan-r2r-2d.c -+plan-r2r-3d.c plan-r2r.c print-plan.c rdft2-pad.c the-planner.c -+version.c plan-guru64-dft-c2r.c -+plan-guru64-dft-r2c.c plan-guru64-dft.c plan-guru64-r2r.c -+plan-guru64-split-dft-c2r.c plan-guru64-split-dft-r2c.c -+plan-guru64-split-dft.c mktensor-iodims64.c -+) -+ -+if(BUILD_ALL_STATIC) -+ add_library(api STATIC ${api_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(api_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${api_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+ -+#BUILT_SOURCES = fftw3.f -+ -+#if MAINTAINER_MODE -+# -+# convert constants to F77 PARAMETER statements -+#fftw3.f: -+# rm -f $@ -+# perl -pe 's/([A-Z0-9_]+)=([0-9]+)/\n INTEGER \1\n PARAMETER (\1=\2)\n/g' $< |egrep 'PARAMETER|INTEGER' > $@ -+# perl -pe 's/#define +([A-Z0-9_]+) +\(([+-]?[0-9]+)U?\)/\n INTEGER \1\n PARAMETER (\1=\2)\n/g' $< |egrep 'PARAMETER|INTEGER' >> $@ -+# perl -pe 'if (/#define +([A-Z0-9_]+) +\(([0-9]+)U? *<< *([0-9]+)\)/) { print "\n INTEGER $$1\n PARAMETER ($$1=",$$2 << $$3,")\n"; }' $< |egrep 'PARAMETER|INTEGER' >> $@ -+# -+#endif # MAINTAINER_MODE -diff --git a/config.h.cmake b/config.h.cmake -new file mode 100644 -index 0000000..d8ef741 ---- /dev/null -+++ b/config.h.cmake -@@ -0,0 +1,380 @@ -+/* config.h.in. Generated from configure.ac by autoheader. */ -+ -+/* Define to compile in long-double precision. */ -+#cmakedefine BENCHFFT_LDOUBLE -+ -+/* Define to compile in single precision. */ -+#cmakedefine BENCHFFT_SINGLE -+ -+/* extra CFLAGS for codelets */ -+#cmakedefine CODELET_OPTIM @CODELET_OPTIM@ -+ -+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP -+ systems. This function is required for `alloca.c' support on those systems. -+ */ -+#cmakedefine CRAY_STACKSEG_END -+ -+/* Define to 1 if using `alloca.c'. */ -+#cmakedefine C_ALLOCA -+ -+/* Define to disable Fortran wrappers. */ -+#cmakedefine DISABLE_FORTRAN -+ -+/* Define to dummy `main' function (if any) required to link to the Fortran -+ libraries. */ -+#cmakedefine F77_DUMMY_MAIN -+ -+/* Define to a macro mangling the given C identifier (in lower and upper -+ case), which must not contain underscores, for linking with Fortran. */ -+#cmakedefine F77_FUNC -+ -+/* As F77_FUNC, but for C identifiers containing underscores. */ -+#cmakedefine F77_FUNC_ -+ -+/* Define if F77_FUNC and F77_FUNC_ are equivalent. */ -+#cmakedefine F77_FUNC_EQUIV -+ -+/* Define if F77 and FC dummy `main' functions are identical. */ -+#cmakedefine FC_DUMMY_MAIN_EQ_F77 -+ -+/* C compiler name and flags */ -+#cmakedefine FFTW_CC @FFTW_CC@ -+ -+/* Define to enable extra FFTW debugging code. */ -+#cmakedefine FFTW_DEBUG -+ -+/* Define to enable alignment debugging hacks. */ -+#cmakedefine FFTW_DEBUG_ALIGNMENT -+ -+/* Define to enable debugging malloc. */ -+#cmakedefine FFTW_DEBUG_MALLOC -+ -+/* Define to enable the use of alloca(). */ -+#cmakedefine FFTW_ENABLE_ALLOCA -+ -+/* Define to compile in long-double precision. */ -+#cmakedefine FFTW_LDOUBLE -+ -+/* Define to compile in single precision. */ -+#cmakedefine FFTW_SINGLE -+ -+/* Define to 1 if you have the `abort' function. */ -+#cmakedefine HAVE_ABORT @HAVE_ABORT@ -+ -+/* Define to 1 if you have `alloca', as a function or macro. */ -+#cmakedefine HAVE_ALLOCA @HAVE_ALLOCA@ -+ -+/* Define to 1 if you have and it should be used (not on Ultrix). -+ */ -+#cmakedefine HAVE_ALLOCA_H @HAVE_ALLOCA_H@ -+ -+/* Define to enable Altivec optimizations. */ -+#cmakedefine HAVE_ALTIVEC @HAVE_ALTIVEC@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_ALTIVEC_H @HAVE_ALTIVEC_H@ -+ -+/* Define to 1 if you have the `BSDgettimeofday' function. */ -+#cmakedefine HAVE_BSDGETTIMEOFDAY @HAVE_BSDGETTIMEOFDAY@ -+ -+/* Define to enable optimizations for the Cell Broadband Engine */ -+#cmakedefine HAVE_CELL @HAVE_CELL@ -+ -+/* Define to 1 if you have the `clock_gettime' function. */ -+#cmakedefine HAVE_CLOCK_GETTIME @HAVE_CLOCK_GETTIME@ -+ -+/* Define to 1 if you have the `cosl' function. */ -+#cmakedefine HAVE_COSL @HAVE_COSL@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_C_ASM_H @HAVE_C_ASM_H@ -+ -+/* Define to 1 if you have the declaration of `cosl', and to 0 if you don't. -+ */ -+#cmakedefine HAVE_DECL_COSL @HAVE_DECL_COSL@ -+ -+/* Define to 1 if you have the declaration of `drand48', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_DRAND48 @HAVE_DECL_DRAND48@ -+ -+/* Define to 1 if you have the declaration of `memalign', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_MEMALIGN @HAVE_DECL_MEMALIGN@ -+ -+/* Define to 1 if you have the declaration of `posix_memalign', and to 0 if -+ you don't. */ -+#cmakedefine HAVE_DECL_POSIX_MEMALIGN @HAVE_DECL_POSIX_MEMALIGN@ -+ -+/* Define to 1 if you have the declaration of `sinl', and to 0 if you don't. -+ */ -+#cmakedefine HAVE_DECL_SINL @HAVE_DECL_SINL@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_DLFCN_H @HAVE_DLFCN_H@ -+ -+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ -+#cmakedefine HAVE_DOPRNT @HAVE_DOPRNT@ -+ -+/* Define to 1 if you have the `drand48' function. */ -+#cmakedefine HAVE_DRAND48 @HAVE_DRAND48@ -+ -+/* Define if you have a machine with fused multiply-add */ -+#cmakedefine HAVE_FMA @HAVE_FMA@ -+ -+/* Define to 1 if you have the `gethrtime' function. */ -+#cmakedefine HAVE_GETHRTIME @HAVE_GETHRTIME@ -+ -+/* Define to 1 if you have the `gettimeofday' function. */ -+#cmakedefine HAVE_GETTIMEOFDAY @HAVE_GETTIMEOFDAY@ -+ -+/* Define to 1 if hrtime_t is defined in */ -+#cmakedefine HAVE_HRTIME_T @HAVE_HRTIME_T@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_INTRINSICS_H @HAVE_INTRINSICS_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_INTTYPES_H @HAVE_INTTYPES_H@ -+ -+/* Define if the isnan() function/macro is available. */ -+#cmakedefine HAVE_ISNAN @HAVE_ISNAN@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_LIBINTL_H @HAVE_LIBINTL_H@ -+ -+/* Define to 1 if you have the `m' library (-lm). */ -+#cmakedefine HAVE_LIBM @HAVE_LIBM@ -+ -+/* Define to 1 if you have the `spe' library (-lspe). */ -+#cmakedefine HAVE_LIBSPE @HAVE_LIBSPE@ -+ -+/* Define to 1 if you have the `spe2' library (-lspe2). */ -+#cmakedefine HAVE_LIBSPE2 @HAVE_LIBSPE2@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_LIMITS_H @HAVE_LIMITS_H@ -+ -+/* Define to 1 if the compiler supports `long double' */ -+#cmakedefine HAVE_LONG_DOUBLE @HAVE_LONG_DOUBLE@ -+ -+/* Define to 1 if you have the `mach_absolute_time' function. */ -+#cmakedefine HAVE_MACH_ABSOLUTE_TIME @HAVE_MACH_ABSOLUTE_TIME@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MACH_MACH_TIME_H @HAVE_MACH_MACH_TIME_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MALLOC_H @HAVE_MALLOC_H@ -+ -+/* Define to 1 if you have the `memalign' function. */ -+#cmakedefine HAVE_MEMALIGN @HAVE_MEMALIGN@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MEMORY_H @HAVE_MEMORY_H@ -+ -+/* Define to 1 if you have the `memset' function. */ -+#cmakedefine HAVE_MEMSET @HAVE_MEMSET@ -+ -+/* Define to enable MIPS paired-single optimizations. */ -+#cmakedefine HAVE_MIPS_PS @HAVE_MIPS_PS@ -+ -+/* Define to enable use of MIPS ZBus cycle-counter. */ -+#cmakedefine HAVE_MIPS_ZBUS_TIMER @HAVE_MIPS_ZBUS_TIMER@ -+ -+/* Define if you have the MPI library. */ -+#cmakedefine HAVE_MPI @HAVE_MPI@ -+ -+/* Define to enable OpenMP */ -+#cmakedefine HAVE_OPENMP @HAVE_OPENMP@ -+ -+/* Define to 1 if you have the `posix_memalign' function. */ -+#cmakedefine HAVE_POSIX_MEMALIGN @HAVE_POSIX_MEMALIGN@ -+ -+/* Define if you have POSIX threads libraries and header files. */ -+#cmakedefine HAVE_PTHREAD @HAVE_PTHREAD@ -+ -+/* Define to 1 if you have the `read_real_time' function. */ -+#cmakedefine HAVE_READ_REAL_TIME @HAVE_READ_REAL_TIME@ -+ -+/* Define to 1 if you have the `sinl' function. */ -+#cmakedefine HAVE_SINL @HAVE_SINL@ -+ -+/* Define to 1 if you have the `snprintf' function. */ -+#cmakedefine HAVE_SNPRINTF @HAVE_SNPRINTF@ -+ -+/* Define to 1 if you have the `sqrt' function. */ -+#cmakedefine HAVE_SQRT @HAVE_SQRT@ -+ -+/* Define to enable SSE optimizations. */ -+#cmakedefine HAVE_SSE @HAVE_SSE@ -+ -+/* Define to enable SSE2 optimizations. */ -+#cmakedefine HAVE_SSE2 @HAVE_SSE2@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDDEF_H @HAVE_STDDEF_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDINT_H @HAVE_STDINT_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDLIB_H @HAVE_STDLIB_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STRINGS_H @HAVE_STRINGS_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STRING_H @HAVE_STRING_H@ -+ -+/* Define to 1 if you have the `sysctl' function. */ -+#cmakedefine HAVE_SYSCTL @HAVE_SYSCTL@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_STAT_H @HAVE_SYS_STAT_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_SYSCTL_H @HAVE_SYS_SYSCTL_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TIME_H @HAVE_SYS_TIME_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TYPES_H @HAVE_SYS_TYPES_H@ -+ -+/* Define to 1 if you have the `tanl' function. */ -+#cmakedefine HAVE_TANL @HAVE_TANL@ -+ -+/* Define if we have a threads library. */ -+#cmakedefine HAVE_THREADS @HAVE_THREADS@ -+ -+/* Define to 1 if you have the `time_base_to_time' function. */ -+#cmakedefine HAVE_TIME_BASE_TO_TIME @HAVE_TIME_BASE_TO_TIME@ -+ -+/* Define to 1 if the system has the type `uintptr_t'. */ -+#cmakedefine HAVE_UINTPTR_T @HAVE_UINTPTR_T@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_UNISTD_H @HAVE_UNISTD_H@ -+ -+/* Define to 1 if you have the `vprintf' function. */ -+#cmakedefine HAVE_VPRINTF @HAVE_VPRINTF@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_XMMINTRIN_H @HAVE_XMMINTRIN_H@ -+ -+/* Define to 1 if you have the `_mm_free' function. */ -+#cmakedefine HAVE__MM_FREE @HAVE__MM_FREE@ -+ -+/* Define to 1 if you have the `_mm_malloc' function. */ -+#cmakedefine HAVE__MM_MALLOC @HAVE__MM_MALLOC@ -+ -+/* Define if you have the UNICOS _rtc() intrinsic. */ -+#cmakedefine HAVE__RTC @HAVE__RTC@ -+ -+/* Define to the sub-directory in which libtool stores uninstalled libraries. -+ */ -+#cmakedefine LT_OBJDIR -+ -+/* Name of package */ -+#cmakedefine PACKAGE @PACKAGE@ -+ -+/* Define to the address where bug reports for this package should be sent. */ -+#cmakedefine PACKAGE_BUGREPORT -+ -+/* Define to the full name of this package. */ -+#cmakedefine PACKAGE_NAME -+ -+/* Define to the full name and version of this package. */ -+#cmakedefine PACKAGE_STRING -+ -+/* Define to the one symbol short name of this package. */ -+#cmakedefine PACKAGE_TARNAME -+ -+/* Define to the version of this package. */ -+#cmakedefine PACKAGE_VERSION @PACKAGE_VERSION@ -+ -+/* Define to necessary symbol if this constant uses a non-standard name on -+ your system. */ -+#cmakedefine PTHREAD_CREATE_JOINABLE -+ -+/* The size of `double', as computed by sizeof. */ -+#cmakedefine SIZEOF_DOUBLE @SIZEOF_DOUBLE@ -+ -+/* The size of `float', as computed by sizeof. */ -+#cmakedefine SIZEOF_FLOAT @SIZEOF_FLOAT@ -+ -+/* The size of `int', as computed by sizeof. */ -+#cmakedefine SIZEOF_INT @SIZEOF_INT@ -+ -+/* The size of `long', as computed by sizeof. */ -+#cmakedefine SIZEOF_LONG @SIZEOF_LONG@ -+ -+/* The size of `long long', as computed by sizeof. */ -+#cmakedefine SIZEOF_LONG_LONG @SIZEOF_LONG_LONG@ -+ -+/* The size of `ptrdiff_t', as computed by sizeof. */ -+#cmakedefine SIZEOF_PTRDIFF_T @SIZEOF_PTRDIFF_T@ -+ -+/* The size of `size_t', as computed by sizeof. */ -+#cmakedefine SIZEOF_SIZE_T @SIZEOF_SIZE_T@ -+ -+/* The size of `unsigned int', as computed by sizeof. */ -+#cmakedefine SIZEOF_UNSIGNED_INT @SIZEOF_UNSIGNED_INT@ -+ -+/* The size of `unsigned long', as computed by sizeof. */ -+#cmakedefine SIZEOF_UNSIGNED_LONG @SIZEOF_UNSIGNED_LONG@ -+ -+/* The size of `unsigned long long', as computed by sizeof. */ -+#cmakedefine SIZEOF_UNSIGNED_LONG_LONG @SIZEOF_UNSIGNED_LONG_LONG@ -+ -+/* The size of `void *', as computed by sizeof. */ -+#cmakedefine SIZEOF_VOID_P @SIZEOF_VOID_P@ -+ -+/* If using the C implementation of alloca, define if you know the -+ direction of stack growth for your system; otherwise it will be -+ automatically deduced at runtime. -+ STACK_DIRECTION > 0 => grows toward higher addresses -+ STACK_DIRECTION < 0 => grows toward lower addresses -+ STACK_DIRECTION = 0 => direction of growth unknown */ -+#cmakedefine STACK_DIRECTION -+ -+/* Define to 1 if you have the ANSI C header files. */ -+#cmakedefine STDC_HEADERS -+ -+/* Define to 1 if you can safely include both and . */ -+#cmakedefine TIME_WITH_SYS_TIME -+ -+/* Define if we have and are using OpenMP multithreading directives */ -+#cmakedefine USING_OPENMP_THREADS -+ -+/* Define if we have and are using POSIX threads. */ -+#cmakedefine USING_POSIX_THREADS -+ -+/* Version number of package */ -+#cmakedefine VERSION @VERSION@ -+ -+/* Use common Windows Fortran mangling styles for the Fortran interfaces. */ -+#cmakedefine WINDOWS_F77_MANGLING -+ -+/* Include g77-compatible wrappers in addition to any other Fortran wrappers. -+ */ -+#cmakedefine WITH_G77_WRAPPERS -+ -+/* Use our own 16-byte aligned malloc routine; mainly helpful for Windows -+ systems lacking aligned allocation system-library routines. */ -+#cmakedefine WITH_OUR_MALLOC16 -+ -+/* Use low-precision timers, making planner very slow */ -+#cmakedefine WITH_SLOW_TIMER -+ -+/* Define to empty if `const' does not conform to ANSI C. */ -+#cmakedefine const -+ -+/* Define to `__inline__' or `__inline' if that's what the C compiler -+ calls it, or to nothing if 'inline' is not supported under any name. */ -+#ifndef __cplusplus -+#cmakedefine inline @inline@ -+#endif -+ -+/* Define to `unsigned int' if does not define. */ -+#cmakedefine size_t -diff --git a/dft/CMakeLists.txt b/dft/CMakeLists.txt -new file mode 100644 -index 0000000..24cc3b6 ---- /dev/null -+++ b/dft/CMakeLists.txt -@@ -0,0 +1,19 @@ -+#SUBDIRS = scalar simd -+add_subdirectory(scalar) -+add_subdirectory(simd) -+ -+# pkgincludedir = $(includedir)/fftw3@PREC_SUFFIX@ -+# pkginclude_HEADERS = codelet-dft.h dft.h -+ -+set(dft_SRCS bluestein.c buffered.c conf.c ct.c dftw-direct.c -+dftw-directsq.c dftw-generic.c dftw-genericbuf.c direct.c generic.c -+indirect.c indirect-transpose.c kdft-dif.c kdft-difsq.c kdft-dit.c -+kdft.c nop.c plan.c problem.c rader.c rank-geq2.c solve.c vrank-geq1.c -+zero.c) -+ -+if(BUILD_ALL_STATIC) -+ add_library(dft STATIC ${dft_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(dft_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${dft_SRCS} ${_fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff --git a/dft/scalar/CMakeLists.txt b/dft/scalar/CMakeLists.txt -new file mode 100644 -index 0000000..2981db9 ---- /dev/null -+++ b/dft/scalar/CMakeLists.txt -@@ -0,0 +1,10 @@ -+add_subdirectory(codelets) -+ -+set(dft_scalar_SRCS ${dft_scalar_SRCS} n.c t.c) -+ -+if(BUILD_ALL_STATIC) -+ add_library(dft_scalar STATIC ${dft_scalar_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(dft_scalar_SRCS) -+ set(_fftw_SRCS ${_fftw_SRCS} ${dft_scalar_SRCS} ${__fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff --git a/dft/scalar/codelets/CMakeLists.txt b/dft/scalar/codelets/CMakeLists.txt -new file mode 100644 -index 0000000..174eced ---- /dev/null -+++ b/dft/scalar/codelets/CMakeLists.txt -@@ -0,0 +1,113 @@ -+# This Makefile.am specifies a set of codelets, efficient transforms -+# of small sizes, that are used as building blocks (kernels) by FFTW -+# to build up large transforms, as well as the options for generating -+# and compiling them. -+ -+# You can customize FFTW for special needs, e.g. to handle certain -+# sizes more efficiently, by adding new codelets to the lists of those -+# included by default. If you change the list of codelets, any new -+# ones you added will be automatically generated when you run the -+# bootstrap script (see "Generating your own code" in the FFTW -+# manual). -+ -+########################################################################### -+ -+########################################################################### -+# n1_ is a hard-coded FFT of size (base cases of FFT recursion) -+set(N1 n1_2.c n1_3.c n1_4.c n1_5.c n1_6.c n1_7.c n1_8.c n1_9.c n1_10.c -+n1_11.c n1_12.c n1_13.c n1_14.c n1_15.c n1_16.c n1_32.c n1_64.c -+n1_20.c n1_25.c # n1_30.c n1_40.c n1_50.c -+) -+ -+########################################################################### -+# t1_ is a "twiddle" FFT of size , implementing a radix-r DIT step -+set(T1 t1_2.c t1_3.c t1_4.c t1_5.c t1_6.c t1_7.c t1_8.c t1_9.c -+t1_10.c t1_12.c t1_15.c t1_16.c t1_32.c t1_64.c -+t1_20.c t1_25.c # t1_30.c t1_40.c t1_50.c -+) -+ -+# t2_ is also a twiddle FFT, but instead of using a complete lookup table -+# of trig. functions, it partially generates the trig. values on the fly -+# (this is faster for large sizes). -+set(T2 t2_4.c t2_8.c t2_16.c t2_32.c t2_64.c -+ t2_5.c t2_10.c t2_20.c t2_25.c -+) -+ -+########################################################################### -+# The F (DIF) codelets are used for a kind of in-place transform algorithm, -+# but the planner seems to never (or hardly ever) use them on the machines -+# we have access to, preferring the Q codelets and the use of buffers -+# for sub-transforms. So, we comment them out, at least for now. -+ -+# f1_ is a "twiddle" FFT of size , implementing a radix-r DIF step -+#F1 = # f1_2.c f1_3.c f1_4.c f1_5.c f1_6.c f1_7.c f1_8.c f1_9.c f1_10.c f1_12.c f1_15.c f1_16.c f1_32.c f1_64.c -+ -+# like f1, but partially generates its trig. table on the fly -+#F2 = # f2_4.c f2_8.c f2_16.c f2_32.c f2_64.c -+ -+########################################################################### -+# q1_ is twiddle FFTs of size (DIF step), where the output is -+# transposed. This is used for in-place transposes in sizes that are -+# divisible by ^2. These codelets have size ~ ^2, so you should -+# probably not use bigger than 8 or so. -+set(Q1 q1_2.c q1_4.c q1_8.c q1_3.c q1_5.c q1_6.c) -+ -+########################################################################### -+set(ALL_CODELETS ${N1} ${T1} ${T2} ${F1} ${F2} ${Q1}) -+ -+include(${CMAKE_SOURCE_DIR}/support/codelets.cmake) -+ -+set(SOLVTAB_NAME "X(solvtab_dft_standard)") -+ -+set(CODLIST ${CMAKE_CURRENT_BINARY_DIR}/codlist.c) -+set(CODELET_NAME codelet_) -+ -+write_codelet_list(${CODLIST} ${CODELET_NAME} ${SOLVTAB_NAME} ${ALL_CODELETS}) -+ -+set(dft_scalar_codelets_SRCS ${ALL_CODELETS}) -+ -+if(BUILD_ALL_STATIC) -+ add_library(dft_scalar_codelets STATIC ${dft_scalar_codelets_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(dft_scalar_codelets_SRCS) -+ set(__fftw_SRCS ${__fftw_SRCS} ${dft_scalar_codelets_SRCS} ${CODLIST} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+# this is old source code which can be changed later -+# only delete codlist.c in maintainer-mode, since it is included in the dist -+# FIXME: is there a way to delete in 'make clean' only when builddir != srcdir? -+#maintainer-clean-local: -+# rm -f $(CODLIST) -+ -+#if MAINTAINER_MODE -+#FLAGS_N1=$(DFT_FLAGS_COMMON) -+#FLAGS_T1=$(DFT_FLAGS_COMMON) -+#FLAGS_T2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+#FLAGS_F1=$(DFT_FLAGS_COMMON) -+#FLAGS_F2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+#FLAGS_Q1=$(DFT_FLAGS_COMMON) -reload-twiddle -+#FLAGS_Q2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+# -+#n1_%.c: $(CODELET_DEPS) $(GEN_NOTW) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW) $(FLAGS_N1) -n $* -name n1_$* -include "n.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_T1) -n $* -name t1_$* -include "t.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t2_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_T2) -n $* -name t2_$* -include "t.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#f1_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_F1) -dif -n $* -name f1_$* -include "f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#f2_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_F2) -dif -n $* -name f2_$* -include "f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#q1_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ) $(FLAGS_Q1) -dif -n $* -name q1_$* -include "q.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#q2_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ) $(FLAGS_Q2) -dif -n $* -name q2_$* -include "q.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#endif # MAINTAINER_MODE -+ -diff --git a/dft/simd/CMakeLists.txt b/dft/simd/CMakeLists.txt -new file mode 100644 -index 0000000..a36a198 ---- /dev/null -+++ b/dft/simd/CMakeLists.txt -@@ -0,0 +1,10 @@ -+add_subdirectory(codelets) -+ -+set(dft_simd_SRCS n1b.c n1f.c n2b.c n2f.c n2s.c q1b.c q1f.c t.c ts.c) -+ -+if(BUILD_ALL_STATIC) -+ add_library(dft_simd STATIC ${dft_simd_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(dft_simd_SRCS) -+ set(_fftw_SRCS ${_fftw_SRCS} ${dft_simd_SRCS} ${__fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff --git a/dft/simd/codelets/CMakeLists.txt b/dft/simd/codelets/CMakeLists.txt -new file mode 100644 -index 0000000..74766d2 ---- /dev/null -+++ b/dft/simd/codelets/CMakeLists.txt -@@ -0,0 +1,189 @@ -+# This Makefile.am specifies a set of codelets, efficient transforms -+# of small sizes, that are used as building blocks (kernels) by FFTW -+# to build up large transforms, as well as the options for generating -+# and compiling them. -+ -+# You can customize FFTW for special needs, e.g. to handle certain -+# sizes more efficiently, by adding new codelets to the lists of those -+# included by default. If you change the list of codelets, any new -+# ones you added will be automatically generated when you run the -+# bootstrap script (see "Generating your own code" in the FFTW -+# manual). -+ -+########################################################################### -+#AM_CPPFLAGS = -I$(top_srcdir)/kernel -I$(top_srcdir)/dft \ -+#-I$(top_srcdir)/dft/simd -I$(top_srcdir)/simd -+#AM_CFLAGS = $(SIMD_CFLAGS) -+#noinst_LTLIBRARIES = libdft_simd_codelets.la -+ -+########################################################################### -+# n1fv_ is a hard-coded FFTW_FORWARD FFT of size , using SIMD -+set(N1F n1fv_2.c n1fv_3.c n1fv_4.c n1fv_5.c n1fv_6.c n1fv_7.c n1fv_8.c -+n1fv_9.c n1fv_10.c n1fv_11.c n1fv_12.c n1fv_13.c n1fv_14.c n1fv_15.c -+n1fv_16.c n1fv_32.c n1fv_64.c n1fv_128.c -+n1fv_20.c n1fv_25.c # n1fv_30.c n1fv_40.c n1fv_50.c -+) -+ -+# as above, with restricted input vector stride -+set(N2F n2fv_2.c n2fv_4.c n2fv_6.c n2fv_8.c n2fv_10.c n2fv_12.c -+n2fv_14.c n2fv_16.c n2fv_32.c n2fv_64.c -+n2fv_20.c # n2fv_30.c n2fv_40.c n2fv_50.c -+) -+ -+# as above, but FFTW_BACKWARD -+set(N1B n1bv_2.c n1bv_3.c n1bv_4.c n1bv_5.c n1bv_6.c n1bv_7.c n1bv_8.c -+n1bv_9.c n1bv_10.c n1bv_11.c n1bv_12.c n1bv_13.c n1bv_14.c n1bv_15.c -+n1bv_16.c n1bv_32.c n1bv_64.c n1bv_128.c -+n1bv_20.c n1bv_25.c # n1bv_30.c n1bv_40.c n1bv_50.c -+) -+ -+set(N2B n2bv_2.c n2bv_4.c n2bv_6.c n2bv_8.c n2bv_10.c n2bv_12.c -+n2bv_14.c n2bv_16.c n2bv_32.c n2bv_64.c -+n2bv_20.c # n2bv_30.c n2bv_40.c n2bv_50.c -+) -+ -+# split-complex codelets -+set(N2S n2sv_4.c n2sv_8.c n2sv_16.c n2sv_32.c n2sv_64.c -+) -+ -+########################################################################### -+# t1fv_ is a "twiddle" FFT of size , implementing a radix-r DIT step -+# for an FFTW_FORWARD transform, using SIMD -+set(T1F t1fv_2.c t1fv_3.c t1fv_4.c t1fv_5.c t1fv_6.c t1fv_7.c t1fv_8.c -+t1fv_9.c t1fv_10.c t1fv_12.c t1fv_15.c t1fv_16.c t1fv_32.c t1fv_64.c -+t1fv_20.c t1fv_25.c # t1fv_30.c t1fv_40.c t1fv_50.c -+) -+ -+# same as t1fv_*, but with different twiddle storage scheme -+set(T2F t2fv_2.c t2fv_4.c t2fv_8.c t2fv_16.c t2fv_32.c t2fv_64.c -+t2fv_5.c t2fv_10.c t2fv_20.c t2fv_25.c -+) -+set(T3F t3fv_4.c t3fv_8.c t3fv_16.c t3fv_32.c -+t3fv_5.c t3fv_10.c t3fv_20.c t3fv_25.c -+) -+set(T1FU t1fuv_2.c t1fuv_3.c t1fuv_4.c t1fuv_5.c t1fuv_6.c t1fuv_7.c -+t1fuv_8.c t1fuv_9.c t1fuv_10.c -+) -+ -+# as above, but FFTW_BACKWARD -+set(T1B t1bv_2.c t1bv_3.c t1bv_4.c t1bv_5.c t1bv_6.c t1bv_7.c t1bv_8.c -+t1bv_9.c t1bv_10.c t1bv_12.c t1bv_15.c t1bv_16.c t1bv_32.c t1bv_64.c -+t1bv_20.c t1bv_25.c # t1bv_30.c t1bv_40.c t1bv_50.c -+) -+ -+# same as t1bv_*, but with different twiddle storage scheme -+set(T2B t2bv_2.c t2bv_4.c t2bv_8.c t2bv_16.c t2bv_32.c t2bv_64.c -+t2bv_5.c t2bv_10.c t2bv_20.c t2bv_25.c -+) -+set(T3B t3bv_4.c t3bv_8.c t3bv_16.c t3bv_32.c -+t3bv_5.c t3bv_10.c t3bv_20.c t3bv_25.c -+) -+set(T1BU t1buv_2.c t1buv_3.c t1buv_4.c t1buv_5.c t1buv_6.c t1buv_7.c -+t1buv_8.c t1buv_9.c t1buv_10.c -+) -+ -+# split-complex codelets -+set(T1S t1sv_2.c t1sv_4.c t1sv_8.c t1sv_16.c t1sv_32.c #t1sv_64.c -+) -+set(T2S t2sv_4.c t2sv_8.c t2sv_16.c t2sv_32.c #t2sv_64.c -+) -+ -+########################################################################### -+# q1fv_ is twiddle FFTW_FORWARD FFTs of size (DIF step), -+# where the output is transposed, using SIMD. This is used for -+# in-place transposes in sizes that are divisible by ^2. These -+# codelets have size ~ ^2, so you should probably not use -+# bigger than 8 or so. -+set(Q1F q1fv_2.c q1fv_4.c q1fv_5.c q1fv_8.c ) -+ -+# as above, but FFTW_BACKWARD -+set(Q1B q1bv_2.c q1bv_4.c q1bv_5.c q1bv_8.c) -+ -+########################################################################### -+set(SIMD_CODELETS ${N1F} ${N1B} ${N2F} ${N2B} ${N2S} ${T1FU} ${T1F} ${T2F} ${T3F} ${T1BU} ${T1B} ${T2B} ${T3B} ${T1S} ${T2S} ${Q1F} ${Q1B}) -+ -+if(HAVE_SIMD) -+ set(ALL_CODELETS ${SIMD_CODELETS}) -+else(HAVE_SIMD) -+ set(ALL_CODELETS) -+endif(HAVE_SIMD) -+ -+set(SOLVTAB_NAME "X(solvtab_dft_simd)") -+set(CODLIST ${CMAKE_CURRENT_BINARY_DIR}/codlist.c) -+set(CODELET_NAME codelet_) -+ -+set(dft_simd_codelets_SRCS ${ALL_CODELETS}) -+ -+# special rules for regenerating codelets. -+include(${CMAKE_SOURCE_DIR}/support/codelets.cmake) -+ -+write_codelet_list(${CODLIST} ${CODELET_NAME} ${SOLVTAB_NAME} ${ALL_CODELETS}) -+ -+if(BUILD_ALL_STATIC) -+ add_library(dft_simd_codelets STATIC ${ALL_CODELETS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(dft_simd_codelets_SRCS) -+ set(__fftw_SRCS ${__fftw_SRCS} ${dft_simd_codelets_SRCS} ${CODLIST} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+#include $(top_srcdir)/support/Makefile.codelets -+ -+#if MAINTAINER_MODE -+#GFLAGS = -simd $(FLAGS_COMMON) -pipeline-latency 8 -+#FLAGS_T2S=-twiddle-log3 -precompute-twiddles -+#FLAGS_T3=-twiddle-log3 -precompute-twiddles -no-generate-bytw -+# -+#n1fv_%.c: $(CODELET_DEPS) $(GEN_NOTW_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW_C) $(GFLAGS) -n $* -name n1fv_$* -include "n1f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#n2fv_%.c: $(CODELET_DEPS) $(GEN_NOTW_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW_C) $(GFLAGS) -n $* -name n2fv_$* -with-ostride 2 -include "n2f.h" -store-multiple 2) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#n1bv_%.c: $(CODELET_DEPS) $(GEN_NOTW_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW_C) $(GFLAGS) -sign 1 -n $* -name n1bv_$* -include "n1b.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#n2bv_%.c: $(CODELET_DEPS) $(GEN_NOTW_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW_C) $(GFLAGS) -sign 1 -n $* -name n2bv_$* -with-ostride 2 -include "n2b.h" -store-multiple 2) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#n2sv_%.c: $(CODELET_DEPS) $(GEN_NOTW) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW) $(GFLAGS) -n $* -name n2sv_$* -with-ostride 1 -include "n2s.h" -store-multiple 4) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1fv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) -n $* -name t1fv_$* -include "t1f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1fuv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) -n $* -name t1fuv_$* -include "t1fu.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t2fv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) -n $* -name t2fv_$* -include "t2f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t3fv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) $(FLAGS_T3) -n $* -name t3fv_$* -include "t3f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1bv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) -n $* -name t1bv_$* -include "t1b.h" -sign 1) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1buv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) -n $* -name t1buv_$* -include "t1bu.h" -sign 1) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t2bv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) -n $* -name t2bv_$* -include "t2b.h" -sign 1) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t3bv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE_C) $(GFLAGS) $(FLAGS_T3) -n $* -name t3bv_$* -include "t3b.h" -sign 1) | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1sv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(GFLAGS) -n $* -name t1sv_$* -include "ts.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t2sv_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(GFLAGS) $(FLAGS_T2S) -n $* -name t2sv_$* -include "ts.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#q1fv_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ_C) $(GFLAGS) -n $* -dif -name q1fv_$* -include "q1f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#q1bv_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ_C) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ_C) $(GFLAGS) -n $* -dif -name q1bv_$* -include "q1b.h" -sign 1) | $(ADD_DATE) | $(INDENT) >$@ -+# -+# -+#endif # MAINTAINER_MODE -+# -diff --git a/fftw.def.cmake b/fftw.def.cmake -new file mode 100644 -index 0000000..66e0cbe ---- /dev/null -+++ b/fftw.def.cmake -@@ -0,0 +1,808 @@ -+EXPORTS -+@FFTW_SYMBOL_PREFIX@alignment_of -+@FFTW_SYMBOL_PREFIX@assertion_failed -+@FFTW_SYMBOL_PREFIX@bufdist -+@FFTW_SYMBOL_PREFIX@check_alignment_of_sse_pmpm -+@FFTW_SYMBOL_PREFIX@choose_radix -+@FFTW_SYMBOL_PREFIX@cleanup -+@FFTW_SYMBOL_PREFIX@cleanup_threads -+@FFTW_SYMBOL_PREFIX@codelet_e01_8 -+@FFTW_SYMBOL_PREFIX@codelet_e10_8 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_16 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_20 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_25 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_32 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_4 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_5 -+@FFTW_SYMBOL_PREFIX@codelet_hb2_8 -+@FFTW_SYMBOL_PREFIX@codelet_hb_10 -+@FFTW_SYMBOL_PREFIX@codelet_hb_12 -+@FFTW_SYMBOL_PREFIX@codelet_hb_15 -+@FFTW_SYMBOL_PREFIX@codelet_hb_16 -+@FFTW_SYMBOL_PREFIX@codelet_hb_2 -+@FFTW_SYMBOL_PREFIX@codelet_hb_20 -+@FFTW_SYMBOL_PREFIX@codelet_hb_25 -+@FFTW_SYMBOL_PREFIX@codelet_hb_3 -+@FFTW_SYMBOL_PREFIX@codelet_hb_32 -+@FFTW_SYMBOL_PREFIX@codelet_hb_4 -+@FFTW_SYMBOL_PREFIX@codelet_hb_5 -+@FFTW_SYMBOL_PREFIX@codelet_hb_6 -+@FFTW_SYMBOL_PREFIX@codelet_hb_64 -+@FFTW_SYMBOL_PREFIX@codelet_hb_7 -+@FFTW_SYMBOL_PREFIX@codelet_hb_8 -+@FFTW_SYMBOL_PREFIX@codelet_hb_9 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb2_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb2_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb2_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb2_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb2_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_10 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_12 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_2 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_6 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cb_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft2_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft2_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft2_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft2_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft2_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_10 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_12 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_2 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_6 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdft_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_10 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_12 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_2 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_6 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cbdftv_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf2_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf2_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf2_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf2_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf2_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_10 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_12 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_2 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_6 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cf_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft2_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft2_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft2_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft2_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft2_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_10 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_12 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_2 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_6 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdft_8 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_10 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_12 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_16 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_2 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_20 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_32 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_4 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_6 -+@FFTW_SYMBOL_PREFIX@codelet_hc2cfdftv_8 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_16 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_20 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_25 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_32 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_4 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_5 -+@FFTW_SYMBOL_PREFIX@codelet_hf2_8 -+@FFTW_SYMBOL_PREFIX@codelet_hf_10 -+@FFTW_SYMBOL_PREFIX@codelet_hf_12 -+@FFTW_SYMBOL_PREFIX@codelet_hf_15 -+@FFTW_SYMBOL_PREFIX@codelet_hf_16 -+@FFTW_SYMBOL_PREFIX@codelet_hf_2 -+@FFTW_SYMBOL_PREFIX@codelet_hf_20 -+@FFTW_SYMBOL_PREFIX@codelet_hf_25 -+@FFTW_SYMBOL_PREFIX@codelet_hf_3 -+@FFTW_SYMBOL_PREFIX@codelet_hf_32 -+@FFTW_SYMBOL_PREFIX@codelet_hf_4 -+@FFTW_SYMBOL_PREFIX@codelet_hf_5 -+@FFTW_SYMBOL_PREFIX@codelet_hf_6 -+@FFTW_SYMBOL_PREFIX@codelet_hf_64 -+@FFTW_SYMBOL_PREFIX@codelet_hf_7 -+@FFTW_SYMBOL_PREFIX@codelet_hf_8 -+@FFTW_SYMBOL_PREFIX@codelet_hf_9 -+@FFTW_SYMBOL_PREFIX@codelet_n1_10 -+@FFTW_SYMBOL_PREFIX@codelet_n1_11 -+@FFTW_SYMBOL_PREFIX@codelet_n1_12 -+@FFTW_SYMBOL_PREFIX@codelet_n1_13 -+@FFTW_SYMBOL_PREFIX@codelet_n1_14 -+@FFTW_SYMBOL_PREFIX@codelet_n1_15 -+@FFTW_SYMBOL_PREFIX@codelet_n1_16 -+@FFTW_SYMBOL_PREFIX@codelet_n1_2 -+@FFTW_SYMBOL_PREFIX@codelet_n1_20 -+@FFTW_SYMBOL_PREFIX@codelet_n1_25 -+@FFTW_SYMBOL_PREFIX@codelet_n1_3 -+@FFTW_SYMBOL_PREFIX@codelet_n1_32 -+@FFTW_SYMBOL_PREFIX@codelet_n1_4 -+@FFTW_SYMBOL_PREFIX@codelet_n1_5 -+@FFTW_SYMBOL_PREFIX@codelet_n1_6 -+@FFTW_SYMBOL_PREFIX@codelet_n1_64 -+@FFTW_SYMBOL_PREFIX@codelet_n1_7 -+@FFTW_SYMBOL_PREFIX@codelet_n1_8 -+@FFTW_SYMBOL_PREFIX@codelet_n1_9 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_10 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_11 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_12 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_128 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_13 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_14 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_15 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_16 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_2 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_20 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_25 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_3 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_32 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_4 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_5 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_6 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_64 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_7 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_8 -+@FFTW_SYMBOL_PREFIX@codelet_n1bv_9 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_10 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_11 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_12 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_128 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_13 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_14 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_15 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_16 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_2 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_20 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_25 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_3 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_32 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_4 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_5 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_6 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_64 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_7 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_8 -+@FFTW_SYMBOL_PREFIX@codelet_n1fv_9 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_10 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_12 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_14 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_16 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_2 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_20 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_32 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_4 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_6 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_64 -+@FFTW_SYMBOL_PREFIX@codelet_n2bv_8 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_10 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_12 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_14 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_16 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_2 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_20 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_32 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_4 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_6 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_64 -+@FFTW_SYMBOL_PREFIX@codelet_n2fv_8 -+@FFTW_SYMBOL_PREFIX@codelet_n2sv_16 -+@FFTW_SYMBOL_PREFIX@codelet_n2sv_32 -+@FFTW_SYMBOL_PREFIX@codelet_n2sv_4 -+@FFTW_SYMBOL_PREFIX@codelet_n2sv_64 -+@FFTW_SYMBOL_PREFIX@codelet_n2sv_8 -+@FFTW_SYMBOL_PREFIX@codelet_q1_2 -+@FFTW_SYMBOL_PREFIX@codelet_q1_3 -+@FFTW_SYMBOL_PREFIX@codelet_q1_4 -+@FFTW_SYMBOL_PREFIX@codelet_q1_5 -+@FFTW_SYMBOL_PREFIX@codelet_q1_6 -+@FFTW_SYMBOL_PREFIX@codelet_q1_8 -+@FFTW_SYMBOL_PREFIX@codelet_q1bv_2 -+@FFTW_SYMBOL_PREFIX@codelet_q1bv_4 -+@FFTW_SYMBOL_PREFIX@codelet_q1bv_5 -+@FFTW_SYMBOL_PREFIX@codelet_q1bv_8 -+@FFTW_SYMBOL_PREFIX@codelet_q1fv_2 -+@FFTW_SYMBOL_PREFIX@codelet_q1fv_4 -+@FFTW_SYMBOL_PREFIX@codelet_q1fv_5 -+@FFTW_SYMBOL_PREFIX@codelet_q1fv_8 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_10 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_12 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_15 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_16 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_2 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_20 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_25 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_3 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_32 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_4 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_5 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_6 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_64 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_7 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_8 -+@FFTW_SYMBOL_PREFIX@codelet_r2cbIII_9 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_10 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_11 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_12 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_128 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_13 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_14 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_15 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_16 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_2 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_20 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_25 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_3 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_32 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_4 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_5 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_6 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_64 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_7 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_8 -+@FFTW_SYMBOL_PREFIX@codelet_r2cb_9 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_10 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_12 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_15 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_16 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_2 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_20 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_25 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_3 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_32 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_4 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_5 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_6 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_64 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_7 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_8 -+@FFTW_SYMBOL_PREFIX@codelet_r2cfII_9 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_10 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_11 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_12 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_128 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_13 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_14 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_15 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_16 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_2 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_20 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_25 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_3 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_32 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_4 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_5 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_6 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_64 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_7 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_8 -+@FFTW_SYMBOL_PREFIX@codelet_r2cf_9 -+@FFTW_SYMBOL_PREFIX@codelet_t1_10 -+@FFTW_SYMBOL_PREFIX@codelet_t1_12 -+@FFTW_SYMBOL_PREFIX@codelet_t1_15 -+@FFTW_SYMBOL_PREFIX@codelet_t1_16 -+@FFTW_SYMBOL_PREFIX@codelet_t1_2 -+@FFTW_SYMBOL_PREFIX@codelet_t1_20 -+@FFTW_SYMBOL_PREFIX@codelet_t1_25 -+@FFTW_SYMBOL_PREFIX@codelet_t1_3 -+@FFTW_SYMBOL_PREFIX@codelet_t1_32 -+@FFTW_SYMBOL_PREFIX@codelet_t1_4 -+@FFTW_SYMBOL_PREFIX@codelet_t1_5 -+@FFTW_SYMBOL_PREFIX@codelet_t1_6 -+@FFTW_SYMBOL_PREFIX@codelet_t1_64 -+@FFTW_SYMBOL_PREFIX@codelet_t1_7 -+@FFTW_SYMBOL_PREFIX@codelet_t1_8 -+@FFTW_SYMBOL_PREFIX@codelet_t1_9 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_3 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_6 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_7 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t1buv_9 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_12 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_15 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_20 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_25 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_3 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_6 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_64 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_7 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t1bv_9 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_3 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_6 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_7 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t1fuv_9 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_12 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_15 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_20 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_25 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_3 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_6 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_64 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_7 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t1fv_9 -+@FFTW_SYMBOL_PREFIX@codelet_t1sv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t1sv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t1sv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t1sv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t1sv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t2_10 -+@FFTW_SYMBOL_PREFIX@codelet_t2_16 -+@FFTW_SYMBOL_PREFIX@codelet_t2_20 -+@FFTW_SYMBOL_PREFIX@codelet_t2_25 -+@FFTW_SYMBOL_PREFIX@codelet_t2_32 -+@FFTW_SYMBOL_PREFIX@codelet_t2_4 -+@FFTW_SYMBOL_PREFIX@codelet_t2_5 -+@FFTW_SYMBOL_PREFIX@codelet_t2_64 -+@FFTW_SYMBOL_PREFIX@codelet_t2_8 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_20 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_25 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_64 -+@FFTW_SYMBOL_PREFIX@codelet_t2bv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_2 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_20 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_25 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_64 -+@FFTW_SYMBOL_PREFIX@codelet_t2fv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t2sv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t2sv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t2sv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t2sv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_20 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_25 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t3bv_8 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_10 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_16 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_20 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_25 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_32 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_4 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_5 -+@FFTW_SYMBOL_PREFIX@codelet_t3fv_8 -+@FFTW_SYMBOL_PREFIX@compute_tilesz -+@FFTW_SYMBOL_PREFIX@configure_planner -+@FFTW_SYMBOL_PREFIX@cpy1d -+@FFTW_SYMBOL_PREFIX@cpy2d -+@FFTW_SYMBOL_PREFIX@cpy2d_ci -+@FFTW_SYMBOL_PREFIX@cpy2d_co -+@FFTW_SYMBOL_PREFIX@cpy2d_pair -+@FFTW_SYMBOL_PREFIX@cpy2d_pair_ci -+@FFTW_SYMBOL_PREFIX@cpy2d_pair_co -+@FFTW_SYMBOL_PREFIX@cpy2d_tiled -+@FFTW_SYMBOL_PREFIX@cpy2d_tiledbuf -+@FFTW_SYMBOL_PREFIX@ct_applicable -+@FFTW_SYMBOL_PREFIX@ct_generic_register -+@FFTW_SYMBOL_PREFIX@ct_genericbuf_register -+@FFTW_SYMBOL_PREFIX@ct_uglyp -+@FFTW_SYMBOL_PREFIX@destroy_plan -+@FFTW_SYMBOL_PREFIX@dft_bluestein_register -+@FFTW_SYMBOL_PREFIX@dft_buffered_register -+@FFTW_SYMBOL_PREFIX@dft_conf_standard -+@FFTW_SYMBOL_PREFIX@dft_generic_register -+@FFTW_SYMBOL_PREFIX@dft_indirect_register -+@FFTW_SYMBOL_PREFIX@dft_indirect_transpose_register -+@FFTW_SYMBOL_PREFIX@dft_nop_register -+@FFTW_SYMBOL_PREFIX@dft_r2hc_register -+@FFTW_SYMBOL_PREFIX@dft_rader_register -+@FFTW_SYMBOL_PREFIX@dft_rank_geq2_register -+@FFTW_SYMBOL_PREFIX@dft_solve -+@FFTW_SYMBOL_PREFIX@dft_thr_vrank_geq1_register -+@FFTW_SYMBOL_PREFIX@dft_vrank_geq1_register -+@FFTW_SYMBOL_PREFIX@dft_zerotens -+@FFTW_SYMBOL_PREFIX@dht_r2hc_register -+@FFTW_SYMBOL_PREFIX@dht_rader_register -+@FFTW_SYMBOL_PREFIX@dimcmp -+@FFTW_SYMBOL_PREFIX@elapsed_since -+@FFTW_SYMBOL_PREFIX@estimate_cost -+@FFTW_SYMBOL_PREFIX@execute -+@FFTW_SYMBOL_PREFIX@execute_dft -+@FFTW_SYMBOL_PREFIX@execute_dft_c2r -+@FFTW_SYMBOL_PREFIX@execute_dft_r2c -+@FFTW_SYMBOL_PREFIX@execute_r2r -+@FFTW_SYMBOL_PREFIX@execute_split_dft -+@FFTW_SYMBOL_PREFIX@execute_split_dft_c2r -+@FFTW_SYMBOL_PREFIX@execute_split_dft_r2c -+@FFTW_SYMBOL_PREFIX@export_wisdom -+@FFTW_SYMBOL_PREFIX@export_wisdom_to_file -+@FFTW_SYMBOL_PREFIX@export_wisdom_to_string -+@FFTW_SYMBOL_PREFIX@extract_reim -+@FFTW_SYMBOL_PREFIX@factors_into -+@FFTW_SYMBOL_PREFIX@find_generator -+@FFTW_SYMBOL_PREFIX@first_divisor -+@FFTW_SYMBOL_PREFIX@flops -+@FFTW_SYMBOL_PREFIX@forget_wisdom -+@FFTW_SYMBOL_PREFIX@fprint_plan -+@FFTW_SYMBOL_PREFIX@free -+@FFTW_SYMBOL_PREFIX@get_crude_time -+@FFTW_SYMBOL_PREFIX@guru64_kosherp -+@FFTW_SYMBOL_PREFIX@guru_kosherp -+@FFTW_SYMBOL_PREFIX@hash -+@FFTW_SYMBOL_PREFIX@have_sse -+@FFTW_SYMBOL_PREFIX@hc2c_applicable -+@FFTW_SYMBOL_PREFIX@hc2hc_applicable -+@FFTW_SYMBOL_PREFIX@hc2hc_generic_register -+@FFTW_SYMBOL_PREFIX@iabs -+@FFTW_SYMBOL_PREFIX@iestimate_cost -+@FFTW_SYMBOL_PREFIX@ifree -+@FFTW_SYMBOL_PREFIX@ifree0 -+@FFTW_SYMBOL_PREFIX@imax -+@FFTW_SYMBOL_PREFIX@imin -+@FFTW_SYMBOL_PREFIX@import_system_wisdom -+@FFTW_SYMBOL_PREFIX@import_wisdom -+@FFTW_SYMBOL_PREFIX@import_wisdom_from_file -+@FFTW_SYMBOL_PREFIX@import_wisdom_from_string -+@FFTW_SYMBOL_PREFIX@init_threads -+@FFTW_SYMBOL_PREFIX@is_prime -+@FFTW_SYMBOL_PREFIX@isqrt -+@FFTW_SYMBOL_PREFIX@ithreads_init -+@FFTW_SYMBOL_PREFIX@join_taint -+@FFTW_SYMBOL_PREFIX@kdft_dif_register -+@FFTW_SYMBOL_PREFIX@kdft_difsq_register -+@FFTW_SYMBOL_PREFIX@kdft_dit_register -+@FFTW_SYMBOL_PREFIX@kdft_register -+@FFTW_SYMBOL_PREFIX@kernel_free -+@FFTW_SYMBOL_PREFIX@kernel_malloc -+@FFTW_SYMBOL_PREFIX@khc2c_register -+@FFTW_SYMBOL_PREFIX@khc2hc_register -+@FFTW_SYMBOL_PREFIX@kr2c_register -+@FFTW_SYMBOL_PREFIX@kr2r_register -+@FFTW_SYMBOL_PREFIX@malloc -+@FFTW_SYMBOL_PREFIX@malloc_plain -+@FFTW_SYMBOL_PREFIX@many_kosherp -+@FFTW_SYMBOL_PREFIX@map_r2r_kind -+@FFTW_SYMBOL_PREFIX@mapflags -+@FFTW_SYMBOL_PREFIX@md5INT -+@FFTW_SYMBOL_PREFIX@md5begin -+@FFTW_SYMBOL_PREFIX@md5end -+@FFTW_SYMBOL_PREFIX@md5int -+@FFTW_SYMBOL_PREFIX@md5putb -+@FFTW_SYMBOL_PREFIX@md5putc -+@FFTW_SYMBOL_PREFIX@md5puts -+@FFTW_SYMBOL_PREFIX@md5unsigned -+@FFTW_SYMBOL_PREFIX@measure_execution_time -+@FFTW_SYMBOL_PREFIX@mkapiplan -+@FFTW_SYMBOL_PREFIX@mkplan -+@FFTW_SYMBOL_PREFIX@mkplan_d -+@FFTW_SYMBOL_PREFIX@mkplan_dft -+@FFTW_SYMBOL_PREFIX@mkplan_dftw -+@FFTW_SYMBOL_PREFIX@mkplan_f_d -+@FFTW_SYMBOL_PREFIX@mkplan_hc2c -+@FFTW_SYMBOL_PREFIX@mkplan_hc2hc -+@FFTW_SYMBOL_PREFIX@mkplan_rdft -+@FFTW_SYMBOL_PREFIX@mkplan_rdft2 -+@FFTW_SYMBOL_PREFIX@mkplanner -+@FFTW_SYMBOL_PREFIX@mkprinter -+@FFTW_SYMBOL_PREFIX@mkprinter_file -+@FFTW_SYMBOL_PREFIX@mkproblem -+@FFTW_SYMBOL_PREFIX@mkproblem_dft -+@FFTW_SYMBOL_PREFIX@mkproblem_dft_d -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft2 -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft2_d -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft2_d_3pointers -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft_0_d -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft_1 -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft_1_d -+@FFTW_SYMBOL_PREFIX@mkproblem_rdft_d -+@FFTW_SYMBOL_PREFIX@mkproblem_unsolvable -+@FFTW_SYMBOL_PREFIX@mkscanner -+@FFTW_SYMBOL_PREFIX@mksolver -+@FFTW_SYMBOL_PREFIX@mksolver_ct -+@FFTW_SYMBOL_PREFIX@mksolver_ct_threads -+@FFTW_SYMBOL_PREFIX@mksolver_dft_direct -+@FFTW_SYMBOL_PREFIX@mksolver_dft_directbuf -+@FFTW_SYMBOL_PREFIX@mksolver_hc2c -+@FFTW_SYMBOL_PREFIX@mksolver_hc2hc -+@FFTW_SYMBOL_PREFIX@mksolver_hc2hc_threads -+@FFTW_SYMBOL_PREFIX@mksolver_rdft2_direct -+@FFTW_SYMBOL_PREFIX@mksolver_rdft_r2c_direct -+@FFTW_SYMBOL_PREFIX@mksolver_rdft_r2c_directbuf -+@FFTW_SYMBOL_PREFIX@mksolver_rdft_r2r_direct -+@FFTW_SYMBOL_PREFIX@mkstride -+@FFTW_SYMBOL_PREFIX@mktensor -+@FFTW_SYMBOL_PREFIX@mktensor_0d -+@FFTW_SYMBOL_PREFIX@mktensor_1d -+@FFTW_SYMBOL_PREFIX@mktensor_2d -+@FFTW_SYMBOL_PREFIX@mktensor_3d -+@FFTW_SYMBOL_PREFIX@mktensor_4d -+@FFTW_SYMBOL_PREFIX@mktensor_5d -+@FFTW_SYMBOL_PREFIX@mktensor_iodims -+@FFTW_SYMBOL_PREFIX@mktensor_iodims64 -+@FFTW_SYMBOL_PREFIX@mktensor_rowmajor -+@FFTW_SYMBOL_PREFIX@mktriggen -+@FFTW_SYMBOL_PREFIX@modulo -+@FFTW_SYMBOL_PREFIX@nbuf -+@FFTW_SYMBOL_PREFIX@nbuf_redundant -+@FFTW_SYMBOL_PREFIX@next_prime -+@FFTW_SYMBOL_PREFIX@null_awake -+@FFTW_SYMBOL_PREFIX@ops_add -+@FFTW_SYMBOL_PREFIX@ops_add2 -+@FFTW_SYMBOL_PREFIX@ops_cpy -+@FFTW_SYMBOL_PREFIX@ops_madd -+@FFTW_SYMBOL_PREFIX@ops_madd2 -+@FFTW_SYMBOL_PREFIX@ops_other -+@FFTW_SYMBOL_PREFIX@ops_zero -+@FFTW_SYMBOL_PREFIX@pickdim -+@FFTW_SYMBOL_PREFIX@plan_awake -+@FFTW_SYMBOL_PREFIX@plan_destroy_internal -+@FFTW_SYMBOL_PREFIX@plan_dft -+@FFTW_SYMBOL_PREFIX@plan_dft_1d -+@FFTW_SYMBOL_PREFIX@plan_dft_2d -+@FFTW_SYMBOL_PREFIX@plan_dft_3d -+@FFTW_SYMBOL_PREFIX@plan_dft_c2r -+@FFTW_SYMBOL_PREFIX@plan_dft_c2r_1d -+@FFTW_SYMBOL_PREFIX@plan_dft_c2r_2d -+@FFTW_SYMBOL_PREFIX@plan_dft_c2r_3d -+@FFTW_SYMBOL_PREFIX@plan_dft_r2c -+@FFTW_SYMBOL_PREFIX@plan_dft_r2c_1d -+@FFTW_SYMBOL_PREFIX@plan_dft_r2c_2d -+@FFTW_SYMBOL_PREFIX@plan_dft_r2c_3d -+@FFTW_SYMBOL_PREFIX@plan_guru64_dft -+@FFTW_SYMBOL_PREFIX@plan_guru64_dft_c2r -+@FFTW_SYMBOL_PREFIX@plan_guru64_dft_r2c -+@FFTW_SYMBOL_PREFIX@plan_guru64_r2r -+@FFTW_SYMBOL_PREFIX@plan_guru64_split_dft -+@FFTW_SYMBOL_PREFIX@plan_guru64_split_dft_c2r -+@FFTW_SYMBOL_PREFIX@plan_guru64_split_dft_r2c -+@FFTW_SYMBOL_PREFIX@plan_guru_dft -+@FFTW_SYMBOL_PREFIX@plan_guru_dft_c2r -+@FFTW_SYMBOL_PREFIX@plan_guru_dft_r2c -+@FFTW_SYMBOL_PREFIX@plan_guru_r2r -+@FFTW_SYMBOL_PREFIX@plan_guru_split_dft -+@FFTW_SYMBOL_PREFIX@plan_guru_split_dft_c2r -+@FFTW_SYMBOL_PREFIX@plan_guru_split_dft_r2c -+@FFTW_SYMBOL_PREFIX@plan_many_dft -+@FFTW_SYMBOL_PREFIX@plan_many_dft_c2r -+@FFTW_SYMBOL_PREFIX@plan_many_dft_r2c -+@FFTW_SYMBOL_PREFIX@plan_many_r2r -+@FFTW_SYMBOL_PREFIX@plan_null_destroy -+@FFTW_SYMBOL_PREFIX@plan_r2r -+@FFTW_SYMBOL_PREFIX@plan_r2r_1d -+@FFTW_SYMBOL_PREFIX@plan_r2r_2d -+@FFTW_SYMBOL_PREFIX@plan_r2r_3d -+@FFTW_SYMBOL_PREFIX@plan_with_nthreads -+@FFTW_SYMBOL_PREFIX@planner_destroy -+@FFTW_SYMBOL_PREFIX@power_mod -+@FFTW_SYMBOL_PREFIX@print_plan -+@FFTW_SYMBOL_PREFIX@printer_destroy -+@FFTW_SYMBOL_PREFIX@problem_destroy -+@FFTW_SYMBOL_PREFIX@rader_tl_delete -+@FFTW_SYMBOL_PREFIX@rader_tl_find -+@FFTW_SYMBOL_PREFIX@rader_tl_insert -+@FFTW_SYMBOL_PREFIX@rdft2_buffered_register -+@FFTW_SYMBOL_PREFIX@rdft2_complex_n -+@FFTW_SYMBOL_PREFIX@rdft2_inplace_strides -+@FFTW_SYMBOL_PREFIX@rdft2_nop_register -+@FFTW_SYMBOL_PREFIX@rdft2_pad -+@FFTW_SYMBOL_PREFIX@rdft2_rank0_register -+@FFTW_SYMBOL_PREFIX@rdft2_rank_geq2_register -+@FFTW_SYMBOL_PREFIX@rdft2_rdft_register -+@FFTW_SYMBOL_PREFIX@rdft2_solve -+@FFTW_SYMBOL_PREFIX@rdft2_strides -+@FFTW_SYMBOL_PREFIX@rdft2_tensor_max_index -+@FFTW_SYMBOL_PREFIX@rdft2_thr_vrank_geq1_register -+@FFTW_SYMBOL_PREFIX@rdft2_vrank_geq1_register -+@FFTW_SYMBOL_PREFIX@rdft_buffered_register -+@FFTW_SYMBOL_PREFIX@rdft_conf_standard -+@FFTW_SYMBOL_PREFIX@rdft_dht_register -+@FFTW_SYMBOL_PREFIX@rdft_generic_register -+@FFTW_SYMBOL_PREFIX@rdft_indirect_register -+@FFTW_SYMBOL_PREFIX@rdft_kind_str -+@FFTW_SYMBOL_PREFIX@rdft_nop_register -+@FFTW_SYMBOL_PREFIX@rdft_rank0_register -+@FFTW_SYMBOL_PREFIX@rdft_rank_geq2_register -+@FFTW_SYMBOL_PREFIX@rdft_solve -+@FFTW_SYMBOL_PREFIX@rdft_thr_vrank_geq1_register -+@FFTW_SYMBOL_PREFIX@rdft_vrank3_transpose_register -+@FFTW_SYMBOL_PREFIX@rdft_vrank_geq1_register -+@FFTW_SYMBOL_PREFIX@rdft_zerotens -+@FFTW_SYMBOL_PREFIX@redft00e_r2hc_pad_register -+@FFTW_SYMBOL_PREFIX@regsolver_ct_directw -+@FFTW_SYMBOL_PREFIX@regsolver_ct_directwsq -+@FFTW_SYMBOL_PREFIX@regsolver_hc2c_direct -+@FFTW_SYMBOL_PREFIX@regsolver_hc2hc_direct -+@FFTW_SYMBOL_PREFIX@reodft00e_splitradix_register -+@FFTW_SYMBOL_PREFIX@reodft010e_r2hc_register -+@FFTW_SYMBOL_PREFIX@reodft11e_r2hc_odd_register -+@FFTW_SYMBOL_PREFIX@reodft11e_radix2_r2hc_register -+@FFTW_SYMBOL_PREFIX@reodft_conf_standard -+@FFTW_SYMBOL_PREFIX@rodft00e_r2hc_pad_register -+@FFTW_SYMBOL_PREFIX@safe_mulmod -+@FFTW_SYMBOL_PREFIX@scanner_destroy -+@FFTW_SYMBOL_PREFIX@set_timelimit -+@FFTW_SYMBOL_PREFIX@solver_destroy -+@FFTW_SYMBOL_PREFIX@solver_register -+@FFTW_SYMBOL_PREFIX@solver_use -+@FFTW_SYMBOL_PREFIX@solvtab_exec -+@FFTW_SYMBOL_PREFIX@spawn_loop -+@FFTW_SYMBOL_PREFIX@stride_destroy -+@FFTW_SYMBOL_PREFIX@taint -+@FFTW_SYMBOL_PREFIX@tensor_append -+@FFTW_SYMBOL_PREFIX@tensor_compress -+@FFTW_SYMBOL_PREFIX@tensor_compress_contiguous -+@FFTW_SYMBOL_PREFIX@tensor_copy -+@FFTW_SYMBOL_PREFIX@tensor_copy_except -+@FFTW_SYMBOL_PREFIX@tensor_copy_inplace -+@FFTW_SYMBOL_PREFIX@tensor_copy_sub -+@FFTW_SYMBOL_PREFIX@tensor_destroy -+@FFTW_SYMBOL_PREFIX@tensor_destroy2 -+@FFTW_SYMBOL_PREFIX@tensor_destroy4 -+@FFTW_SYMBOL_PREFIX@tensor_equal -+@FFTW_SYMBOL_PREFIX@tensor_inplace_locations -+@FFTW_SYMBOL_PREFIX@tensor_inplace_strides -+@FFTW_SYMBOL_PREFIX@tensor_inplace_strides2 -+@FFTW_SYMBOL_PREFIX@tensor_kosherp -+@FFTW_SYMBOL_PREFIX@tensor_max_index -+@FFTW_SYMBOL_PREFIX@tensor_md5 -+@FFTW_SYMBOL_PREFIX@tensor_min_istride -+@FFTW_SYMBOL_PREFIX@tensor_min_ostride -+@FFTW_SYMBOL_PREFIX@tensor_min_stride -+@FFTW_SYMBOL_PREFIX@tensor_print -+@FFTW_SYMBOL_PREFIX@tensor_split -+@FFTW_SYMBOL_PREFIX@tensor_strides_decrease -+@FFTW_SYMBOL_PREFIX@tensor_sz -+@FFTW_SYMBOL_PREFIX@tensor_tornk1 -+@FFTW_SYMBOL_PREFIX@the_planner -+@FFTW_SYMBOL_PREFIX@threads_cleanup -+@FFTW_SYMBOL_PREFIX@threads_conf_standard -+@FFTW_SYMBOL_PREFIX@tile2d -+@FFTW_SYMBOL_PREFIX@toobig -+@FFTW_SYMBOL_PREFIX@transpose -+@FFTW_SYMBOL_PREFIX@transpose_tiled -+@FFTW_SYMBOL_PREFIX@transpose_tiledbuf -+@FFTW_SYMBOL_PREFIX@triggen_destroy -+@FFTW_SYMBOL_PREFIX@twiddle_awake -+@FFTW_SYMBOL_PREFIX@twiddle_length -+;sfftw_cleanup_ -+;sfftw_cleanup__ -+;sfftw_cleanup_threads_ -+;sfftw_cleanup_threads__ -+;sfftw_destroy_plan_ -+;sfftw_destroy_plan__ -+;sfftw_execute_ -+;sfftw_execute__ -+;sfftw_execute_dft_ -+;sfftw_execute_dft__ -+;sfftw_execute_dft_c2r_ -+;sfftw_execute_dft_c2r__ -+;sfftw_execute_dft_r2c_ -+;sfftw_execute_dft_r2c__ -+;sfftw_execute_r2r_ -+;sfftw_execute_r2r__ -+;sfftw_execute_split_dft_ -+;sfftw_execute_split_dft__ -+;sfftw_execute_split_dft_c2r_ -+;sfftw_execute_split_dft_c2r__ -+;sfftw_execute_split_dft_r2c_ -+;sfftw_execute_split_dft_r2c__ -+;sfftw_export_wisdom_ -+;sfftw_export_wisdom__ -+;sfftw_flops_ -+;sfftw_flops__ -+;sfftw_forget_wisdom_ -+;sfftw_forget_wisdom__ -+;sfftw_import_system_wisdom_ -+;sfftw_import_system_wisdom__ -+;sfftw_import_wisdom_ -+;sfftw_import_wisdom__ -+;sfftw_init_threads_ -+;sfftw_init_threads__ -+;sfftw_plan_dft_ -+;sfftw_plan_dft_1d_ -+;sfftw_plan_dft_1d__ -+;sfftw_plan_dft_2d_ -+;sfftw_plan_dft_2d__ -+;sfftw_plan_dft_3d_ -+;sfftw_plan_dft_3d__ -+;sfftw_plan_dft__ -+;sfftw_plan_dft_c2r_ -+;sfftw_plan_dft_c2r_1d_ -+;sfftw_plan_dft_c2r_1d__ -+;sfftw_plan_dft_c2r_2d_ -+;sfftw_plan_dft_c2r_2d__ -+;sfftw_plan_dft_c2r_3d_ -+;sfftw_plan_dft_c2r_3d__ -+;sfftw_plan_dft_c2r__ -+;sfftw_plan_dft_r2c_ -+;sfftw_plan_dft_r2c_1d_ -+;sfftw_plan_dft_r2c_1d__ -+;sfftw_plan_dft_r2c_2d_ -+;sfftw_plan_dft_r2c_2d__ -+;sfftw_plan_dft_r2c_3d_ -+;sfftw_plan_dft_r2c_3d__ -+;sfftw_plan_dft_r2c__ -+;sfftw_plan_guru_dft_ -+;sfftw_plan_guru_dft__ -+;sfftw_plan_guru_dft_c2r_ -+;sfftw_plan_guru_dft_c2r__ -+;sfftw_plan_guru_dft_r2c_ -+;sfftw_plan_guru_dft_r2c__ -+;sfftw_plan_guru_r2r_ -+;sfftw_plan_guru_r2r__ -+;sfftw_plan_guru_split_dft_ -+;sfftw_plan_guru_split_dft__ -+;sfftw_plan_guru_split_dft_c2r_ -+;sfftw_plan_guru_split_dft_c2r__ -+;sfftw_plan_guru_split_dft_r2c_ -+;sfftw_plan_guru_split_dft_r2c__ -+;sfftw_plan_many_dft_ -+;sfftw_plan_many_dft__ -+;sfftw_plan_many_dft_c2r_ -+;sfftw_plan_many_dft_c2r__ -+;sfftw_plan_many_dft_r2c_ -+;sfftw_plan_many_dft_r2c__ -+;sfftw_plan_many_r2r_ -+;sfftw_plan_many_r2r__ -+;sfftw_plan_r2r_ -+;sfftw_plan_r2r_1d_ -+;sfftw_plan_r2r_1d__ -+;sfftw_plan_r2r_2d_ -+;sfftw_plan_r2r_2d__ -+;sfftw_plan_r2r_3d_ -+;sfftw_plan_r2r_3d__ -+;sfftw_plan_r2r__ -+;sfftw_plan_with_nthreads_ -+;sfftw_plan_with_nthreads__ -+;sfftw_print_plan_ -+;sfftw_print_plan__ -diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt -new file mode 100644 -index 0000000..1552988 ---- /dev/null -+++ b/kernel/CMakeLists.txt -@@ -0,0 +1,17 @@ -+# pkgincludedir = $(includedir)/fftw3@PREC_SUFFIX@ -+# pkginclude_HEADERS = ifftw.h cycle.h -+ -+set(kernel_SRCS align.c alloc.c assert.c awake.c buffered.c -+cpy1d.c cpy2d-pair.c cpy2d.c ct.c debug.c extract-reim.c hash.c iabs.c -+kalloc.c md5-1.c md5.c minmax.c ops.c pickdim.c plan.c planner.c -+primes.c print.c problem.c rader.c scan.c solver.c solvtab.c stride.c -+tensor.c tensor1.c tensor2.c tensor3.c tensor4.c tensor5.c tensor7.c -+tensor8.c tensor9.c tile2d.c timer.c transpose.c trig.c twiddle.c -+) -+ -+if(BUILD_ALL_STATIC) -+ add_library(kernel STATIC ${kernel_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(kernel_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${kernel_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff --git a/libbench2/CMakeLists.txt b/libbench2/CMakeLists.txt -new file mode 100644 -index 0000000..a8c06b7 ---- /dev/null -+++ b/libbench2/CMakeLists.txt -@@ -0,0 +1,11 @@ -+set(bench2_SRCS after-ccopy-from.c after-ccopy-to.c -+after-hccopy-from.c after-hccopy-to.c after-rcopy-from.c -+after-rcopy-to.c aligned-main.c allocate.c aset.c -+bench-cost-postprocess.c bench-exit.c bench-main.c can-do.c caset.c -+dotens2.c info.c main.c mflops.c mp.c ovtpvt.c pow2.c problem.c -+report.c speed.c tensor.c timer.c useropt.c util.c verify-dft.c -+verify-lib.c verify-r2r.c verify-rdft2.c verify.c zero.c -+my-getopt.c -+) -+ -+add_library(bench2 STATIC ${bench2_SRCS}) -diff --git a/rdft/CMakeLists.txt b/rdft/CMakeLists.txt -new file mode 100644 -index 0000000..4a9f057 ---- /dev/null -+++ b/rdft/CMakeLists.txt -@@ -0,0 +1,23 @@ -+add_subdirectory(scalar) -+add_subdirectory(simd) -+ -+ -+set(RDFT2_SRCS buffered2.c direct2.c nop2.c rank0-rdft2.c rank-geq2-rdft2.c -+plan2.c problem2.c solve2.c vrank-geq1-rdft2.c rdft2-rdft.c -+rdft2-tensor-max-index.c rdft2-inplace-strides.c rdft2-strides.c -+khc2c.c ct-hc2c.c ct-hc2c-direct.c -+) -+ -+set(rdft_SRCS hc2hc.c dft-r2hc.c dht-r2hc.c dht-rader.c -+buffered.c conf.c direct-r2r.c direct-r2c.c generic.c -+hc2hc-direct.c hc2hc-generic.c khc2hc.c kr2c.c kr2r.c indirect.c nop.c -+plan.c problem.c rank0.c rank-geq2.c rdft-dht.c solve.c -+vrank-geq1.c vrank3-transpose.c ${RDFT2_SRCS} -+) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft STATIC ${rdft_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${rdft_SRCS} ${_fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff --git a/rdft/scalar/CMakeLists.txt b/rdft/scalar/CMakeLists.txt -new file mode 100644 -index 0000000..ea61666 ---- /dev/null -+++ b/rdft/scalar/CMakeLists.txt -@@ -0,0 +1,12 @@ -+add_subdirectory(r2cb) -+add_subdirectory(r2cf) -+add_subdirectory(r2r) -+ -+set(rdft_scalar_SRCS ${rdft_scalar_SRCS} hfb.c r2c.c r2r.c hc2c.c) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft_scalar STATIC ${rdft_scalar_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_scalar_SRCS) -+ set(_fftw_SRCS ${_fftw_SRCS} ${rdft_scalar_SRCS} ${__fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff --git a/rdft/scalar/r2cb/CMakeLists.txt b/rdft/scalar/r2cb/CMakeLists.txt -new file mode 100644 -index 0000000..09ac2e8 ---- /dev/null -+++ b/rdft/scalar/r2cb/CMakeLists.txt -@@ -0,0 +1,126 @@ -+# This Makefile.am specifies a set of codelets, efficient transforms -+# of small sizes, that are used as building blocks (kernels) by FFTW -+# to build up large transforms, as well as the options for generating -+# and compiling them. -+ -+# You can customize FFTW for special needs, e.g. to handle certain -+# sizes more efficiently, by adding new codelets to the lists of those -+# included by default. If you change the list of codelets, any new -+# ones you added will be automatically generated when you run the -+# bootstrap script (see "Generating your own code" in the FFTW -+# manual). -+ -+########################################################################### -+# r2cb_ is a hard-coded complex-to-real FFT of size (base cases -+# of real-output FFT recursion) -+set(R2CB r2cb_2.c r2cb_3.c r2cb_4.c r2cb_5.c r2cb_6.c r2cb_7.c r2cb_8.c -+r2cb_9.c r2cb_10.c r2cb_11.c r2cb_12.c r2cb_13.c r2cb_14.c r2cb_15.c -+r2cb_16.c r2cb_32.c r2cb_64.c r2cb_128.c r2cb_20.c r2cb_25.c -+# r2cb_30.c r2cb_40.c r2cb_50.c -+) -+ -+########################################################################### -+# hb_ is a "twiddle" FFT of size , implementing a radix-r DIF -+# step for a real-output FFT. Every hb codelet must have a -+# corresponding r2cbIII codelet (see below)! -+set(HB hb_2.c hb_3.c hb_4.c hb_5.c hb_6.c hb_7.c hb_8.c hb_9.c -+hb_10.c hb_12.c hb_15.c hb_16.c hb_32.c hb_64.c -+hb_20.c hb_25.c # hb_30.c hb_40.c hb_50.c -+) -+ -+# like hb, but generates part of its trig table on the fly (good for large n) -+set(HB2 hb2_4.c hb2_8.c hb2_16.c hb2_32.c -+hb2_5.c hb2_20.c hb2_25.c -+) -+ -+# an r2cb transform where the output is shifted by half a sample (input -+# is multiplied by a phase). This is needed as part of the DIF recursion; -+# every hb_ or hb2_ codelet should have a corresponding r2cbIII_ -+set(R2CBIII r2cbIII_2.c r2cbIII_3.c r2cbIII_4.c r2cbIII_5.c r2cbIII_6.c -+r2cbIII_7.c r2cbIII_8.c r2cbIII_9.c r2cbIII_10.c r2cbIII_12.c -+r2cbIII_15.c r2cbIII_16.c r2cbIII_32.c r2cbIII_64.c -+r2cbIII_20.c r2cbIII_25.c # r2cbIII_30.c r2cbIII_40.c r2cbIII_50.c -+) -+ -+########################################################################### -+# hc2cb_ is a "twiddle" FFT of size , implementing a radix-r DIF -+# step for a real-input FFT with rdft2-style output. must be even. -+set(HC2CB hc2cb_2.c hc2cb_4.c hc2cb_6.c hc2cb_8.c hc2cb_10.c hc2cb_12.c -+hc2cb_16.c hc2cb_32.c -+hc2cb_20.c # hc2cb_30.c -+) -+ -+set(HC2CBDFT hc2cbdft_2.c hc2cbdft_4.c hc2cbdft_6.c hc2cbdft_8.c -+hc2cbdft_10.c hc2cbdft_12.c hc2cbdft_16.c hc2cbdft_32.c -+hc2cbdft_20.c # hc2cbdft_30.c -+) -+ -+# like hc2cb, but generates part of its trig table on the fly (good -+# for large n) -+set(HC2CB2 hc2cb2_4.c hc2cb2_8.c hc2cb2_16.c hc2cb2_32.c -+hc2cb2_20.c # hc2cb2_30.c -+) -+set(HC2CBDFT2 hc2cbdft2_4.c hc2cbdft2_8.c hc2cbdft2_16.c hc2cbdft2_32.c -+hc2cbdft2_20.c # hc2cbdft2_30.c -+) -+ -+########################################################################### -+set(ALL_CODELETS ${R2CB} ${HB} ${HB2} ${R2CBIII} ${HC2CB} ${HC2CB2} ${HC2CBDFT} ${HC2CBDFT2}) -+ -+include(${CMAKE_SOURCE_DIR}/support/codelets.cmake) -+ -+set(SOLVTAB_NAME "X(solvtab_rdft_r2cb)") -+ -+set(CODLIST ${CMAKE_CURRENT_BINARY_DIR}/codlist.c) -+set(CODELET_NAME codelet_) -+ -+write_codelet_list(${CODLIST} ${CODELET_NAME} ${SOLVTAB_NAME} ${ALL_CODELETS}) -+ -+set(rdft_scalar_r2cb_SRCS ${ALL_CODELETS}) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft_scalar_r2cb STATIC ${rdft_scalar_r2cb_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_scalar_r2cb_SRCS) -+ set(__fftw_SRCS ${__fftw_SRCS} ${rdft_scalar_r2cb_SRCS} ${CODLIST} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+# this is old source code which can be changed later -+# only delete codlist.c in maintainer-mode, since it is included in the dist -+# FIXME: is there a way to delete in 'make clean' only when builddir != srcdir? -+#maintainer-clean-local: -+# rm -f $(CODLIST) -+ -+#if MAINTAINER_MODE -+#FLAGS_R2CB=$(RDFT_FLAGS_COMMON) -sign 1 -+#FLAGS_HB=$(RDFT_FLAGS_COMMON) -sign 1 -+#FLAGS_HB2=$(RDFT_FLAGS_COMMON) -sign 1 -twiddle-log3 -precompute-twiddles -+#FLAGS_HC2CB=$(RDFT_FLAGS_COMMON) -sign 1 -+#FLAGS_HC2CB2=$(RDFT_FLAGS_COMMON) -sign 1 -twiddle-log3 -precompute-twiddles -+#FLAGS_R2CBIII=$(RDFT_FLAGS_COMMON) -sign 1 -+# -+#r2cb_%.c: $(CODELET_DEPS) $(GEN_R2CB) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_R2CB) $(FLAGS_R2CB) -n $* -name r2cb_$* -include "r2cb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hb_%.c: $(CODELET_DEPS) $(GEN_HC2HC) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2HC) $(FLAGS_HB) -n $* -dif -name hb_$* -include "hb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hb2_%.c: $(CODELET_DEPS) $(GEN_HC2HC) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2HC) $(FLAGS_HB2) -n $* -dif -name hb2_$* -include "hb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#r2cbIII_%.c: $(CODELET_DEPS) $(GEN_R2CB) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_R2CB) $(FLAGS_R2CB) -n $* -name r2cbIII_$* -dft-III -include "r2cbIII.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cb_%.c: $(CODELET_DEPS) $(GEN_HC2C) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2C) $(FLAGS_HC2CB) -n $* -dif -name hc2cb_$* -include "hc2cb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cb2_%.c: $(CODELET_DEPS) $(GEN_HC2C) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2C) $(FLAGS_HC2CB2) -n $* -dif -name hc2cb2_$* -include "hc2cb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cbdft_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT) $(FLAGS_HC2CB) -n $* -dif -name hc2cbdft_$* -include "hc2cb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cbdft2_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT) $(FLAGS_HC2CB) -n $* -dif -name hc2cbdft2_$* -include "hc2cb.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#endif # MAINTAINER_MODE -diff --git a/rdft/scalar/r2cf/CMakeLists.txt b/rdft/scalar/r2cf/CMakeLists.txt -new file mode 100644 -index 0000000..7ffb3ee ---- /dev/null -+++ b/rdft/scalar/r2cf/CMakeLists.txt -@@ -0,0 +1,128 @@ -+# This Makefile.am specifies a set of codelets, efficient transforms -+# of small sizes, that are used as building blocks (kernels) by FFTW -+# to build up large transforms, as well as the options for generating -+# and compiling them. -+ -+# You can customize FFTW for special needs, e.g. to handle certain -+# sizes more efficiently, by adding new codelets to the lists of those -+# included by default. If you change the list of codelets, any new -+# ones you added will be automatically generated when you run the -+# bootstrap script (see "Generating your own code" in the FFTW -+# manual). -+ -+########################################################################### -+ -+########################################################################### -+# r2cf_ is a hard-coded real-to-complex FFT of size (base cases -+# of real-input FFT recursion) -+set(R2CF r2cf_2.c r2cf_3.c r2cf_4.c r2cf_5.c r2cf_6.c r2cf_7.c r2cf_8.c -+r2cf_9.c r2cf_10.c r2cf_11.c r2cf_12.c r2cf_13.c r2cf_14.c r2cf_15.c -+r2cf_16.c r2cf_32.c r2cf_64.c r2cf_128.c -+r2cf_20.c r2cf_25.c # r2cf_30.c r2cf_40.c r2cf_50.c -+) -+ -+########################################################################### -+# hf_ is a "twiddle" FFT of size , implementing a radix-r DIT -+# step for a real-input FFT. Every hf codelet must have a -+# corresponding r2cfII codelet (see below)! -+set(HF hf_2.c hf_3.c hf_4.c hf_5.c hf_6.c hf_7.c hf_8.c hf_9.c -+hf_10.c hf_12.c hf_15.c hf_16.c hf_32.c hf_64.c -+hf_20.c hf_25.c # hf_30.c hf_40.c hf_50.c -+) -+ -+# like hf, but generates part of its trig table on the fly (good for large n) -+set(HF2 hf2_4.c hf2_8.c hf2_16.c hf2_32.c -+hf2_5.c hf2_20.c hf2_25.c -+) -+ -+# an r2cf transform where the input is shifted by half a sample (output -+# is multiplied by a phase). This is needed as part of the DIT recursion; -+# every hf_ or hf2_ codelet should have a corresponding r2cfII_ -+set(R2CFII r2cfII_2.c r2cfII_3.c r2cfII_4.c r2cfII_5.c r2cfII_6.c -+r2cfII_7.c r2cfII_8.c r2cfII_9.c r2cfII_10.c r2cfII_12.c r2cfII_15.c -+r2cfII_16.c r2cfII_32.c r2cfII_64.c -+r2cfII_20.c r2cfII_25.c # r2cfII_30.c r2cfII_40.c r2cfII_50.c -+) -+ -+########################################################################### -+# hc2cf_ is a "twiddle" FFT of size , implementing a radix-r DIT -+# step for a real-input FFT with rdft2-style output. must be even. -+set(HC2CF hc2cf_2.c hc2cf_4.c hc2cf_6.c hc2cf_8.c hc2cf_10.c hc2cf_12.c -+hc2cf_16.c hc2cf_32.c -+hc2cf_20.c # hc2cf_30.c -+) -+ -+set(HC2CFDFT hc2cfdft_2.c hc2cfdft_4.c hc2cfdft_6.c hc2cfdft_8.c -+hc2cfdft_10.c hc2cfdft_12.c hc2cfdft_16.c hc2cfdft_32.c -+hc2cfdft_20.c # hc2cfdft_30.c -+) -+ -+# like hc2cf, but generates part of its trig table on the fly (good -+# for large n) -+set(HC2CF2 hc2cf2_4.c hc2cf2_8.c hc2cf2_16.c hc2cf2_32.c -+hc2cf2_20.c # hc2cf2_30.c -+) -+set(HC2CFDFT2 hc2cfdft2_4.c hc2cfdft2_8.c hc2cfdft2_16.c hc2cfdft2_32.c -+hc2cfdft2_20.c # hc2cfdft2_30.c -+) -+ -+########################################################################### -+set(ALL_CODELETS ${R2CF} ${HF} ${HF2} ${R2CFII} ${HC2CF} ${HC2CF2} ${HC2CFDFT} ${HC2CFDFT2}) -+ -+include(${CMAKE_SOURCE_DIR}/support/codelets.cmake) -+ -+set(SOLVTAB_NAME "X(solvtab_rdft_r2cf)") -+ -+set(CODLIST ${CMAKE_CURRENT_BINARY_DIR}/codlist.c) -+set(CODELET_NAME codelet_) -+ -+write_codelet_list(${CODLIST} ${CODELET_NAME} ${SOLVTAB_NAME} ${ALL_CODELETS}) -+ -+set(rdft_scalar_r2cf_SRCS ${ALL_CODELETS}) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft_scalar_r2cf STATIC ${rdft_scalar_r2cf_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_scalar_r2cf_SRCS) -+ set(__fftw_SRCS ${__fftw_SRCS} ${rdft_scalar_r2cf_SRCS} ${CODLIST} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+# this is old source code which can be changed later -+# only delete codlist.c in maintainer-mode, since it is included in the dist -+# FIXME: is there a way to delete in 'make clean' only when builddir != srcdir? -+#maintainer-clean-local: -+# rm -f $(CODLIST) -+ -+#if MAINTAINER_MODE -+#FLAGS_R2CF=$(RDFT_FLAGS_COMMON) -+#FLAGS_HF=$(RDFT_FLAGS_COMMON) -+#FLAGS_HF2=$(RDFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+#FLAGS_HC2CF=$(RDFT_FLAGS_COMMON) -+#FLAGS_HC2CF2=$(RDFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+#FLAGS_R2CFII=$(RDFT_FLAGS_COMMON) -+# -+#r2cf_%.c: $(CODELET_DEPS) $(GEN_R2CF) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_R2CF) $(FLAGS_R2CF) -n $* -name r2cf_$* -include "r2cf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hf_%.c: $(CODELET_DEPS) $(GEN_HC2HC) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2HC) $(FLAGS_HF) -n $* -dit -name hf_$* -include "hf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hf2_%.c: $(CODELET_DEPS) $(GEN_HC2HC) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2HC) $(FLAGS_HF2) -n $* -dit -name hf2_$* -include "hf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#r2cfII_%.c: $(CODELET_DEPS) $(GEN_R2CF) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_R2CF) $(FLAGS_R2CF) -n $* -name r2cfII_$* -dft-II -include "r2cfII.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cf_%.c: $(CODELET_DEPS) $(GEN_HC2C) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2C) $(FLAGS_HC2CF) -n $* -dit -name hc2cf_$* -include "hc2cf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cf2_%.c: $(CODELET_DEPS) $(GEN_HC2C) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2C) $(FLAGS_HC2CF2) -n $* -dit -name hc2cf2_$* -include "hc2cf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cfdft_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT) $(FLAGS_HC2CF) -n $* -dit -name hc2cfdft_$* -include "hc2cf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cfdft2_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT) $(FLAGS_HC2CF2) -n $* -dit -name hc2cfdft2_$* -include "hc2cf.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#endif # MAINTAINER_MODE -diff --git a/rdft/scalar/r2r/CMakeLists.txt b/rdft/scalar/r2r/CMakeLists.txt -new file mode 100644 -index 0000000..1a95451 ---- /dev/null -+++ b/rdft/scalar/r2r/CMakeLists.txt -@@ -0,0 +1,100 @@ -+# This Makefile.am specifies a set of codelets, efficient transforms -+# of small sizes, that are used as building blocks (kernels) by FFTW -+# to build up large transforms, as well as the options for generating -+# and compiling them. -+ -+# You can customize FFTW for special needs, e.g. to handle certain -+# sizes more efficiently, by adding new codelets to the lists of those -+# included by default. If you change the list of codelets, any new -+# ones you added will be automatically generated when you run the -+# bootstrap script (see "Generating your own code" in the FFTW -+# manual). -+ -+########################################################################### -+ -+########################################################################### -+# The following lines specify the REDFT/RODFT/DHT sizes for which to generate -+# specialized codelets. Currently, only REDFT01/10 of size 8 (used in JPEG). -+ -+# e_ is a hard-coded REDFT FFT (DCT) of size -+set(E00 # e00_2.c e00_3.c e00_4.c e00_5.c e00_6.c e00_7.c e00_8.c -+) -+set(E01 e01_8.c # e01_2.c e01_3.c e01_4.c e01_5.c e01_6.c e01_7.c -+) -+set(E10 e10_8.c # e10_2.c e10_3.c e10_4.c e10_5.c e10_6.c e10_7.c -+) -+set(E11 # e11_2.c e11_3.c e11_4.c e11_5.c e11_6.c e11_7.c e11_8.c -+) -+ -+# o_ is a hard-coded RODFT FFT (DST) of size -+set(O00 # o00_2.c o00_3.c o00_4.c o00_5.c o00_6.c o00_7.c o00_8.c -+) -+set(O01 # o01_2.c o01_3.c o01_4.c o01_5.c o01_6.c o01_7.c o01_8.c -+) -+set(O10 # o10_2.c o10_3.c o10_4.c o10_5.c o10_6.c o10_7.c o10_8.c -+) -+set(O11 # o11_2.c o11_3.c o11_4.c o11_5.c o11_6.c o11_7.c o11_8.c -+) -+ -+# dht_ is a hard-coded DHT of size -+set(DHT # dht_2.c dht_3.c dht_4.c dht_5.c dht_6.c dht_7.c dht_8.c -+) -+ -+########################################################################### -+set(ALL_CODELETS ${E00} ${E01} ${E10} ${E11} ${O00} ${O01} ${O10} ${O11} ${DHT}) -+ -+include(${CMAKE_SOURCE_DIR}/support/codelets.cmake) -+ -+set(SOLVTAB_NAME "X(solvtab_rdft_r2r)") -+ -+set(CODLIST ${CMAKE_CURRENT_BINARY_DIR}/codlist.c) -+set(CODELET_NAME codelet_) -+ -+write_codelet_list(${CODLIST} ${CODELET_NAME} ${SOLVTAB_NAME} ${ALL_CODELETS}) -+ -+set(rdft_scalar_r2r_SRCS ${ALL_CODELETS}) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft_scalar_r2r STATIC ${rdft_scalar_r2r_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_scalar_r2r_SRCS) -+ set(__fftw_SRCS ${__fftw_SRCS} ${rdft_scalar_r2r_SRCS} ${CODLIST} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+# this is old source code which can be changed later -+# only delete codlist.c in maintainer-mode, since it is included in the dist -+# FIXME: is there a way to delete in 'make clean' only when builddir != srcdir? -+#maintainer-clean-local: -+# rm -f $(CODLIST) -+ -+#if MAINTAINER_MODE -+#FLAGS_N1=$(DFT_FLAGS_COMMON) -+#FLAGS_T1=$(DFT_FLAGS_COMMON) -+#FLAGS_T2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+#FLAGS_F1=$(DFT_FLAGS_COMMON) -+#FLAGS_F2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+#FLAGS_Q1=$(DFT_FLAGS_COMMON) -reload-twiddle -+#FLAGS_Q2=$(DFT_FLAGS_COMMON) -twiddle-log3 -precompute-twiddles -+# -+#n1_%.c: $(CODELET_DEPS) $(GEN_NOTW) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_NOTW) $(FLAGS_N1) -n $* -name n1_$* -include "n.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t1_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_T1) -n $* -name t1_$* -include "t.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#t2_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_T2) -n $* -name t2_$* -include "t.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#f1_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_F1) -dif -n $* -name f1_$* -include "f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#f2_%.c: $(CODELET_DEPS) $(GEN_TWIDDLE) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDDLE) $(FLAGS_F2) -dif -n $* -name f2_$* -include "f.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#q1_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ) $(FLAGS_Q1) -dif -n $* -name q1_$* -include "q.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#q2_%.c: $(CODELET_DEPS) $(GEN_TWIDSQ) -+# ($(PRELUDE_COMMANDS_DFT); $(TWOVERS) $(GEN_TWIDSQ) $(FLAGS_Q2) -dif -n $* -name q2_$* -include "q.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#endif # MAINTAINER_MODE -diff --git a/rdft/simd/CMakeLists.txt b/rdft/simd/CMakeLists.txt -new file mode 100644 -index 0000000..09191cb ---- /dev/null -+++ b/rdft/simd/CMakeLists.txt -@@ -0,0 +1,10 @@ -+add_subdirectory(codelets) -+ -+set(rdft_simd_SRCS hc2cbv.c hc2cfv.c) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft_simd STATIC ${rdft_simd_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_simd_SRCS) -+ set(_fftw_SRCS ${_fftw_SRCS} ${rdft_simd_SRCS} ${__fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff --git a/rdft/simd/codelets/CMakeLists.txt b/rdft/simd/codelets/CMakeLists.txt -new file mode 100644 -index 0000000..1b4bc06 ---- /dev/null -+++ b/rdft/simd/codelets/CMakeLists.txt -@@ -0,0 +1,61 @@ -+# This Makefile.am specifies a set of codelets, efficient transforms -+# of small sizes, that are used as building blocks (kernels) by FFTW -+# to build up large transforms, as well as the options for generating -+# and compiling them. -+ -+# You can customize FFTW for special needs, e.g. to handle certain -+# sizes more efficiently, by adding new codelets to the lists of those -+# included by default. If you change the list of codelets, any new -+# ones you added will be automatically generated when you run the -+# bootstrap script (see "Generating your own code" in the FFTW -+# manual). -+ -+########################################################################### -+ -+set(HC2CFDFTV hc2cfdftv_2.c hc2cfdftv_4.c hc2cfdftv_6.c hc2cfdftv_8.c -+hc2cfdftv_10.c hc2cfdftv_12.c hc2cfdftv_16.c hc2cfdftv_32.c -+hc2cfdftv_20.c # hc2cfdftv_30.c -+) -+ -+set(HC2CBDFTV hc2cbdftv_2.c hc2cbdftv_4.c hc2cbdftv_6.c hc2cbdftv_8.c -+hc2cbdftv_10.c hc2cbdftv_12.c hc2cbdftv_16.c hc2cbdftv_32.c -+hc2cbdftv_20.c # hc2cbdftv_30.c -+) -+ -+########################################################################### -+set(SIMD_CODELETS ${HC2CFDFTV} ${HC2CBDFTV}) -+ -+if(HAVE_SIMD) -+ set(ALL_CODELETS ${SIMD_CODELETS}) -+else(HAVE_SIMD) -+ set(ALL_CODELETS) -+endif(HAVE_SIMD) -+ -+set(SOLVTAB_NAME "X(solvtab_rdft_simd)") -+set(CODLIST ${CMAKE_CURRENT_BINARY_DIR}/codlist.c) -+set(CODELET_NAME codelet_) -+ -+set(rdft_simd_codelets_SRCS ${ALL_CODELETS}) -+ -+# special rules for regenerating codelets. -+include(${CMAKE_SOURCE_DIR}/support/codelets.cmake) -+ -+write_codelet_list(${CODLIST} ${CODELET_NAME} ${SOLVTAB_NAME} ${ALL_CODELETS}) -+ -+if(BUILD_ALL_STATIC) -+ add_library(rdft_simd_codelets STATIC ${ALL_CODELETS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(rdft_simd_codelets_SRCS) -+ set(__fftw_SRCS ${__fftw_SRCS} ${rdft_simd_codelets_SRCS} ${CODLIST} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -+ -+#if MAINTAINER_MODE -+#FLAGS_HC2C=-simd $(FLAGS_COMMON) -pipeline-latency 8 -trivial-stores -variables 32 -no-generate-bytw -+# -+#hc2cfdftv_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT_C) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT_C) $(FLAGS_HC2C) -n $* -dit -name hc2cfdftv_$* -include "hc2cfv.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#hc2cbdftv_%.c: $(CODELET_DEPS) $(GEN_HC2CDFT_C) -+# ($(PRELUDE_COMMANDS_RDFT); $(TWOVERS) $(GEN_HC2CDFT_C) $(FLAGS_HC2C) -n $* -dif -sign 1 -name hc2cbdftv_$* -include "hc2cbv.h") | $(ADD_DATE) | $(INDENT) >$@ -+# -+#endif # MAINTAINER_MODE -diff --git a/reodft/CMakeLists.txt b/reodft/CMakeLists.txt -new file mode 100644 -index 0000000..51d382b ---- /dev/null -+++ b/reodft/CMakeLists.txt -@@ -0,0 +1,12 @@ -+set(reodft_SRCS conf.c reodft010e-r2hc.c -+reodft11e-radix2.c reodft11e-r2hc-odd.c redft00e-r2hc-pad.c -+rodft00e-r2hc-pad.c reodft00e-splitradix.c -+# redft00e-r2hc.c rodft00e-r2hc.c reodft11e-r2hc.c -+) -+ -+if(BUILD_ALL_STATIC) -+ add_library(reodft STATIC ${reodft_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(reodft_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${reodft_SRCS} ${_fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff --git a/simd/CMakeLists.txt b/simd/CMakeLists.txt -new file mode 100644 -index 0000000..713be75 ---- /dev/null -+++ b/simd/CMakeLists.txt -@@ -0,0 +1,10 @@ -+set(simd_SRCS altivec.c sse.c sse2.c taint.c mips_ps.c) -+ -+add_subdirectory(nonportable) -+ -+if(BUILD_ALL_STATIC) -+ add_library(simd STATIC ${simd_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(simd_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${simd_SRCS} ${_fftw_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff --git a/simd/nonportable/CMakeLists.txt b/simd/nonportable/CMakeLists.txt -new file mode 100644 -index 0000000..44b6e0b ---- /dev/null -+++ b/simd/nonportable/CMakeLists.txt -@@ -0,0 +1,8 @@ -+set(simd_nonportable_SRCS sse.c sse2.c) -+ -+if(BUILD_ALL_STATIC) -+ add_library(simd_nonportable STATIC ${simd_nonportable_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(simd_nonportable_SRCS) -+ set(_fftw_SRCS ${_fftw_SRCS} ${simd_nonportable_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -diff --git a/simd/simd-sse.h b/simd/simd-sse.h -index 290ed7b..ed70027 100644 ---- a/simd/simd-sse.h -+++ b/simd/simd-sse.h -@@ -1,315 +1,315 @@ --/* -- * Copyright (c) 2003, 2007-8 Matteo Frigo -- * Copyright (c) 2003, 2007-8 Massachusetts Institute of Technology -- * -- * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- * -- */ -- --#ifndef FFTW_SINGLE --#error "SSE only works in single precision" --#endif -- --#define VL 2 /* SIMD complex vector length */ --#define ALIGNMENT 8 /* alignment for LD/ST */ --#define ALIGNMENTA 16 /* alignment for LDA/STA */ --#define SIMD_VSTRIDE_OKA(x) ((x) == 2) --#define SIMD_STRIDE_OKPAIR SIMD_STRIDE_OK -- --#define RIGHT_CPU X(have_sse) --extern int RIGHT_CPU(void); -- --/* gcc compiles the following code only when __SSE__ is defined */ --#if defined(__SSE__) || !defined(__GNUC__) -- --/* some versions of glibc's sys/cdefs.h define __inline to be empty, -- which is wrong because xmmintrin.h defines several inline -- procedures */ --#undef __inline -- --#include -- --typedef __m128 V; --#define VADD _mm_add_ps --#define VSUB _mm_sub_ps --#define VMUL _mm_mul_ps --#define VXOR _mm_xor_ps --#define SHUFPS _mm_shuffle_ps --#define STOREH(addr, val) _mm_storeh_pi((__m64 *)(addr), val) --#define STOREL(addr, val) _mm_storel_pi((__m64 *)(addr), val) --#define UNPCKH _mm_unpackhi_ps --#define UNPCKL _mm_unpacklo_ps -- --#ifdef __GNUC__ --# define DVK(var, val) const V var = __extension__ ({ \ -- static const union fvec _var = { {val, val, val, val} }; \ -- _var.v; \ -- }) --# define LDK(x) x -- -- /* we use inline asm because gcc generates slow code for -- _mm_loadh_pi(). gcc insists upon having an existing variable for -- VAL, which is however never used. Thus, it generates code to move -- values in and out the variable. Worse still, gcc-4.0 stores VAL on -- the stack, causing valgrind to complain about uninitialized reads. -- */ -- -- static inline V LD(const R *x, INT ivs, const R *aligned_like) -- { -- V var; -- (void)aligned_like; /* UNUSED */ -- __asm__("movlps %1, %0\n\tmovhps %2, %0" -- : "=x"(var) : "m"(x[0]), "m"(x[ivs])); -- return var; -- } -- --#else -- --# define DVK(var, val) const R var = K(val) --# define LDK(x) _mm_set_ps1(x) --# define LOADH(addr, val) _mm_loadh_pi(val, (const __m64 *)(addr)) --# define LOADL0(addr, val) _mm_loadl_pi(val, (const __m64 *)(addr)) -- -- static inline V LD(const R *x, INT ivs, const R *aligned_like) -- { -- V var; -- (void)aligned_like; /* UNUSED */ -- var = LOADL0(x, var); -- var = LOADH(x + ivs, var); -- return var; -- } -- --#endif -- --union fvec { -- R f[4]; -- V v; --}; -- --union uvec { -- unsigned u[4]; -- V v; --}; -- --#define VFMA(a, b, c) VADD(c, VMUL(a, b)) --#define VFNMS(a, b, c) VSUB(c, VMUL(a, b)) --#define VFMS(a, b, c) VSUB(VMUL(a, b), c) -- --#define SHUFVAL(fp0,fp1,fp2,fp3) \ -- (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) -- -- --static inline V LDA(const R *x, INT ivs, const R *aligned_like) --{ -- (void)aligned_like; /* UNUSED */ -- (void)ivs; /* UNUSED */ -- return *(const V *)x; --} -- --static inline void ST(R *x, V v, INT ovs, const R *aligned_like) --{ -- (void)aligned_like; /* UNUSED */ -- /* WARNING: the extra_iter hack depends upon STOREL occurring -- after STOREH */ -- STOREH(x + ovs, v); -- STOREL(x, v); --} -- --static inline void STA(R *x, V v, INT ovs, const R *aligned_like) --{ -- (void)aligned_like; /* UNUSED */ -- (void)ovs; /* UNUSED */ -- *(V *)x = v; --} -- --#if 0 --/* this should be faster but it isn't. */ --static inline void STN2(R *x, V v0, V v1, INT ovs) --{ -- STA(x, SHUFPS(v0, v1, SHUFVAL(0, 1, 0, 1)), ovs, 0); -- STA(x + ovs, SHUFPS(v0, v1, SHUFVAL(2, 3, 2, 3)), ovs, 0); --} --#endif --#define STM2 ST --#define STN2(x, v0, v1, ovs) /* nop */ -- --#define STM4(x, v, ovs, aligned_like) /* no-op */ -- --#ifdef VISUAL_CXX_DOES_NOT_SUCK --static inline void STN4(R *x, V v0, V v1, V v2, V v3, INT ovs) --{ -- V x0, x1, x2, x3; -- x0 = UNPCKL(v0, v2); -- x1 = UNPCKH(v0, v2); -- x2 = UNPCKL(v1, v3); -- x3 = UNPCKH(v1, v3); -- STA(x, UNPCKL(x0, x2), 0, 0); -- STA(x + ovs, UNPCKH(x0, x2), 0, 0); -- STA(x + 2 * ovs, UNPCKL(x1, x3), 0, 0); -- STA(x + 3 * ovs, UNPCKH(x1, x3), 0, 0); --} --#else /* Visual C++ sucks */ -- --/* -- Straight from the mouth of the horse: -- -- We "reserved" the possibility of aligning arguments with -- __declspec(align(X)) passed by value by issuing this error. -- -- The first 3 parameters of type __m64 (or other MMX types) are -- passed in registers. The rest would be passed on the stack. We -- decided aligning the stack was wasteful, especially for __m128 -- parameters. Also, we thought it would be infrequent that people -- would want to pass more than 3 by value. -- -- If we didn't issue an error, we would have to binary compatibility -- in the future if we decided to align the arguments. -- -- -- Hope that explains it. -- -- -- Jason Shirk, Visual C++ Compiler Team -- This posting is provided AS IS with no warranties, and confers no rights --*/ -- --#define STN4(x, v0, v1, v2, v3, ovs) \ --{ \ -- V xxx0, xxx1, xxx2, xxx3; \ -- xxx0 = UNPCKL(v0, v2); \ -- xxx1 = UNPCKH(v0, v2); \ -- xxx2 = UNPCKL(v1, v3); \ -- xxx3 = UNPCKH(v1, v3); \ -- STA(x, UNPCKL(xxx0, xxx2), 0, 0); \ -- STA(x + ovs, UNPCKH(xxx0, xxx2), 0, 0); \ -- STA(x + 2 * ovs, UNPCKL(xxx1, xxx3), 0, 0); \ -- STA(x + 3 * ovs, UNPCKH(xxx1, xxx3), 0, 0); \ --} --#endif -- --static inline V FLIP_RI(V x) --{ -- return SHUFPS(x, x, SHUFVAL(1, 0, 3, 2)); --} -- --extern const union uvec X(sse_pmpm); --static inline V VCONJ(V x) --{ -- return VXOR(X(sse_pmpm).v, x); --} -- --static inline V VBYI(V x) --{ -- return FLIP_RI(VCONJ(x)); --} -- --static inline V VZMUL(V tx, V sr) --{ -- V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -- V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -- tr = VMUL(tr, sr); -- sr = VBYI(sr); -- return VADD(tr, VMUL(ti, sr)); --} -- --static inline V VZMULJ(V tx, V sr) --{ -- V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -- V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -- tr = VMUL(tr, sr); -- sr = VBYI(sr); -- return VSUB(tr, VMUL(ti, sr)); --} -- --static inline V VZMULI(V tx, V sr) --{ -- V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -- V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -- ti = VMUL(ti, sr); -- sr = VBYI(sr); -- return VSUB(VMUL(tr, sr), ti); --} -- --static inline V VZMULIJ(V tx, V sr) --{ -- V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -- V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -- ti = VMUL(ti, sr); -- sr = VBYI(sr); -- return VADD(VMUL(tr, sr), ti); --} -- --#define VFMAI(b, c) VADD(c, VBYI(b)) --#define VFNMSI(b, c) VSUB(c, VBYI(b)) -- --/* twiddle storage #1: compact, slower */ --#define VTW1(v,x) \ -- {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_SIN, v, x}, {TW_SIN, v+1, x} --#define TWVL1 (VL) -- --static inline V BYTW1(const R *t, V sr) --{ -- const V *twp = (const V *)t; -- V tx = twp[0]; -- V tr = UNPCKL(tx, tx); -- V ti = UNPCKH(tx, tx); -- tr = VMUL(tr, sr); -- sr = VBYI(sr); -- return VADD(tr, VMUL(ti, sr)); --} -- --static inline V BYTWJ1(const R *t, V sr) --{ -- const V *twp = (const V *)t; -- V tx = twp[0]; -- V tr = UNPCKL(tx, tx); -- V ti = UNPCKH(tx, tx); -- tr = VMUL(tr, sr); -- sr = VBYI(sr); -- return VSUB(tr, VMUL(ti, sr)); --} -- --/* twiddle storage #2: twice the space, faster (when in cache) */ --#define VTW2(v,x) \ -- {TW_COS, v, x}, {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_COS, v+1, x}, \ -- {TW_SIN, v, -x}, {TW_SIN, v, x}, {TW_SIN, v+1, -x}, {TW_SIN, v+1, x} --#define TWVL2 (2 * VL) -- --static inline V BYTW2(const R *t, V sr) --{ -- const V *twp = (const V *)t; -- V si = FLIP_RI(sr); -- V tr = twp[0], ti = twp[1]; -- return VADD(VMUL(tr, sr), VMUL(ti, si)); --} -- --static inline V BYTWJ2(const R *t, V sr) --{ -- const V *twp = (const V *)t; -- V si = FLIP_RI(sr); -- V tr = twp[0], ti = twp[1]; -- return VSUB(VMUL(tr, sr), VMUL(ti, si)); --} -- --/* twiddle storage #3 */ --#define VTW3(v,x) {TW_CEXP, v, x}, {TW_CEXP, v+1, x} --#define TWVL3 (VL) -- --/* twiddle storage for split arrays */ --#define VTWS(v,x) \ -- {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_COS, v+2, x}, {TW_COS, v+3, x}, \ -- {TW_SIN, v, x}, {TW_SIN, v+1, x}, {TW_SIN, v+2, x}, {TW_SIN, v+3, x} --#define TWVLS (2 * VL) -- --#endif /* __SSE__ */ -+/* -+ * Copyright (c) 2003, 2007-8 Matteo Frigo -+ * Copyright (c) 2003, 2007-8 Massachusetts Institute of Technology -+ * -+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ * -+ */ -+ -+#ifndef FFTW_SINGLE -+#error "SSE only works in single precision" -+#endif -+ -+#define VL 2 /* SIMD complex vector length */ -+#define ALIGNMENT 8 /* alignment for LD/ST */ -+#define ALIGNMENTA 16 /* alignment for LDA/STA */ -+#define SIMD_VSTRIDE_OKA(x) ((x) == 2) -+#define SIMD_STRIDE_OKPAIR SIMD_STRIDE_OK -+ -+#define RIGHT_CPU X(have_sse) -+extern int RIGHT_CPU(void); -+ -+/* gcc compiles the following code only when __SSE__ is defined */ -+#if defined(__SSE__) || !defined(__GNUC__) -+ -+/* some versions of glibc's sys/cdefs.h define __inline to be empty, -+ which is wrong because xmmintrin.h defines several inline -+ procedures */ -+#undef __inline -+ -+#include -+ -+typedef __m128 V; -+#define VADD _mm_add_ps -+#define VSUB _mm_sub_ps -+#define VMUL _mm_mul_ps -+#define VXOR _mm_xor_ps -+#define SHUFPS _mm_shuffle_ps -+#define STOREH(addr, val) _mm_storeh_pi((__m64 *)(addr), val) -+#define STOREL(addr, val) _mm_storel_pi((__m64 *)(addr), val) -+#define UNPCKH _mm_unpackhi_ps -+#define UNPCKL _mm_unpacklo_ps -+ -+#ifdef __GNUC__ -+# define DVK(var, val) const V var = __extension__ ({ \ -+ static const union fvec _var = { {val, val, val, val} }; \ -+ _var.v; \ -+ }) -+# define LDK(x) x -+ -+ /* we use inline asm because gcc generates slow code for -+ _mm_loadh_pi(). gcc insists upon having an existing variable for -+ VAL, which is however never used. Thus, it generates code to move -+ values in and out the variable. Worse still, gcc-4.0 stores VAL on -+ the stack, causing valgrind to complain about uninitialized reads. -+ */ -+ -+ static inline V LD(const R *x, INT ivs, const R *aligned_like) -+ { -+ V var; -+ (void)aligned_like; /* UNUSED */ -+ __asm__("movlps %1, %0\n\tmovhps %2, %0" -+ : "=x"(var) : "m"(x[0]), "m"(x[ivs])); -+ return var; -+ } -+ -+#else -+ -+# define DVK(var, val) const R var = K(val) -+# define LDK(x) _mm_set_ps1(x) -+# define LOADH(addr, val) _mm_loadh_pi(val, (const __m64 *)(addr)) -+# define LOADL0(addr, val) _mm_loadl_pi(val, (const __m64 *)(addr)) -+ -+ static V LD(const R *x, INT ivs, const R *aligned_like) -+ { -+ V var; -+ (void)aligned_like; /* UNUSED */ -+ var = LOADL0(x, var); -+ var = LOADH(x + ivs, var); -+ return var; -+ } -+ -+#endif -+ -+union fvec { -+ R f[4]; -+ V v; -+}; -+ -+union uvec { -+ unsigned u[4]; -+ V v; -+}; -+ -+#define VFMA(a, b, c) VADD(c, VMUL(a, b)) -+#define VFNMS(a, b, c) VSUB(c, VMUL(a, b)) -+#define VFMS(a, b, c) VSUB(VMUL(a, b), c) -+ -+#define SHUFVAL(fp0,fp1,fp2,fp3) \ -+ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) -+ -+ -+static V LDA(const R *x, INT ivs, const R *aligned_like) -+{ -+ (void)aligned_like; /* UNUSED */ -+ (void)ivs; /* UNUSED */ -+ return *(const V *)x; -+} -+ -+static void ST(R *x, V v, INT ovs, const R *aligned_like) -+{ -+ (void)aligned_like; /* UNUSED */ -+ /* WARNING: the extra_iter hack depends upon STOREL occurring -+ after STOREH */ -+ STOREH(x + ovs, v); -+ STOREL(x, v); -+} -+ -+static void STA(R *x, V v, INT ovs, const R *aligned_like) -+{ -+ (void)aligned_like; /* UNUSED */ -+ (void)ovs; /* UNUSED */ -+ *(V *)x = v; -+} -+ -+#if 0 -+/* this should be faster but it isn't. */ -+static void STN2(R *x, V v0, V v1, INT ovs) -+{ -+ STA(x, SHUFPS(v0, v1, SHUFVAL(0, 1, 0, 1)), ovs, 0); -+ STA(x + ovs, SHUFPS(v0, v1, SHUFVAL(2, 3, 2, 3)), ovs, 0); -+} -+#endif -+#define STM2 ST -+#define STN2(x, v0, v1, ovs) /* nop */ -+ -+#define STM4(x, v, ovs, aligned_like) /* no-op */ -+ -+#ifdef VISUAL_CXX_DOES_NOT_SUCK -+static void STN4(R *x, V v0, V v1, V v2, V v3, INT ovs) -+{ -+ V x0, x1, x2, x3; -+ x0 = UNPCKL(v0, v2); -+ x1 = UNPCKH(v0, v2); -+ x2 = UNPCKL(v1, v3); -+ x3 = UNPCKH(v1, v3); -+ STA(x, UNPCKL(x0, x2), 0, 0); -+ STA(x + ovs, UNPCKH(x0, x2), 0, 0); -+ STA(x + 2 * ovs, UNPCKL(x1, x3), 0, 0); -+ STA(x + 3 * ovs, UNPCKH(x1, x3), 0, 0); -+} -+#else /* Visual C++ sucks */ -+ -+/* -+ Straight from the mouth of the horse: -+ -+ We "reserved" the possibility of aligning arguments with -+ __declspec(align(X)) passed by value by issuing this error. -+ -+ The first 3 parameters of type __m64 (or other MMX types) are -+ passed in registers. The rest would be passed on the stack. We -+ decided aligning the stack was wasteful, especially for __m128 -+ parameters. Also, we thought it would be infrequent that people -+ would want to pass more than 3 by value. -+ -+ If we didn't issue an error, we would have to binary compatibility -+ in the future if we decided to align the arguments. -+ -+ -+ Hope that explains it. -+ -- -+ Jason Shirk, Visual C++ Compiler Team -+ This posting is provided AS IS with no warranties, and confers no rights -+*/ -+ -+#define STN4(x, v0, v1, v2, v3, ovs) \ -+{ \ -+ V xxx0, xxx1, xxx2, xxx3; \ -+ xxx0 = UNPCKL(v0, v2); \ -+ xxx1 = UNPCKH(v0, v2); \ -+ xxx2 = UNPCKL(v1, v3); \ -+ xxx3 = UNPCKH(v1, v3); \ -+ STA(x, UNPCKL(xxx0, xxx2), 0, 0); \ -+ STA(x + ovs, UNPCKH(xxx0, xxx2), 0, 0); \ -+ STA(x + 2 * ovs, UNPCKL(xxx1, xxx3), 0, 0); \ -+ STA(x + 3 * ovs, UNPCKH(xxx1, xxx3), 0, 0); \ -+} -+#endif -+ -+static V FLIP_RI(V x) -+{ -+ return SHUFPS(x, x, SHUFVAL(1, 0, 3, 2)); -+} -+ -+extern const union uvec X(sse_pmpm); -+static V VCONJ(V x) -+{ -+ return VXOR(X(sse_pmpm).v, x); -+} -+ -+static V VBYI(V x) -+{ -+ return FLIP_RI(VCONJ(x)); -+} -+ -+static V VZMUL(V tx, V sr) -+{ -+ V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -+ V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -+ tr = VMUL(tr, sr); -+ sr = VBYI(sr); -+ return VADD(tr, VMUL(ti, sr)); -+} -+ -+static V VZMULJ(V tx, V sr) -+{ -+ V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -+ V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -+ tr = VMUL(tr, sr); -+ sr = VBYI(sr); -+ return VSUB(tr, VMUL(ti, sr)); -+} -+ -+static V VZMULI(V tx, V sr) -+{ -+ V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -+ V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -+ ti = VMUL(ti, sr); -+ sr = VBYI(sr); -+ return VSUB(VMUL(tr, sr), ti); -+} -+ -+static V VZMULIJ(V tx, V sr) -+{ -+ V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -+ V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -+ ti = VMUL(ti, sr); -+ sr = VBYI(sr); -+ return VADD(VMUL(tr, sr), ti); -+} -+ -+#define VFMAI(b, c) VADD(c, VBYI(b)) -+#define VFNMSI(b, c) VSUB(c, VBYI(b)) -+ -+/* twiddle storage #1: compact, slower */ -+#define VTW1(v,x) \ -+ {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_SIN, v, x}, {TW_SIN, v+1, x} -+#define TWVL1 (VL) -+ -+static V BYTW1(const R *t, V sr) -+{ -+ const V *twp = (const V *)t; -+ V tx = twp[0]; -+ V tr = UNPCKL(tx, tx); -+ V ti = UNPCKH(tx, tx); -+ tr = VMUL(tr, sr); -+ sr = VBYI(sr); -+ return VADD(tr, VMUL(ti, sr)); -+} -+ -+static V BYTWJ1(const R *t, V sr) -+{ -+ const V *twp = (const V *)t; -+ V tx = twp[0]; -+ V tr = UNPCKL(tx, tx); -+ V ti = UNPCKH(tx, tx); -+ tr = VMUL(tr, sr); -+ sr = VBYI(sr); -+ return VSUB(tr, VMUL(ti, sr)); -+} -+ -+/* twiddle storage #2: twice the space, faster (when in cache) */ -+#define VTW2(v,x) \ -+ {TW_COS, v, x}, {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_COS, v+1, x}, \ -+ {TW_SIN, v, -x}, {TW_SIN, v, x}, {TW_SIN, v+1, -x}, {TW_SIN, v+1, x} -+#define TWVL2 (2 * VL) -+ -+static V BYTW2(const R *t, V sr) -+{ -+ const V *twp = (const V *)t; -+ V si = FLIP_RI(sr); -+ V tr = twp[0], ti = twp[1]; -+ return VADD(VMUL(tr, sr), VMUL(ti, si)); -+} -+ -+static V BYTWJ2(const R *t, V sr) -+{ -+ const V *twp = (const V *)t; -+ V si = FLIP_RI(sr); -+ V tr = twp[0], ti = twp[1]; -+ return VSUB(VMUL(tr, sr), VMUL(ti, si)); -+} -+ -+/* twiddle storage #3 */ -+#define VTW3(v,x) {TW_CEXP, v, x}, {TW_CEXP, v+1, x} -+#define TWVL3 (VL) -+ -+/* twiddle storage for split arrays */ -+#define VTWS(v,x) \ -+ {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_COS, v+2, x}, {TW_COS, v+3, x}, \ -+ {TW_SIN, v, x}, {TW_SIN, v+1, x}, {TW_SIN, v+2, x}, {TW_SIN, v+3, x} -+#define TWVLS (2 * VL) -+ -+#endif /* __SSE__ */ -diff --git a/simd/simd-sse.h.bak b/simd/simd-sse.h.bak -new file mode 100644 -index 0000000..99ef9da ---- /dev/null -+++ b/simd/simd-sse.h.bak -@@ -0,0 +1,319 @@ -+/* -+ * Copyright (c) 2003, 2007-8 Matteo Frigo -+ * Copyright (c) 2003, 2007-8 Massachusetts Institute of Technology -+ * -+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ * -+ */ -+ -+#ifndef FFTW_SINGLE -+#error "SSE only works in single precision" -+#endif -+ -+#define VL 2 /* SIMD complex vector length */ -+#define ALIGNMENT 8 /* alignment for LD/ST */ -+#define ALIGNMENTA 16 /* alignment for LDA/STA */ -+#define SIMD_VSTRIDE_OKA(x) ((x) == 2) -+#define SIMD_STRIDE_OKPAIR SIMD_STRIDE_OK -+ -+#define RIGHT_CPU X(have_sse) -+extern int RIGHT_CPU(void); -+ -+/* gcc compiles the following code only when __SSE__ is defined */ -+#if defined(__SSE__) || !defined(__GNUC__) -+ -+/* some versions of glibc's sys/cdefs.h define __inline to be empty, -+ which is wrong because xmmintrin.h defines several inline -+ procedures */ -+#undef __inline -+ -+#include -+ -+typedef __m128 V; -+#define VADD _mm_add_ps -+#define VSUB _mm_sub_ps -+#define VMUL _mm_mul_ps -+#define VXOR _mm_xor_ps -+#define SHUFPS _mm_shuffle_ps -+#define STOREH(addr, val) _mm_storeh_pi((__m64 *)(addr), val) -+#define STOREL(addr, val) _mm_storel_pi((__m64 *)(addr), val) -+#define UNPCKH _mm_unpackhi_ps -+#define UNPCKL _mm_unpacklo_ps -+ -+#ifdef __GNUC__ -+# define DVK(var, val) const V var = __extension__ ({ \ -+ static const union fvec _var = { {val, val, val, val} }; \ -+ _var.v; \ -+ }) -+# define LDK(x) x -+ -+ /* we use inline asm because gcc generates slow code for -+ _mm_loadh_pi(). gcc insists upon having an existing variable for -+ VAL, which is however never used. Thus, it generates code to move -+ values in and out the variable. Worse still, gcc-4.0 stores VAL on -+ the stack, causing valgrind to complain about uninitialized reads. -+ */ -+ -+ static inline V LD(const R *x, INT ivs, const R *aligned_like) -+ { -+ V var; -+ (void)aligned_like; /* UNUSED */ -+ __asm__("movlps %1, %0\n\tmovhps %2, %0" -+ : "=x"(var) : "m"(x[0]), "m"(x[ivs])); -+ return var; -+ } -+ -+#else -+ -+# define DVK(var, val) const R var = K(val) -+# define LDK(x) _mm_set_ps1(x) -+# define LOADH(addr, val) _mm_loadh_pi(val, (const __m64 *)(addr)) -+# define LOADL0(addr, val) _mm_loadl_pi(val, (const __m64 *)(addr)) -+ -+#ifndef __INTEL_COMPILER -+ static inline V LD(const R *x, INT ivs, const R *aligned_like) -+#else -+ static V LD(const R *x, INT ivs, const R *aligned_like) -+#endif -+ { -+ V var; -+ (void)aligned_like; /* UNUSED */ -+ var = LOADL0(x, var); -+ var = LOADH(x + ivs, var); -+ return var; -+ } -+ -+#endif -+ -+union fvec { -+ R f[4]; -+ V v; -+}; -+ -+union uvec { -+ unsigned u[4]; -+ V v; -+}; -+ -+#define VFMA(a, b, c) VADD(c, VMUL(a, b)) -+#define VFNMS(a, b, c) VSUB(c, VMUL(a, b)) -+#define VFMS(a, b, c) VSUB(VMUL(a, b), c) -+ -+#define SHUFVAL(fp0,fp1,fp2,fp3) \ -+ (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0))) -+ -+ -+static inline V LDA(const R *x, INT ivs, const R *aligned_like) -+{ -+ (void)aligned_like; /* UNUSED */ -+ (void)ivs; /* UNUSED */ -+ return *(const V *)x; -+} -+ -+static inline void ST(R *x, V v, INT ovs, const R *aligned_like) -+{ -+ (void)aligned_like; /* UNUSED */ -+ /* WARNING: the extra_iter hack depends upon STOREL occurring -+ after STOREH */ -+ STOREH(x + ovs, v); -+ STOREL(x, v); -+} -+ -+static inline void STA(R *x, V v, INT ovs, const R *aligned_like) -+{ -+ (void)aligned_like; /* UNUSED */ -+ (void)ovs; /* UNUSED */ -+ *(V *)x = v; -+} -+ -+#if 0 -+/* this should be faster but it isn't. */ -+static inline void STN2(R *x, V v0, V v1, INT ovs) -+{ -+ STA(x, SHUFPS(v0, v1, SHUFVAL(0, 1, 0, 1)), ovs, 0); -+ STA(x + ovs, SHUFPS(v0, v1, SHUFVAL(2, 3, 2, 3)), ovs, 0); -+} -+#endif -+#define STM2 ST -+#define STN2(x, v0, v1, ovs) /* nop */ -+ -+#define STM4(x, v, ovs, aligned_like) /* no-op */ -+ -+#ifdef VISUAL_CXX_DOES_NOT_SUCK -+static inline void STN4(R *x, V v0, V v1, V v2, V v3, INT ovs) -+{ -+ V x0, x1, x2, x3; -+ x0 = UNPCKL(v0, v2); -+ x1 = UNPCKH(v0, v2); -+ x2 = UNPCKL(v1, v3); -+ x3 = UNPCKH(v1, v3); -+ STA(x, UNPCKL(x0, x2), 0, 0); -+ STA(x + ovs, UNPCKH(x0, x2), 0, 0); -+ STA(x + 2 * ovs, UNPCKL(x1, x3), 0, 0); -+ STA(x + 3 * ovs, UNPCKH(x1, x3), 0, 0); -+} -+#else /* Visual C++ sucks */ -+ -+/* -+ Straight from the mouth of the horse: -+ -+ We "reserved" the possibility of aligning arguments with -+ __declspec(align(X)) passed by value by issuing this error. -+ -+ The first 3 parameters of type __m64 (or other MMX types) are -+ passed in registers. The rest would be passed on the stack. We -+ decided aligning the stack was wasteful, especially for __m128 -+ parameters. Also, we thought it would be infrequent that people -+ would want to pass more than 3 by value. -+ -+ If we didn't issue an error, we would have to binary compatibility -+ in the future if we decided to align the arguments. -+ -+ -+ Hope that explains it. -+ -- -+ Jason Shirk, Visual C++ Compiler Team -+ This posting is provided AS IS with no warranties, and confers no rights -+*/ -+ -+#define STN4(x, v0, v1, v2, v3, ovs) \ -+{ \ -+ V xxx0, xxx1, xxx2, xxx3; \ -+ xxx0 = UNPCKL(v0, v2); \ -+ xxx1 = UNPCKH(v0, v2); \ -+ xxx2 = UNPCKL(v1, v3); \ -+ xxx3 = UNPCKH(v1, v3); \ -+ STA(x, UNPCKL(xxx0, xxx2), 0, 0); \ -+ STA(x + ovs, UNPCKH(xxx0, xxx2), 0, 0); \ -+ STA(x + 2 * ovs, UNPCKL(xxx1, xxx3), 0, 0); \ -+ STA(x + 3 * ovs, UNPCKH(xxx1, xxx3), 0, 0); \ -+} -+#endif -+ -+static inline V FLIP_RI(V x) -+{ -+ return SHUFPS(x, x, SHUFVAL(1, 0, 3, 2)); -+} -+ -+extern const union uvec X(sse_pmpm); -+static inline V VCONJ(V x) -+{ -+ return VXOR(X(sse_pmpm).v, x); -+} -+ -+static inline V VBYI(V x) -+{ -+ return FLIP_RI(VCONJ(x)); -+} -+ -+static inline V VZMUL(V tx, V sr) -+{ -+ V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -+ V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -+ tr = VMUL(tr, sr); -+ sr = VBYI(sr); -+ return VADD(tr, VMUL(ti, sr)); -+} -+ -+static inline V VZMULJ(V tx, V sr) -+{ -+ V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -+ V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -+ tr = VMUL(tr, sr); -+ sr = VBYI(sr); -+ return VSUB(tr, VMUL(ti, sr)); -+} -+ -+static inline V VZMULI(V tx, V sr) -+{ -+ V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -+ V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -+ ti = VMUL(ti, sr); -+ sr = VBYI(sr); -+ return VSUB(VMUL(tr, sr), ti); -+} -+ -+static inline V VZMULIJ(V tx, V sr) -+{ -+ V tr = SHUFPS(tx, tx, SHUFVAL(0, 0, 2, 2)); -+ V ti = SHUFPS(tx, tx, SHUFVAL(1, 1, 3, 3)); -+ ti = VMUL(ti, sr); -+ sr = VBYI(sr); -+ return VADD(VMUL(tr, sr), ti); -+} -+ -+#define VFMAI(b, c) VADD(c, VBYI(b)) -+#define VFNMSI(b, c) VSUB(c, VBYI(b)) -+ -+/* twiddle storage #1: compact, slower */ -+#define VTW1(v,x) \ -+ {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_SIN, v, x}, {TW_SIN, v+1, x} -+#define TWVL1 (VL) -+ -+static inline V BYTW1(const R *t, V sr) -+{ -+ const V *twp = (const V *)t; -+ V tx = twp[0]; -+ V tr = UNPCKL(tx, tx); -+ V ti = UNPCKH(tx, tx); -+ tr = VMUL(tr, sr); -+ sr = VBYI(sr); -+ return VADD(tr, VMUL(ti, sr)); -+} -+ -+static inline V BYTWJ1(const R *t, V sr) -+{ -+ const V *twp = (const V *)t; -+ V tx = twp[0]; -+ V tr = UNPCKL(tx, tx); -+ V ti = UNPCKH(tx, tx); -+ tr = VMUL(tr, sr); -+ sr = VBYI(sr); -+ return VSUB(tr, VMUL(ti, sr)); -+} -+ -+/* twiddle storage #2: twice the space, faster (when in cache) */ -+#define VTW2(v,x) \ -+ {TW_COS, v, x}, {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_COS, v+1, x}, \ -+ {TW_SIN, v, -x}, {TW_SIN, v, x}, {TW_SIN, v+1, -x}, {TW_SIN, v+1, x} -+#define TWVL2 (2 * VL) -+ -+static inline V BYTW2(const R *t, V sr) -+{ -+ const V *twp = (const V *)t; -+ V si = FLIP_RI(sr); -+ V tr = twp[0], ti = twp[1]; -+ return VADD(VMUL(tr, sr), VMUL(ti, si)); -+} -+ -+static inline V BYTWJ2(const R *t, V sr) -+{ -+ const V *twp = (const V *)t; -+ V si = FLIP_RI(sr); -+ V tr = twp[0], ti = twp[1]; -+ return VSUB(VMUL(tr, sr), VMUL(ti, si)); -+} -+ -+/* twiddle storage #3 */ -+#define VTW3(v,x) {TW_CEXP, v, x}, {TW_CEXP, v+1, x} -+#define TWVL3 (VL) -+ -+/* twiddle storage for split arrays */ -+#define VTWS(v,x) \ -+ {TW_COS, v, x}, {TW_COS, v+1, x}, {TW_COS, v+2, x}, {TW_COS, v+3, x}, \ -+ {TW_SIN, v, x}, {TW_SIN, v+1, x}, {TW_SIN, v+2, x}, {TW_SIN, v+3, x} -+#define TWVLS (2 * VL) -+ -+#endif /* __SSE__ */ -diff --git a/support/codelets.cmake b/support/codelets.cmake -new file mode 100644 -index 0000000..5161407 ---- /dev/null -+++ b/support/codelets.cmake -@@ -0,0 +1,18 @@ -+# generate file codlist.c -+ -+macro(write_codelet_list CODLIST CODELET_NAME SOLVTAB_NAME) -+ file(RELATIVE_PATH filename ${CMAKE_BINARY_DIR} ${CODLIST}) -+ message(STATUS "writing codelet list file ${filename}") -+ file(WRITE ${CODLIST} "#include \"ifftw.h\"\n\n") -+ foreach(codelet ${ARGN}) -+ string(REGEX REPLACE "([A-Za-z0-9_]*)\\.c" "\\1" codeletbase "${codelet}") -+ file(APPEND ${CODLIST} "extern void X(${CODELET_NAME}${codeletbase})(planner *);\n") -+ endforeach(codelet ${ARGN}) -+ file(APPEND ${CODLIST} "\n\nextern const solvtab ${SOLVTAB_NAME};\n") -+ file(APPEND ${CODLIST} "const solvtab ${SOLVTAB_NAME} = {\n") -+ foreach(codelet ${ARGN}) -+ string(REGEX REPLACE "([A-Za-z0-9_]*)\\.c" "\\1" codeletbase "${codelet}") -+ file(APPEND ${CODLIST} " SOLVTAB(X(${CODELET_NAME}${codeletbase})),\n") -+ endforeach(codelet ${ARGN}) -+ file(APPEND ${CODLIST} " SOLVTAB_END\n};\n") -+endmacro(write_codelet_list CODLIST CODELET_NAME SOLVTAB_NAME) -\ No newline at end of file -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -new file mode 100644 -index 0000000..c5ef717 ---- /dev/null -+++ b/tests/CMakeLists.txt -@@ -0,0 +1,71 @@ -+#noinst_PROGRAMS = bench -+#EXTRA_DIST = check.pl README -+ -+#if SMP -+#if !COMBINED_THREADS -+#LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_threads.la -+#endif -+#else -+#LIBFFTWTHREADS = -+#endif -+ -+set(bench_SRCS bench.c hook.c fftw-bench.c) -+add_executable(bench ${bench_SRCS}) -+target_link_libraries(bench fftw bench2 fftw) -+ -+#check-local: bench$(EXEEXT) -+# perl -w $(srcdir)/check.pl -r -c=30 -v `pwd`/bench -+# @echo "--------------------------------------------------------------" -+# @echo " FFTW transforms passed basic tests!" -+# @echo "--------------------------------------------------------------" -+#if SMP -+# perl -w $(srcdir)/check.pl -r -c=30 -v --nthreads=2 `pwd`/bench -+# @echo "--------------------------------------------------------------" -+# @echo " FFTW threaded transforms passed basic tests!" -+# @echo "--------------------------------------------------------------" -+#endif -+# -+#bigcheck: bench$(EXEEXT) -+# perl -w $(srcdir)/check.pl -a -v `pwd`/bench -+# @echo "--------------------------------------------------------------" -+# @echo " FFTW transforms passed big tests!" -+# @echo "--------------------------------------------------------------" -+#if SMP -+# perl -w $(srcdir)/check.pl -a -v --nthreads=2 `pwd`/bench -+# perl -w $(srcdir)/check.pl -a -v --nthreads=3 `pwd`/bench -+# perl -w $(srcdir)/check.pl -a -v --nthreads=10 `pwd`/bench -+# @echo "--------------------------------------------------------------" -+# @echo " FFTW threaded transforms passed big tests!" -+# @echo "--------------------------------------------------------------" -+#endif -+# -+#smallcheck: bench$(EXEEXT) -+# perl -w $(srcdir)/check.pl -r -c=1 -v `pwd`/bench -+# perl -w $(srcdir)/check.pl -r --estimate -c=5 -v `pwd`/bench -+# @echo "--------------------------------------------------------------" -+# @echo " FFTW transforms passed a few tests!" -+# @echo "--------------------------------------------------------------" -+#if SMP -+# perl -w $(srcdir)/check.pl -r --estimate -c=2 -v --nthreads=2 `pwd`/bench -+# @echo "--------------------------------------------------------------" -+# @echo " FFTW threaded transforms passed a few tests!" -+# @echo "--------------------------------------------------------------" -+#endif -+# -+#paranoid-check: bench$(EXEEXT) -+#if SMP -+# perl -w $(srcdir)/check.pl -a --patient --nthreads=10 --paranoid `pwd`/bench -+# perl -w $(srcdir)/check.pl -a --patient --nthreads=7 --paranoid `pwd`/bench -+# perl -w $(srcdir)/check.pl -a --patient --nthreads=3 --paranoid `pwd`/bench -+# perl -w $(srcdir)/check.pl -a --patient --nthreads=2 --paranoid `pwd`/bench -+#endif -+# perl -w $(srcdir)/check.pl -a --patient --paranoid `pwd`/bench -+# -+#exhaustive-check: bench$(EXEEXT) -+#if SMP -+# perl -w $(srcdir)/check.pl -a --exhaustive --nthreads=10 --paranoid `pwd`/bench -+# perl -w $(srcdir)/check.pl -a --exhaustive --nthreads=7 --paranoid `pwd`/bench -+# perl -w $(srcdir)/check.pl -a --exhaustive --nthreads=3 --paranoid `pwd`/bench -+# perl -w $(srcdir)/check.pl -a --exhaustive --nthreads=2 --paranoid `pwd`/bench -+#endif -+# perl -w $(srcdir)/check.pl -a --exhaustive --paranoid `pwd`/bench -diff --git a/threads/CMakeLists.txt b/threads/CMakeLists.txt -new file mode 100644 -index 0000000..42f9211 ---- /dev/null -+++ b/threads/CMakeLists.txt -@@ -0,0 +1,9 @@ -+set(threads_SRCS api.c conf.c threads.c openmp.c dft-vrank-geq1.c ct.c rdft-vrank-geq1.c hc2hc.c vrank-geq1-rdft2.c f77api.c -+) -+ -+if(BUILD_ALL_STATIC) -+ add_library(threads STATIC ${threads_SRCS}) -+else(BUILD_ALL_STATIC) -+ prepend_prefix(threads_SRCS) -+ set(fftw_SRCS ${fftw_SRCS} ${threads_SRCS} PARENT_SCOPE) -+endif(BUILD_ALL_STATIC) -\ No newline at end of file -diff --git a/threads/api.c b/threads/api.c -index 8b17ea9..1042d60 100644 ---- a/threads/api.c -+++ b/threads/api.c -@@ -1,81 +1,80 @@ --/* -- * Copyright (c) 2003, 2007-8 Matteo Frigo -- * Copyright (c) 2003, 2007-8 Massachusetts Institute of Technology -- * -- * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- * -- */ -- --#include "api.h" --#include "threads.h" -- --static int threads_inited = 0; -- --static void threads_register_hooks(void) --{ -- X(mksolver_ct_hook) = X(mksolver_ct_threads); -- X(mksolver_hc2hc_hook) = X(mksolver_hc2hc_threads); --} -- --static void threads_unregister_hooks(void) --{ -- X(mksolver_ct_hook) = 0; -- X(mksolver_hc2hc_hook) = 0; --} -- --/* should be called before all other FFTW functions! */ --int X(init_threads)(void) --{ -- if (!threads_inited) { -- planner *plnr; -- -- if (X(ithreads_init)()) -- return 0; -- -- threads_register_hooks(); -- -- /* this should be the first time the_planner is called, -- and hence the time it is configured */ -- plnr = X(the_planner)(); -- X(threads_conf_standard)(plnr); -- -- threads_inited = 1; -- } -- return 1; --} -- -- --void X(cleanup_threads)(void) --{ -- X(cleanup)(); -- if (threads_inited) { -- X(threads_cleanup)(); -- threads_unregister_hooks(); -- threads_inited = 0; -- } --} -- --void X(plan_with_nthreads)(int nthreads) --{ -- planner *plnr; -- -- if (!threads_inited) { -- X(cleanup)(); -- X(init_threads)(); -- } -- A(threads_inited); -- plnr = X(the_planner)(); -- plnr->nthr = X(imax)(1, nthreads); --} -+/* -+ * Copyright (c) 2003, 2007-8 Matteo Frigo -+ * Copyright (c) 2003, 2007-8 Massachusetts Institute of Technology -+ * -+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ * -+ */ -+ -+#include "api.h" -+#include "threads.h" -+ -+static int threads_inited = 0; -+ -+static void threads_register_hooks(void) -+{ -+ X(mksolver_ct_hook) = X(mksolver_ct_threads); -+ X(mksolver_hc2hc_hook) = X(mksolver_hc2hc_threads); -+} -+ -+static void threads_unregister_hooks(void) -+{ -+ X(mksolver_ct_hook) = 0; -+ X(mksolver_hc2hc_hook) = 0; -+} -+ -+/* should be called before all other FFTW functions! */ -+int X(init_threads)(void) -+{ -+ if (!threads_inited) { -+ planner *plnr; -+ -+ if (X(ithreads_init)()) -+ return 0; -+ -+ threads_register_hooks(); -+ -+ /* this should be the first time the_planner is called, -+ and hence the time it is configured */ -+ plnr = X(the_planner)(); -+ X(threads_conf_standard)(plnr); -+ -+ threads_inited = 1; -+ } -+ return 1; -+} -+ -+void X(cleanup_threads)(void) -+{ -+ X(cleanup)(); -+ if (threads_inited) { -+ X(threads_cleanup)(); -+ threads_unregister_hooks(); -+ threads_inited = 0; -+ } -+} -+ -+void X(plan_with_nthreads)(int nthreads) -+{ -+ planner *plnr; -+ -+ if (!threads_inited) { -+ X(cleanup)(); -+ X(init_threads)(); -+ } -+ A(threads_inited); -+ plnr = X(the_planner)(); -+ plnr->nthr = X(imax)(1, nthreads); -+} diff -Nru krita-3.1.4/3rdparty/ext_fftw3/libfftw.py krita-3.1.4+dfsg/3rdparty/ext_fftw3/libfftw.py --- krita-3.1.4/3rdparty/ext_fftw3/libfftw.py 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_fftw3/libfftw.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -import info - -class subinfo( info.infoclass ): - def setTargets( self ): - self.targets[ '3.2.2' ] = 'http://www.fftw.org/fftw-3.2.2.tar.gz' - self.targetDigests[ '3.2.2' ] = 'd43b799eedfb9408f62f9f056f5e8a645618467b' - self.targetInstSrc[ '3.2.2' ] = "fftw-3.2.2" - self.patchToApply[ '3.2.2' ] = [ ( 'fftw-3.2.2-20111221.diff', 1 ), - ( 'fftw-3.2.2-20130818.diff', 1 ) ] - self.shortDescription = "a C subroutine library for computing the discrete Fourier transform (DFT)" - - self.defaultTarget = '3.2.2' - - def setDependencies( self ): - self.buildDependencies[ 'virtual/base' ] = 'default' - -from Package.CMakePackageBase import * - -class Package( CMakePackageBase ): - def __init__( self ): - CMakePackageBase.__init__( self ) - self.supportsNinja = False - self.subinfo.options.configure.defines = "-DFFTW_SINGLE=ON -DFFTW_DOUBLE=OFF -DBUILD_BENCHMARKS=OFF" - diff -Nru krita-3.1.4/3rdparty/ext_fontconfig/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_fontconfig/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_fontconfig/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_fontconfig/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -SET(PREFIX_ext_fontconfig "${EXTPREFIX}" ) -ExternalProject_Add( ext_fontconfig - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/fontconfig-2.12.0.tar.gz - URL_MD5 d8b056231abcb6257db6dc6d745360b2 - - CONFIGURE_COMMAND /configure --prefix=${PREFIX_ext_fontconfig} ${GLOBAL_AUTOMAKE_PROFILE} - BUILD_COMMAND make - INSTALL_COMMAND make install - - UPDATE_COMMAND "" - ALWAYS 0 -) diff -Nru krita-3.1.4/3rdparty/ext_frameworks/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_frameworks/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_frameworks/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_frameworks/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,239 +0,0 @@ -SET(EXTPREFIX_frameworks "${EXTPREFIX}" ) -# -# All needed frameworks: -# -# Archive -# Config -# WidgetsAddons -# Completion -# CoreAddons -# GuiAddons -# I18n -# ItemModels -# ItemViews -# WindowSystem -# On Linux: -# KCrash - -ExternalProject_Add( - ext_extra_cmake_modules - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/stable/attic/frameworks/5.24/extra-cmake-modules-5.24.0.zip - URL_MD5 e0c19ba97ebd964f9bdc9110c64ce96a - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/ecm_install_to_share.diff - INSTALL_DIR ${EXTPREFIX_frameworks} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 -) - - -ExternalProject_Add( - ext_karchive - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/stable/attic/frameworks/5.24/karchive-5.24.0.zip - URL_MD5 739843accfe9bd85ab2f1582722cf01e - INSTALL_DIR ${EXTPREFIX_frameworks} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_extra_cmake_modules -) - - -ExternalProject_Add( - ext_kconfig - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/stable/attic/frameworks/5.24/kconfig-5.24.0.zip - URL_MD5 f87ecff795eb76e4ec6561758a5baf87 - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/kconfig.diff - INSTALL_DIR ${EXTPREFIX_frameworks} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_karchive -) - - -ExternalProject_Add( - ext_kwidgetsaddons - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/stable/attic/frameworks/5.24/kwidgetsaddons-5.24.0.zip - URL_MD5 0e399b427814a4814c65a3cf407f9d79 - INSTALL_DIR ${EXTPREFIX_frameworks} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/kwidgetsaddons.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_kconfig -) - - -ExternalProject_Add( - ext_kcompletion - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/stable/attic/frameworks/5.24/kcompletion-5.24.0.zip - URL_MD5 e8764251ab45005aa81dba242852300c - INSTALL_DIR ${EXTPREFIX_frameworks} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_kwidgetsaddons -) - - -ExternalProject_Add( - ext_kcoreaddons - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/stable/attic/frameworks/5.24/kcoreaddons-5.24.0.zip - URL_MD5 2885878625b19ad0300ef3770b897112 - INSTALL_DIR ${EXTPREFIX_frameworks} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/desktoptojson.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_kcompletion -) - - -ExternalProject_Add( - ext_kguiaddons - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/stable/attic/frameworks/5.24/kguiaddons-5.24.0.zip - URL_MD5 9bdadbc57d0634816ef80ee9798c3d6c - INSTALL_DIR ${EXTPREFIX_frameworks} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_kcoreaddons -) - - -ExternalProject_Add( - ext_ki18n - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/Attic/frameworks/5.17/ki18n-5.17.0.zip - URL_MD5 7d60380d09f98defbf878ea9daba0fbb - INSTALL_DIR ${EXTPREFIX_frameworks} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/ki18n.diff - COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/ki18n-appdatalocation.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_kguiaddons -) - - -ExternalProject_Add( - ext_kitemmodels - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/stable/attic/frameworks/5.24/kitemmodels-5.24.0.zip - URL_MD5 ff41589f48395fc01d5fc7887593779d - INSTALL_DIR ${EXTPREFIX_frameworks} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_ki18n -) - -ExternalProject_Add( - ext_kitemviews - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/stable/attic/frameworks/5.24/kitemviews-5.24.0.zip - URL_MD5 33f638d027a3011a6a69f7484eee3287 - INSTALL_DIR ${EXTPREFIX_frameworks} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_kitemmodels -) - -ExternalProject_Add( - ext_kimageformats - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/stable/attic/frameworks/5.24/kimageformats-5.24.0.zip - URL_MD5 c1964516bcb2bfe882858f0c0913deb5 - INSTALL_DIR ${EXTPREFIX_frameworks} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/kimageformats.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_kitemviews -) - -ExternalProject_Add( - ext_kwindowsystem - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/stable/attic/frameworks/5.24/kwindowsystem-5.24.0.zip - URL_MD5 5915e4f63ded983af6db7db3a6cbae1a - INSTALL_DIR ${EXTPREFIX_frameworks} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/kwindowsystem-x11.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_kimageformats -) - -ExternalProject_Add( - ext_kcrash - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://download.kde.org/stable/attic/frameworks/5.24/kcrash-5.24.0.zip - URL_MD5 a2e41e6650105fc3ac8fbd44afbae4fe - INSTALL_DIR ${EXTPREFIX_frameworks} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks} - -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} - ${GLOBAL_PROFILE} - -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX} - -DBUILD_TESTING=false - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_kwindowsystem -) diff -Nru krita-3.1.4/3rdparty/ext_frameworks/desktoptojson.diff krita-3.1.4+dfsg/3rdparty/ext_frameworks/desktoptojson.diff --- krita-3.1.4/3rdparty/ext_frameworks/desktoptojson.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_frameworks/desktoptojson.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -diff --git a/src/desktoptojson/CMakeLists.txt b/src/desktoptojson/CMakeLists.txt -index dd668a4..424d14c 100644 ---- a/src/desktoptojson/CMakeLists.txt -+++ b/src/desktoptojson/CMakeLists.txt -@@ -11,5 +11,5 @@ ecm_mark_nongui_executable(desktoptojson) - - target_link_libraries(desktoptojson Qt5::Core) - target_compile_definitions(desktoptojson PRIVATE BUILDING_DESKTOPTOJSON_TOOL=1) -- -+set_target_properties(desktoptojson PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib;${CMAKE_INSTALL_PREFIX}/bin") - install(TARGETS desktoptojson EXPORT KF5CoreAddonsToolingTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) diff -Nru krita-3.1.4/3rdparty/ext_frameworks/ecm_install_to_share.diff krita-3.1.4+dfsg/3rdparty/ext_frameworks/ecm_install_to_share.diff --- krita-3.1.4/3rdparty/ext_frameworks/ecm_install_to_share.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_frameworks/ecm_install_to_share.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -commit a4170399404bf32e874e35d35f8a66703b2fff92 -Author: Boudewijn Rempt -Date: Sat Jul 30 14:33:10 2016 +0200 - - Revert "Use "${BIN_INSTALL_DIR}/data" for DATAROOTDIR on Windows." - - This reverts commit 2503481e4537b88d76b4a596f519cb3311e1ca2a. - -diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake -index e84c0b3..1773706 100644 ---- a/kde-modules/KDEInstallDirs.cmake -+++ b/kde-modules/KDEInstallDirs.cmake -@@ -489,15 +489,10 @@ _define_absolute(SHAREDSTATEDIR "com" - - - --if (WIN32) -- _define_relative(DATAROOTDIR BINDIR "data" -- "read-only architecture-independent data root" -- SHARE_INSTALL_PREFIX) --else() -- _define_absolute(DATAROOTDIR "share" -- "read-only architecture-independent data root" -- SHARE_INSTALL_PREFIX) --endif() -+ -+_define_absolute(DATAROOTDIR "share" -+ "read-only architecture-independent data root" -+ SHARE_INSTALL_PREFIX) - - _define_relative(DATADIR DATAROOTDIR "" - "read-only architecture-independent data" diff -Nru krita-3.1.4/3rdparty/ext_frameworks/kconfig.diff krita-3.1.4+dfsg/3rdparty/ext_frameworks/kconfig.diff --- krita-3.1.4/3rdparty/ext_frameworks/kconfig.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_frameworks/kconfig.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,133 +0,0 @@ -diff --git a/autotests/kconfigtest.cpp b/autotests/kconfigtest.cpp -index 2b905b5..8c72d58 100644 ---- a/autotests/kconfigtest.cpp -+++ b/autotests/kconfigtest.cpp -@@ -570,7 +570,7 @@ void KConfigTest::testPathQtHome() - qunsetenv("QT_CACHE_HOME"); - qunsetenv("QT_CONFIG_HOME"); - QVERIFY(group.hasKey("dataDir")); -- QCOMPARE(group.readEntry("dataDir", QString()), QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation).append(QStringLiteral("/kconfigtest"))); -+ QCOMPARE(group.readEntry("dataDir", QString()), QStandardPaths::writableLocation(QStandardPaths::AppDataLocation).append(QStringLiteral("/kconfigtest"))); - QVERIFY(group.hasKey("cacheDir")); - QCOMPARE(group.readEntry("cacheDir", QString()), QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation).append(QStringLiteral("/kconfigtest"))); - QVERIFY(group.hasKey("configDir")); -diff --git a/autotests/kdesktopfiletest.cpp b/autotests/kdesktopfiletest.cpp -index 393a6a0..083626d 100644 ---- a/autotests/kdesktopfiletest.cpp -+++ b/autotests/kdesktopfiletest.cpp -@@ -201,7 +201,7 @@ void KDesktopFileTest::testIsAuthorizedDesktopFile() - QVERIFY(QFile::exists(fileName)); - QVERIFY(!KDesktopFile::isAuthorizedDesktopFile(fileName)); - -- const QString installedFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("/kservices5/http_cache_cleaner.desktop")); -+ const QString installedFile = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("/kservices5/http_cache_cleaner.desktop")); - if (!installedFile.isEmpty()) { - QVERIFY(KDesktopFile::isAuthorizedDesktopFile(installedFile)); - } else { -diff --git a/autotests/test_kconf_update.cpp b/autotests/test_kconf_update.cpp -index 4180619..32cd88a 100644 ---- a/autotests/test_kconf_update.cpp -+++ b/autotests/test_kconf_update.cpp -@@ -625,7 +625,7 @@ void TestKConfUpdate::testScript() - - QSharedPointer updFile(writeUpdFile(updContent)); - -- const QString scriptDir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + "/kconf_update"; -+ const QString scriptDir = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + "/kconf_update"; - QVERIFY(QDir().mkpath(scriptDir)); - QString scriptPath = scriptDir + "/test.sh"; - writeFile(scriptPath, updScript); -diff --git a/docs/options.md b/docs/options.md -index ba7e2d8..a960a7d 100644 ---- a/docs/options.md -+++ b/docs/options.md -@@ -96,4 +96,4 @@ They are: - - `$QT_CACHE_HOME` - QStandardPaths::GenericConfigLocation - `$QT_CONFIG_HOME` - QStandardPaths::GenericConfigLocation -- `$QT_DATA_HOME` - QStandardPaths::GenericDataLocation -+ `$QT_DATA_HOME` - QStandardPaths::AppDataLocation -diff --git a/src/core/kconfig.cpp b/src/core/kconfig.cpp -index ad52da9..0401ced 100644 ---- a/src/core/kconfig.cpp -+++ b/src/core/kconfig.cpp -@@ -228,7 +228,7 @@ QString KConfigPrivate::expandString(const QString &value) - env = QString::fromLocal8Bit(pEnv.constData()); - } else { - if (aVarName == QStringLiteral("QT_DATA_HOME")) { -- env = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation); -+ env = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); - } else if (aVarName == QStringLiteral("QT_CONFIG_HOME")) { - env = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation); - } else if (aVarName == QStringLiteral("QT_CACHE_HOME")) { -diff --git a/src/core/kdesktopfile.cpp b/src/core/kdesktopfile.cpp -index 4a55030..e28e5df 100644 ---- a/src/core/kdesktopfile.cpp -+++ b/src/core/kdesktopfile.cpp -@@ -88,7 +88,7 @@ QString KDesktopFile::locateLocal(const QString &path) - } - } - // Relative to xdg data dir? (much more common) -- Q_FOREACH (const QString &dir, QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation)) { -+ Q_FOREACH (const QString &dir, QStandardPaths::standardLocations(QStandardPaths::AppDataLocation)) { - if (path.startsWith(dir + plus)) { - relativePath = dir.mid(path.length() + 1); - } -@@ -97,7 +97,7 @@ QString KDesktopFile::locateLocal(const QString &path) - // What now? The desktop file doesn't come from XDG_DATA_DIRS. Use filename only and hope for the best. - relativePath = path.mid(path.lastIndexOf(QLatin1Char('/')) + 1); - } -- return QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1Char('/') + relativePath; -+ return QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + QLatin1Char('/') + relativePath; - } - - bool KDesktopFile::isDesktopFile(const QString &path) -@@ -134,7 +134,7 @@ bool KDesktopFile::isAuthorizedDesktopFile(const QString &path) - } - } - const QString servicesDir = QStringLiteral("kservices5/"); // KGlobal::dirs()->xdgDataRelativePath("services") -- Q_FOREACH (const QString &xdgDataPrefix, QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation)) { -+ Q_FOREACH (const QString &xdgDataPrefix, QStandardPaths::standardLocations(QStandardPaths::AppDataLocation)) { - if (QDir(xdgDataPrefix).exists()) { - const QString prefix = QFileInfo(xdgDataPrefix).canonicalFilePath(); - if (realPath.startsWith(prefix + QLatin1Char('/') + servicesDir, sensitivity)) { -diff --git a/src/kconf_update/kconf_update.cpp b/src/kconf_update/kconf_update.cpp -index 2acd720..d89ae3d 100644 ---- a/src/kconf_update/kconf_update.cpp -+++ b/src/kconf_update/kconf_update.cpp -@@ -125,7 +125,7 @@ KonfUpdate::KonfUpdate(QCommandLineParser *parser) - m_bUseConfigInfo = false; - if (parser->isSet(QStringLiteral("check"))) { - m_bUseConfigInfo = true; -- const QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, "kconf_update/" + parser->value(QStringLiteral("check"))); -+ const QString file = QStandardPaths::locate(QStandardPaths::AppDataLocation, "kconf_update/" + parser->value(QStringLiteral("check"))); - if (file.isEmpty()) { - qWarning("File '%s' not found.", parser->value(QStringLiteral("check")).toLocal8Bit().data()); - log() << "File '" << parser->value(QStringLiteral("check")) << "' passed on command line not found" << endl; -@@ -177,7 +177,7 @@ KonfUpdate::log() - { - if (!m_textStream) { - #if 0 -- QString dir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1Char('/') + "kconf_update/log"; -+ QString dir = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + QLatin1Char('/') + "kconf_update/log"; - QDir().mkpath(dir); - QString file = dir + "/update.log"; - m_file = new QFile(file); -@@ -206,7 +206,7 @@ QStringList KonfUpdate::findUpdateFiles(bool dirtyOnly) - { - QStringList result; - -- const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kconf_update"), QStandardPaths::LocateDirectory); -+ const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::AppDataLocation, QStringLiteral("kconf_update"), QStandardPaths::LocateDirectory); - Q_FOREACH (const QString &d, dirs) { - const QDir dir(d); - -@@ -760,7 +760,7 @@ void KonfUpdate::gotScript(const QString &_script) - return; - } - -- QString path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kconf_update/") + script); -+ QString path = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("kconf_update/") + script); - if (path.isEmpty()) { - if (interpreter.isEmpty()) { - path = CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/kconf_update_bin/" + script; diff -Nru krita-3.1.4/3rdparty/ext_frameworks/ki18n-appdatalocation.diff krita-3.1.4+dfsg/3rdparty/ext_frameworks/ki18n-appdatalocation.diff --- krita-3.1.4/3rdparty/ext_frameworks/ki18n-appdatalocation.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_frameworks/ki18n-appdatalocation.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -diff --git a/src/kcatalog.cpp b/src/kcatalog.cpp -index 7711e9b..b6280ed 100644 ---- a/src/kcatalog.cpp -+++ b/src/kcatalog.cpp -@@ -112,7 +112,7 @@ QString KCatalog::catalogLocaleDir(const QByteArray &domain, - { - QString relpath = QString::fromLatin1("%1/LC_MESSAGES/%2.mo") - .arg(language, QFile::decodeName(domain)); -- QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, -+ QString file = QStandardPaths::locate(QStandardPaths::AppDataLocation, - QString::fromLatin1("locale/") + relpath); - QString localeDir; - if (file.isEmpty()) { -@@ -127,7 +127,7 @@ QString KCatalog::catalogLocaleDir(const QByteArray &domain, - QSet KCatalog::availableCatalogLanguages(const QByteArray &domain_) - { - QString domain = QFile::decodeName(domain_); -- QStringList localeDirPaths = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, -+ QStringList localeDirPaths = QStandardPaths::locateAll(QStandardPaths::AppDataLocation, - QString::fromLatin1("locale"), - QStandardPaths::LocateDirectory); - QSet availableLanguages; diff -Nru krita-3.1.4/3rdparty/ext_frameworks/ki18n.diff krita-3.1.4+dfsg/3rdparty/ext_frameworks/ki18n.diff --- krita-3.1.4/3rdparty/ext_frameworks/ki18n.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_frameworks/ki18n.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,62 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 178117e..497395d 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -54,11 +54,11 @@ if(MSVC) - endif() - - add_definitions(-DTRANSLATION_DOMAIN=\"ki18n5\") --if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") -- ki18n_install(po) --endif() -+#if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") -+# ki18n_install(po) -+#endif() - add_subdirectory(src) --add_subdirectory(autotests) -+#add_subdirectory(autotests) - - # create a Config.cmake and a ConfigVersion.cmake file and install them - set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5I18n") -diff --git a/cmake/KF5I18NMacros.cmake b/cmake/KF5I18NMacros.cmake -index 53ba812..db8ea98 100755 ---- a/cmake/KF5I18NMacros.cmake -+++ b/cmake/KF5I18NMacros.cmake -@@ -25,14 +25,9 @@ - # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - # SUCH DAMAGE. - --find_package(Gettext REQUIRED) --find_package(PythonInterp REQUIRED) -- --set(_ki18n_pmap_compile_script ${CMAKE_CURRENT_LIST_DIR}/ts-pmap-compile.py) --set(_ki18n_uic_script ${CMAKE_CURRENT_LIST_DIR}/kf5i18nuic.cmake) -- - #create the implementation files from the ui files and add them to the list of sources - #usage: KI18N_WRAP_UI(foo_SRCS ${ui_files}) -+set(_ki18n_uic_script ${CMAKE_CURRENT_LIST_DIR}/kf5i18nuic.cmake) - macro (KI18N_WRAP_UI _sources ) - foreach (_current_FILE ${ARGN}) - -@@ -57,6 +52,13 @@ macro (KI18N_WRAP_UI _sources ) - endforeach (_current_FILE) - endmacro (KI18N_WRAP_UI) - -+find_package(Gettext) -+find_package(PythonInterp) -+ -+if (Gettext_FOUND AND PythonInterp_FOUND) -+ -+set(_ki18n_pmap_compile_script ${CMAKE_CURRENT_LIST_DIR}/ts-pmap-compile.py) -+ - #install the scripts for a given language in the target folder - #usage: KI18N_INSTALL_TS_FILES("ja" ${scripts_dir}) - function(KI18N_INSTALL_TS_FILES lang scripts_dir) -@@ -225,3 +227,7 @@ function(_KI18N_GETTEXT_GET_UNIQUE_TARGET_NAME _name _unique_name) - set_property(GLOBAL PROPERTY ${propertyName} ${currentCounter} ) - endfunction() - # End of CMake copied code #################################################### -+ -+else() -+ message("Warning: Python and Gettext are needed for some functionality.") -+endif() # Python and gettext found diff -Nru krita-3.1.4/3rdparty/ext_frameworks/kimageformats.diff krita-3.1.4+dfsg/3rdparty/ext_frameworks/kimageformats.diff --- krita-3.1.4/3rdparty/ext_frameworks/kimageformats.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_frameworks/kimageformats.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -diff --git a/src/imageformats/CMakeLists.txt b/src/imageformats/CMakeLists.txt -index 0db2ae8..e78b55d 100644 ---- a/src/imageformats/CMakeLists.txt -+++ b/src/imageformats/CMakeLists.txt -@@ -28,6 +28,9 @@ if(OpenEXR_FOUND) - add_library(kimg_exr MODULE exr.cpp) - target_link_libraries(kimg_exr Qt5::Gui OpenEXR::IlmImf) - kde_target_enable_exceptions(kimg_exr PRIVATE) -+ if (WIN32) -+ add_definitions(-DOPENEXR_DLL) -+ endif() - - install(TARGETS kimg_exr DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/imageformats/) - install(FILES exr.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/qimageioplugins/) diff -Nru krita-3.1.4/3rdparty/ext_frameworks/kwidgetsaddons.diff krita-3.1.4+dfsg/3rdparty/ext_frameworks/kwidgetsaddons.diff --- krita-3.1.4/3rdparty/ext_frameworks/kwidgetsaddons.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_frameworks/kwidgetsaddons.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,56 +0,0 @@ -diff --git a/src/kcollapsiblegroupbox.cpp b/src/kcollapsiblegroupbox.cpp -index edda7af..3ae7d86 100644 ---- a/src/kcollapsiblegroupbox.cpp -+++ b/src/kcollapsiblegroupbox.cpp -@@ -94,9 +94,9 @@ void KCollapsibleGroupBox::setTitle(const QString& title) - } - - d->shortcutId = grabShortcut(QKeySequence::mnemonic(title)); -- -+#ifndef QT_NO_ACCESSIBILITY - setAccessibleName(title); -- -+#endif - emit titleChanged(); - } - -diff --git a/src/kled.cpp b/src/kled.cpp -index 1e46929..63a817b 100644 ---- a/src/kled.cpp -+++ b/src/kled.cpp -@@ -57,7 +57,9 @@ KLed::KLed(const QColor &color, QWidget *parent) - d(new Private) - { - setColor(color); -+#ifndef QT_NO_ACCESSIBILITY - updateAccessibleName(); -+#endif - } - - KLed::KLed(const QColor &color, State state, Look look, Shape shape, -@@ -70,7 +72,9 @@ KLed::KLed(const QColor &color, State state, Look look, Shape shape, - d->shape = shape; - - setColor(color); -+#ifndef QT_NO_ACCESSIBILITY - updateAccessibleName(); -+#endif - } - - KLed::~KLed() -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8baeda3..bd5491e 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -36,8 +36,8 @@ if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") - endif() - - add_subdirectory(src) --add_subdirectory(autotests) --add_subdirectory(tests) -+#add_subdirectory(autotests) -+#add_subdirectory(tests) - - # create a Config.cmake and a ConfigVersion.cmake file and install them - set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5WidgetsAddons") - diff -Nru krita-3.1.4/3rdparty/ext_frameworks/kwindowsystem-x11.diff krita-3.1.4+dfsg/3rdparty/ext_frameworks/kwindowsystem-x11.diff --- krita-3.1.4/3rdparty/ext_frameworks/kwindowsystem-x11.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_frameworks/kwindowsystem-x11.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,53 +0,0 @@ -diff --git a/src/kstartupinfo.cpp b/src/kstartupinfo.cpp -index a97b8b5..0ae7e5b 100644 ---- a/src/kstartupinfo.cpp -+++ b/src/kstartupinfo.cpp -@@ -493,7 +493,7 @@ bool KStartupInfo::sendStartupX(Display *disp_P, const KStartupInfoId &id_P, - #ifdef KSTARTUPINFO_ALL_DEBUG - qCDebug(LOG_KWINDOWSYSTEM) << "sending " << msg; - #endif -- return KXMessages::broadcastMessageX(disp_P, NET_STARTUP_MSG, msg); -+ return true; // KXMessages::broadcastMessageX(disp_P, NET_STARTUP_MSG, msg); - #else - Q_UNUSED(disp_P) - Q_UNUSED(data_P) -@@ -548,7 +548,7 @@ bool KStartupInfo::sendChangeX(Display *disp_P, const KStartupInfoId &id_P, - #ifdef KSTARTUPINFO_ALL_DEBUG - qCDebug(LOG_KWINDOWSYSTEM) << "sending " << msg; - #endif -- return KXMessages::broadcastMessageX(disp_P, NET_STARTUP_MSG, msg); -+ return true; //KXMessages::broadcastMessageX(disp_P, NET_STARTUP_MSG, msg); - #else - Q_UNUSED(disp_P) - Q_UNUSED(data_P) -@@ -580,7 +580,7 @@ bool KStartupInfo::sendFinishX(Display *disp_P, const KStartupInfoId &id_P) - #ifdef KSTARTUPINFO_ALL_DEBUG - qCDebug(LOG_KWINDOWSYSTEM) << "sending " << msg; - #endif -- return KXMessages::broadcastMessageX(disp_P, NET_STARTUP_MSG, msg); -+ return true; //KXMessages::broadcastMessageX(disp_P, NET_STARTUP_MSG, msg); - #else - Q_UNUSED(disp_P) - return true; -@@ -615,7 +615,7 @@ bool KStartupInfo::sendFinishX(Display *disp_P, const KStartupInfoId &id_P, - #ifdef KSTARTUPINFO_ALL_DEBUG - qCDebug(LOG_KWINDOWSYSTEM) << "sending " << msg; - #endif -- return KXMessages::broadcastMessageX(disp_P, NET_STARTUP_MSG, msg); -+ return true; //KXMessages::broadcastMessageX(disp_P, NET_STARTUP_MSG, msg); - #else - Q_UNUSED(disp_P) - Q_UNUSED(id_P) -diff --git a/src/platforms/xcb/kwindowsystem.cpp b/src/platforms/xcb/kwindowsystem.cpp -index 9d28704..603d9b2 100644 ---- a/src/platforms/xcb/kwindowsystem.cpp -+++ b/src/platforms/xcb/kwindowsystem.cpp -@@ -196,7 +196,7 @@ bool NETEventFilter::nativeEventFilter(xcb_generic_event_t *ev) - int old_number_of_desktops = numberOfDesktops(); - bool old_showing_desktop = showingDesktop(); - unsigned long m[ 5 ]; -- NETRootInfo::event(ev, m, 5); -+ //NETRootInfo::event(ev, m, 5); - - if ((m[ PROTOCOLS ] & CurrentDesktop) && currentDesktop() != old_current_desktop) { - emit s_q->currentDesktopChanged(currentDesktop()); diff -Nru krita-3.1.4/3rdparty/ext_freetype/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_freetype/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_freetype/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_freetype/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -SET(PREFIX_ext_freetype "${EXTPREFIX}" ) -ExternalProject_Add( ext_freetype - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/freetype-2.6.5.tar.gz - URL_MD5 31b2276515d9ee1c7f37d9c9f4f3145a - - INSTALL_DIR ${PREFIX_ext_freetype} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_freetype} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 -) diff -Nru krita-3.1.4/3rdparty/ext_gettext/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_gettext/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_gettext/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_gettext/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -SET(PREFIX_ext_gettext "${EXTPREFIX}" ) -if (MSVC OR MINGW) -ExternalProject_Add( - ext_gettext - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/gettext-0.18.tar.gz - URL_MD5 d52a3e061032a1ed13856d42fc86f0fd - - PATCH_COMMAND ${PATCH_COMMAND} --binary -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/gettext-0.18-20130319.diff - INSTALL_DIR ${PREFIX_ext_gettext} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_gettext} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_patch ext_iconv -) -else (MSVC OR MINGW) -ExternalProject_Add( ext_gettext - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/gettext-0.19.8.tar.gz - URL_MD5 e4fffc004f21596becd1055cf36be31d - - INSTALL_DIR ${PREFIX_ext_gettext} - CONFIGURE_COMMAND /configure --prefix=${PREFIX_ext_gettext} --disable-java ${GLOBAL_AUTOMAKE_PROFILE} --disable-native-java - BUILD_COMMAND make - INSTALL_COMMAND make install - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_iconv -) -endif (MSVC OR MINGW) diff -Nru krita-3.1.4/3rdparty/ext_gettext/gettext-0.18-20130319.diff krita-3.1.4+dfsg/3rdparty/ext_gettext/gettext-0.18-20130319.diff --- krita-3.1.4/3rdparty/ext_gettext/gettext-0.18-20130319.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_gettext/gettext-0.18-20130319.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,2132 +0,0 @@ -diff -Nru -x '*~' gettext-0.18.orig/cmake/Modules/Findiconv.cmake gettext-0.18/cmake/Modules/Findiconv.cmake ---- gettext-0.18.orig/cmake/Modules/Findiconv.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ gettext-0.18/cmake/Modules/Findiconv.cmake 2013-03-19 08:59:56.985779000 +0100 -@@ -0,0 +1,60 @@ -+# - Try to find Iconv -+# Once done this will define -+# -+# ICONV_FOUND - system has Iconv -+# ICONV_INCLUDE_DIR - the Iconv include directory -+# ICONV_LIBRARIES - Link these to use Iconv -+# ICONV_SECOND_ARGUMENT_IS_CONST - the second argument for iconv() is const -+# -+include(CheckCXXSourceCompiles) -+ -+IF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) -+ # Already in cache, be silent -+ SET(ICONV_FIND_QUIETLY TRUE) -+ENDIF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) -+ -+FIND_PATH(ICONV_INCLUDE_DIR iconv.h) -+ -+FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c) -+ -+IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) -+ SET(ICONV_FOUND TRUE) -+ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) -+ -+set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) -+set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES}) -+IF(ICONV_FOUND) -+ check_cxx_source_compiles(" -+ #include -+ int main(){ -+ iconv_t conv = 0; -+ const char* in = 0; -+ size_t ilen = 0; -+ char* out = 0; -+ size_t olen = 0; -+ iconv(conv, &in, &ilen, &out, &olen); -+ return 0; -+ } -+" ICONV_SECOND_ARGUMENT_IS_CONST ) -+ IF(ICONV_SECOND_ARGUMENT_IS_CONST) -+ SET(ICONV_CONST "const") -+ ENDIF(ICONV_SECOND_ARGUMENT_IS_CONST) -+ENDIF(ICONV_FOUND) -+set(CMAKE_REQUIRED_INCLUDES) -+set(CMAKE_REQUIRED_LIBRARIES) -+ -+IF(ICONV_FOUND) -+ IF(NOT ICONV_FIND_QUIETLY) -+ MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}") -+ ENDIF(NOT ICONV_FIND_QUIETLY) -+ELSE(ICONV_FOUND) -+ IF(Iconv_FIND_REQUIRED) -+ MESSAGE(FATAL_ERROR "Could not find Iconv") -+ ENDIF(Iconv_FIND_REQUIRED) -+ENDIF(ICONV_FOUND) -+ -+MARK_AS_ADVANCED( -+ ICONV_INCLUDE_DIR -+ ICONV_LIBRARIES -+ ICONV_SECOND_ARGUMENT_IS_CONST -+) -diff -Nru -x '*~' gettext-0.18.orig/cmake/Modules/FindWcecompat.cmake gettext-0.18/cmake/Modules/FindWcecompat.cmake ---- gettext-0.18.orig/cmake/Modules/FindWcecompat.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ gettext-0.18/cmake/Modules/FindWcecompat.cmake 2013-03-19 08:59:56.997779700 +0100 -@@ -0,0 +1,33 @@ -+# Try to find Wcecompat functionality -+# Once done this will define -+# -+# WCECOMPAT_FOUND - system has Wcecompat -+# WCECOMPAT_INCLUDE_DIR - Wcecompat include directory -+# WCECOMPAT_LIBRARIES - Libraries needed to use Wcecompat -+# -+# Copyright (c) 2010, Andreas Holzammer, -+# -+# Redistribution and use is allowed according to the terms of the BSD license. -+ -+if(WCECOMPAT_INCLUDE_DIR AND WCECOMPAT_LIB_FOUND) -+ set(Wcecompat_FIND_QUIETLY TRUE) -+endif(WCECOMPAT_INCLUDE_DIR AND WCECOMPAT_LIB_FOUND) -+ -+find_path(WCECOMPAT_INCLUDE_DIR errno.h PATH_SUFFIXES wcecompat) -+ -+set(WCECOMPAT_LIB_FOUND FALSE) -+ -+if(WCECOMPAT_INCLUDE_DIR) -+ find_library(WCECOMPAT_LIBRARIES NAMES wcecompat wcecompatex ) -+ if(WCECOMPAT_LIBRARIES) -+ set(WCECOMPAT_LIB_FOUND TRUE) -+ endif(WCECOMPAT_LIBRARIES) -+endif(WCECOMPAT_INCLUDE_DIR) -+ -+# I have no idea what this is about, but it seems to be used quite often, so I add this here -+set(WCECOMPAT_CONST const) -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(Wcecompat DEFAULT_MSG WCECOMPAT_LIBRARIES WCECOMPAT_LIB_FOUND) -+ -+mark_as_advanced(WCECOMPAT_INCLUDE_DIR WCECOMPAT_LIBRARIES WCECOMPAT_CONST WCECOMPAT_LIB_FOUND) -diff -Nru -x '*~' gettext-0.18.orig/cmake/Modules/MacroBoolTo01.cmake gettext-0.18/cmake/Modules/MacroBoolTo01.cmake ---- gettext-0.18.orig/cmake/Modules/MacroBoolTo01.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ gettext-0.18/cmake/Modules/MacroBoolTo01.cmake 2013-03-19 08:59:57.000779900 +0100 -@@ -0,0 +1,20 @@ -+# MACRO_BOOL_TO_01( VAR RESULT0 ... RESULTN ) -+# This macro evaluates its first argument -+# and sets all the given vaiables either to 0 or 1 -+# depending on the value of the first one -+ -+# Copyright (c) 2006, Alexander Neundorf, -+# -+# Redistribution and use is allowed according to the terms of the BSD license. -+# For details see the accompanying COPYING-CMAKE-SCRIPTS file. -+ -+ -+MACRO(MACRO_BOOL_TO_01 FOUND_VAR ) -+ FOREACH (_current_VAR ${ARGN}) -+ IF(${FOUND_VAR}) -+ SET(${_current_VAR} 1) -+ ELSE(${FOUND_VAR}) -+ SET(${_current_VAR} 0) -+ ENDIF(${FOUND_VAR}) -+ ENDFOREACH(_current_VAR) -+ENDMACRO(MACRO_BOOL_TO_01) -diff -Nru -x '*~' gettext-0.18.orig/CMakeLists.txt gettext-0.18/CMakeLists.txt ---- gettext-0.18.orig/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ gettext-0.18/CMakeLists.txt 2013-03-19 09:08:26.381914800 +0100 -@@ -0,0 +1,39 @@ -+cmake_minimum_required(VERSION 2.6) -+ -+project(gettext) -+ -+set(PACKAGE_VERSION_MAJOR 0) -+set(PACKAGE_VERSION_MINOR 18) -+set(PACKAGE_VERSION_SUBMINOR 0) -+ -+set(PACKAGE_VERSION_STRING "${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}") -+ -+add_definitions(-DPACKAGE_VERSION_MAJOR=${PACKAGE_VERSION_MAJOR} -DPACKAGE_VERSION_MINOR=${PACKAGE_VERSION_MINOR} -DPACKAGE_VERSION_SUBMINOR=${PACKAGE_VERSION_SUBMINOR} -DPACKAGE_VERSION_STRING="${PACKAGE_VERSION_STRING}") -+ -+set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules ${CMAKE_MODULE_PATH}) -+ -+include(MacroBoolTo01) -+ -+if(WINCE) -+ find_package(Wcecompat REQUIRED) -+ include_directories(${WCECOMPAT_INCLUDE_DIR}) -+ set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${WCECOMPAT_INCLUDE_DIR}) -+ set(LIBRARY_TYPE STATIC) -+ add_definitions(-DGETTEXT_STATIC_LIBS) -+ add_definitions(-DWCECOMPAT_USE_DLMALLOC) -+else(WINCE) -+ set(LIBRARY_TYPE SHARED) -+endif(WINCE) -+ -+find_package(iconv) -+set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${ICONV_INCLUDE_DIR}) -+set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${ICONV_LIBRARIES}) -+ -+include_directories(${ICONV_INCLUDE_DIR}) -+ -+if(MSVC) -+ add_definitions(-wd4996 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS) -+endif(MSVC) -+ -+add_subdirectory(gettext-runtime) -+#add_subdirectory(gettext-tools) -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/CMakeLists.txt gettext-0.18/gettext-runtime/CMakeLists.txt ---- gettext-0.18.orig/gettext-runtime/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ gettext-0.18/gettext-runtime/CMakeLists.txt 2013-03-19 08:59:57.007780300 +0100 -@@ -0,0 +1,23 @@ -+cmake_minimum_required(VERSION 2.6) -+set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) -+ -+project(gettext-runtime) -+ -+include(ConfigureChecks.cmake) -+ -+include_directories(${CMAKE_CURRENT_BINARY_DIR}) -+ -+ -+#add_subdirectory(doc) -+add_subdirectory(intl) -+#add_subdirectory(intl-java) -+#add_subdirectory(intl-csharp) -+#add_subdirectory(gnulib-lib) -+#add_subdirectory(src) -+#add_subdirectory(po) -+#add_subdirectory(man) -+#add_subdirectory(m4) -+#add_subdirectory(tests) -+ -+ -+ -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/config.h.cmake gettext-0.18/gettext-runtime/config.h.cmake ---- gettext-0.18.orig/gettext-runtime/config.h.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ gettext-0.18/gettext-runtime/config.h.cmake 2013-03-19 09:28:16.508986200 +0100 -@@ -0,0 +1,1276 @@ -+/* config.h.in. Generated from configure.ac by autoheader. */ -+ -+/* Define if the compiler is building for multiple architectures of Apple -+ platforms at once. */ -+#cmakedefine AA_APPLE_UNIVERSAL_BUILD -+ -+/* Define to the number of bits in type 'ptrdiff_t'. */ -+#cmakedefine BITSIZEOF_PTRDIFF_T @BITSIZEOF_PTRDIFF_T@ -+ -+/* Define to the number of bits in type 'sig_atomic_t'. */ -+#cmakedefine BITSIZEOF_SIG_ATOMIC_T @BITSIZEOF_SIG_ATOMIC_T@ -+ -+/* Define to the number of bits in type 'size_t'. */ -+#cmakedefine BITSIZEOF_SIZE_T @BITSIZEOF_SIZE_T@ -+ -+/* Define to the number of bits in type 'wchar_t'. */ -+#cmakedefine BITSIZEOF_WCHAR_T @BITSIZEOF_WCHAR_T@ -+ -+/* Define to the number of bits in type 'wint_t'. */ -+#cmakedefine BITSIZEOF_WINT_T @BITSIZEOF_WINT_T@ -+ -+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP -+ systems. This function is required for `alloca.c' support on those systems. -+ */ -+#cmakedefine CRAY_STACKSEG_END -+ -+/* Define if mono is the preferred C# implementation. */ -+#cmakedefine CSHARP_CHOICE_MONO -+ -+/* Define if pnet is the preferred C# implementation. */ -+#cmakedefine CSHARP_CHOICE_PNET -+ -+/* Define to 1 if using `alloca.c'. */ -+#cmakedefine C_ALLOCA -+ -+/* Define to 1 if // is a file system root distinct from /. */ -+#cmakedefine DOUBLE_SLASH_IS_DISTINCT_ROOT -+ -+/* Define to 1 if translation of program messages to the user's native -+ language is requested. */ -+#cmakedefine ENABLE_NLS -+ -+/* Define to 1 if the package shall run at any location in the file system. */ -+#cmakedefine ENABLE_RELOCATABLE -+ -+/* Define on systems for which file names may have a so-called `drive letter' -+ prefix, define this to compute the length of that prefix, including the -+ colon. */ -+#cmakedefine FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX -+ -+/* Define if the backslash character may also serve as a file name component -+ separator. */ -+#cmakedefine FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR @FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR@ -+ -+/* Define if a drive letter prefix denotes a relative path if it is not -+ followed by a file name component separator. */ -+#cmakedefine FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE -+ -+/* Define to 1 if realpath() can malloc memory, always gives an absolute path, -+ and handles trailing slash correctly. */ -+#cmakedefine FUNC_REALPATH_WORKS -+ -+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending -+ whether the gnulib module canonicalize-lgpl shall be considered present. */ -+#cmakedefine GNULIB_CANONICALIZE_LGPL -+ -+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending -+ whether the gnulib module fwriteerror shall be considered present. */ -+#cmakedefine GNULIB_FWRITEERROR -+ -+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending -+ whether the gnulib module sigpipe shall be considered present. */ -+#cmakedefine GNULIB_SIGPIPE -+ -+/* Define to 1 when the gnulib module canonicalize_file_name should be tested. -+ */ -+#cmakedefine GNULIB_TEST_CANONICALIZE_FILE_NAME -+ -+/* Define to 1 when the gnulib module environ should be tested. */ -+#cmakedefine GNULIB_TEST_ENVIRON -+ -+/* Define to 1 when the gnulib module getopt-gnu should be tested. */ -+#cmakedefine GNULIB_TEST_GETOPT_GNU -+ -+/* Define to 1 when the gnulib module lstat should be tested. */ -+#cmakedefine GNULIB_TEST_LSTAT -+ -+/* Define to 1 when the gnulib module malloc-posix should be tested. */ -+#cmakedefine GNULIB_TEST_MALLOC_POSIX -+ -+/* Define to 1 when the gnulib module mbrtowc should be tested. */ -+#cmakedefine GNULIB_TEST_MBRTOWC -+ -+/* Define to 1 when the gnulib module mbsinit should be tested. */ -+#cmakedefine GNULIB_TEST_MBSINIT -+ -+/* Define to 1 when the gnulib module mbslen should be tested. */ -+#cmakedefine GNULIB_TEST_MBSLEN -+ -+/* Define to 1 when the gnulib module mbsstr should be tested. */ -+#cmakedefine GNULIB_TEST_MBSSTR -+ -+/* Define to 1 when the gnulib module memchr should be tested. */ -+#cmakedefine GNULIB_TEST_MEMCHR -+ -+/* Define to 1 when the gnulib module readlink should be tested. */ -+#cmakedefine GNULIB_TEST_READLINK -+ -+/* Define to 1 when the gnulib module realpath should be tested. */ -+#cmakedefine GNULIB_TEST_REALPATH -+ -+/* Define to 1 when the gnulib module sigprocmask should be tested. */ -+#cmakedefine GNULIB_TEST_SIGPROCMASK -+ -+/* Define to 1 when the gnulib module stat should be tested. */ -+#cmakedefine GNULIB_TEST_STAT -+ -+/* Define to 1 when the gnulib module strerror should be tested. */ -+#cmakedefine GNULIB_TEST_STRERROR -+ -+/* Define to 1 when the gnulib module strnlen should be tested. */ -+#cmakedefine GNULIB_TEST_STRNLEN -+ -+/* Define to 1 when the gnulib module wcwidth should be tested. */ -+#cmakedefine GNULIB_TEST_WCWIDTH -+ -+/* Define to 1 if you have `alloca', as a function or macro. */ -+#cmakedefine HAVE_ALLOCA 1 -+ -+/* Define to 1 if you have and it should be used (not on Ultrix). -+ */ -+#cmakedefine HAVE_ALLOCA_H 1 -+ -+/* Define to 1 if you have the `argz_count' function. */ -+#cmakedefine HAVE_ARGZ_COUNT 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_ARGZ_H 1 -+ -+/* Define to 1 if you have the `argz_next' function. */ -+#cmakedefine HAVE_ARGZ_NEXT 1 -+ -+/* Define to 1 if you have the `argz_stringify' function. */ -+#cmakedefine HAVE_ARGZ_STRINGIFY 1 -+ -+/* Define to 1 if you have the `asprintf' function. */ -+#cmakedefine HAVE_ASPRINTF 1 -+ -+/* Define to 1 if you have the `atexit' function. */ -+#cmakedefine HAVE_ATEXIT 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_BP_SYM_H 1 -+ -+/* Define to 1 if the compiler understands __builtin_expect. */ -+#cmakedefine HAVE_BUILTIN_EXPECT 1 -+ -+/* Define to 1 if you have the `canonicalize_file_name' function. */ -+#cmakedefine HAVE_CANONICALIZE_FILE_NAME 1 -+ -+/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the -+ CoreFoundation framework. */ -+#cmakedefine HAVE_CFLOCALECOPYCURRENT 1 -+ -+/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in -+ the CoreFoundation framework. */ -+#cmakedefine HAVE_CFPREFERENCESCOPYAPPVALUE 1 -+ -+/* Define if the GNU dcgettext() function is already present or preinstalled. -+ */ -+#cmakedefine HAVE_DCGETTEXT -+ -+/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if -+ you don't. */ -+#cmakedefine HAVE_DECL_CLEARERR_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_FEOF_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if -+ you don't. */ -+#cmakedefine HAVE_DECL_FERROR_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if -+ you don't. */ -+#cmakedefine HAVE_DECL_FFLUSH_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if -+ you don't. */ -+#cmakedefine HAVE_DECL_FGETS_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if -+ you don't. */ -+#cmakedefine HAVE_DECL_FPUTC_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if -+ you don't. */ -+#cmakedefine HAVE_DECL_FPUTS_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if -+ you don't. */ -+#cmakedefine HAVE_DECL_FREAD_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if -+ you don't. */ -+#cmakedefine HAVE_DECL_FWRITE_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if -+ you don't. */ -+#cmakedefine HAVE_DECL_GETCHAR_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_GETC_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. -+ */ -+#cmakedefine HAVE_DECL_GETENV 1 -+ -+/* Define to 1 if you have the declaration of `getopt_clip', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_GETOPT_CLIP 1 -+ -+/* Define to 1 if you have the declaration of `optreset', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_OPTRESET 1 -+ -+/* Define to 1 if you have the declaration of `program_invocation_name', and -+ to 0 if you don't. */ -+#cmakedefine HAVE_DECL_PROGRAM_INVOCATION_NAME 1 -+ -+/* Define to 1 if you have the declaration of `program_invocation_short_name', -+ and to 0 if you don't. */ -+#cmakedefine HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 1 -+ -+/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if -+ you don't. */ -+#cmakedefine HAVE_DECL_PUTCHAR_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_PUTC_UNLOCKED 1 -+ -+/* Define to 1 if you have the declaration of `strerror', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_STRERROR 1 -+ -+/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_STRERROR_R 1 -+ -+/* Define to 1 if you have the declaration of `strnlen', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_STRNLEN 1 -+ -+/* Define to 1 if you have the declaration of `wcwidth', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL_WCWIDTH 1 -+ -+/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL__SNPRINTF 1 -+ -+/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you -+ don't. */ -+#cmakedefine HAVE_DECL__SNWPRINTF 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_DLFCN_H 1 -+ -+/* Define if you have the declaration of environ. */ -+#cmakedefine HAVE_ENVIRON_DECL 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_ERRNO_H 1 -+ -+/* Define to 1 if you have the `fwprintf' function. */ -+#cmakedefine HAVE_FWPRINTF 1 -+ -+/* Define to 1 if you have the `getcwd' function. */ -+#cmakedefine HAVE_GETCWD 1 -+ -+/* Define to 1 if you have the `_getcwd' function. */ -+#cmakedefine HAVE_GETCWD2 1 -+ -+/* Define to 1 if you have the `getegid' function. */ -+#cmakedefine HAVE_GETEGID 1 -+ -+/* Define to 1 if you have the `geteuid' function. */ -+#cmakedefine HAVE_GETEUID 1 -+ -+/* Define to 1 if you have the `getgid' function. */ -+#cmakedefine HAVE_GETGID 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_GETOPT_H 1 -+ -+/* Define to 1 if you have the `getopt_long_only' function. */ -+#cmakedefine HAVE_GETOPT_LONG_ONLY 1 -+ -+/* Define to 1 if you have the `getpagesize' function. */ -+#cmakedefine HAVE_GETPAGESIZE 1 -+ -+/* Define if the GNU gettext() function is already present or preinstalled. */ -+#cmakedefine HAVE_GETTEXT 1 -+ -+/* Define to 1 if you have the `getuid' function. */ -+#cmakedefine HAVE_GETUID 1 -+ -+/* Define if you have the iconv() function and it works. */ -+#cmakedefine HAVE_ICONV @HAVE_ICONV@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_ICONV_H 1 -+ -+/* Define if you have the 'intmax_t' type in or . */ -+#cmakedefine HAVE_INTMAX_T 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_INTTYPES_H 1 -+ -+/* Define if exists, doesn't clash with , and -+ declares uintmax_t. */ -+#cmakedefine HAVE_INTTYPES_H_WITH_UINTMAX 1 -+ -+/* Define to 1 if you have the `iswblank' function. */ -+#cmakedefine HAVE_ISWBLANK 1 -+ -+/* Define to 1 if you have the `iswcntrl' function. */ -+#cmakedefine HAVE_ISWCNTRL 1 -+ -+/* Define if you have and nl_langinfo(CODESET). */ -+#cmakedefine HAVE_LANGINFO_CODESET -+ -+/* Define if your file defines LC_MESSAGES. */ -+#cmakedefine HAVE_LC_MESSAGES -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_LIMITS_H 1 -+ -+/* Define to 1 if the system has the type `long long int'. */ -+#cmakedefine HAVE_LONG_LONG_INT 1 -+ -+/* Define to 1 if you have the `lstat' function. */ -+#cmakedefine HAVE_LSTAT 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MACH_O_DYLD_H 1 -+ -+/* Define if the 'malloc' function is POSIX compliant. */ -+#cmakedefine HAVE_MALLOC_POSIX -+ -+/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including -+ config.h and . */ -+#cmakedefine HAVE_MAP_ANONYMOUS 1 -+ -+/* Define to 1 if you have the `mbrtowc' function. */ -+#cmakedefine HAVE_MBRTOWC 1 -+ -+/* Define to 1 if you have the `mbsinit' function. */ -+#cmakedefine HAVE_MBSINIT 1 -+ -+/* Define to 1 if you have the `mbslen' function. */ -+#cmakedefine HAVE_MBSLEN 1 -+ -+/* Define to 1 if declares mbstate_t. */ -+#cmakedefine HAVE_MBSTATE_T 1 -+ -+/* Define to 1 if you have the `memchr' function. */ -+#cmakedefine HAVE_MEMCHR 1 -+ -+/* Define to 1 if you have the `memmove' function. */ -+#cmakedefine HAVE_MEMMOVE 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MEMORY_H 1 -+ -+/* Define to 1 if you have the `mempcpy' function. */ -+#cmakedefine HAVE_MEMPCPY 1 -+ -+/* Define to 1 if you have a working `mmap' system call. */ -+#cmakedefine HAVE_MMAP 1 -+ -+/* Define to 1 if you have the `mprotect' function. */ -+#cmakedefine HAVE_MPROTECT 1 -+ -+/* Define to 1 if you have the `munmap' function. */ -+#cmakedefine HAVE_MUNMAP 1 -+ -+/* Define to 1 if you have the `newlocale' function. */ -+#cmakedefine HAVE_NEWLOCALE 1 -+ -+/* Define to 1 if you have the `pathconf' function. */ -+#cmakedefine HAVE_PATHCONF 1 -+ -+/* Define if your printf() function supports format strings with positions. */ -+#cmakedefine HAVE_POSIX_PRINTF -+ -+/* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ -+#cmakedefine HAVE_PTHREAD_MUTEX_RECURSIVE -+ -+/* Define if the POSIX multithreading library has read/write locks. */ -+#cmakedefine HAVE_PTHREAD_RWLOCK -+ -+/* Define to 1 if you have the `putenv' function. */ -+#cmakedefine HAVE_PUTENV 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_RANDOM_H 1 -+ -+/* Define to 1 if atoll is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_ATOLL 1 -+ -+/* Define to 1 if btowc is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_BTOWC 1 -+ -+/* Define to 1 if canonicalize_file_name is declared even after undefining -+ macros. */ -+#cmakedefine HAVE_RAW_DECL_CANONICALIZE_FILE_NAME 1 -+ -+/* Define to 1 if chown is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_CHOWN 1 -+ -+/* Define to 1 if dprintf is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_DPRINTF 1 -+ -+/* Define to 1 if dup2 is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_DUP2 1 -+ -+/* Define to 1 if dup3 is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_DUP3 1 -+ -+/* Define to 1 if endusershell is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_ENDUSERSHELL 1 -+ -+/* Define to 1 if environ is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_ENVIRON 1 -+ -+/* Define to 1 if euidaccess is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_EUIDACCESS 1 -+ -+/* Define to 1 if faccessat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_FACCESSAT 1 -+ -+/* Define to 1 if fchdir is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_FCHDIR 1 -+ -+/* Define to 1 if fchmodat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_FCHMODAT 1 -+ -+/* Define to 1 if fchownat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_FCHOWNAT 1 -+ -+/* Define to 1 if fpurge is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_FPURGE 1 -+ -+/* Define to 1 if fseeko is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_FSEEKO 1 -+ -+/* Define to 1 if fstatat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_FSTATAT 1 -+ -+/* Define to 1 if fsync is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_FSYNC 1 -+ -+/* Define to 1 if ftello is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_FTELLO 1 -+ -+/* Define to 1 if ftruncate is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_FTRUNCATE 1 -+ -+/* Define to 1 if futimens is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_FUTIMENS 1 -+ -+/* Define to 1 if getcwd is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETCWD 1 -+ -+/* Define to 1 if getdelim is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETDELIM 1 -+ -+/* Define to 1 if getdomainname is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETDOMAINNAME 1 -+ -+/* Define to 1 if getdtablesize is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETDTABLESIZE 1 -+ -+/* Define to 1 if getgroups is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETGROUPS 1 -+ -+/* Define to 1 if gethostname is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETHOSTNAME 1 -+ -+/* Define to 1 if getline is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETLINE 1 -+ -+/* Define to 1 if getloadavg is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETLOADAVG 1 -+ -+/* Define to 1 if getlogin is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETLOGIN 1 -+ -+/* Define to 1 if getlogin_r is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETLOGIN_R 1 -+ -+/* Define to 1 if getpagesize is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETPAGESIZE 1 -+ -+/* Define to 1 if getsubopt is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETSUBOPT 1 -+ -+/* Define to 1 if getusershell is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GETUSERSHELL 1 -+ -+/* Define to 1 if grantpt is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_GRANTPT 1 -+ -+/* Define to 1 if initstat_r is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_INITSTAT_R 1 -+ -+/* Define to 1 if lchmod is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_LCHMOD -+ -+/* Define to 1 if lchown is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_LCHOWN -+ -+/* Define to 1 if link is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_LINK -+ -+/* Define to 1 if linkat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_LINKAT -+ -+/* Define to 1 if lseek is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_LSEEK -+ -+/* Define to 1 if lstat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_LSTAT -+ -+/* Define to 1 if mbrlen is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MBRLEN -+ -+/* Define to 1 if mbrtowc is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MBRTOWC -+ -+/* Define to 1 if mbsinit is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MBSINIT -+ -+/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MBSNRTOWCS -+ -+/* Define to 1 if mbsrtowcs is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MBSRTOWCS -+ -+/* Define to 1 if memmem is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MEMMEM -+ -+/* Define to 1 if mempcpy is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MEMPCPY -+ -+/* Define to 1 if memrchr is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MEMRCHR -+ -+/* Define to 1 if mkdirat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MKDIRAT -+ -+/* Define to 1 if mkdtemp is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MKDTEMP -+ -+/* Define to 1 if mkfifo is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MKFIFO -+ -+/* Define to 1 if mkfifoat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MKFIFOAT -+ -+/* Define to 1 if mknod is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MKNOD -+ -+/* Define to 1 if mknodat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MKNODAT -+ -+/* Define to 1 if mkostemp is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MKOSTEMP -+ -+/* Define to 1 if mkostemps is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MKOSTEMPS -+ -+/* Define to 1 if mkstemp is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MKSTEMP -+ -+/* Define to 1 if mkstemps is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_MKSTEMPS -+ -+/* Define to 1 if pipe2 is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_PIPE2 -+ -+/* Define to 1 if popen is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_POPEN -+ -+/* Define to 1 if pread is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_PREAD -+ -+/* Define to 1 if ptsname is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_PTSNAME -+ -+/* Define to 1 if pwrite is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_PWRITE -+ -+/* Define to 1 if random_r is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_RANDOM_R -+ -+/* Define to 1 if rawmemchr is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_RAWMEMCHR -+ -+/* Define to 1 if readlink is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_READLINK -+ -+/* Define to 1 if readlinkat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_READLINKAT -+ -+/* Define to 1 if realpath is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_REALPATH -+ -+/* Define to 1 if renameat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_RENAMEAT -+ -+/* Define to 1 if rmdir is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_RMDIR -+ -+/* Define to 1 if rpmatch is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_RPMATCH -+ -+/* Define to 1 if setenv is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SETENV -+ -+/* Define to 1 if setstate_r is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SETSTATE_R -+ -+/* Define to 1 if setusershell is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SETUSERSHELL -+ -+/* Define to 1 if sigaction is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SIGACTION -+ -+/* Define to 1 if sigaddset is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SIGADDSET -+ -+/* Define to 1 if sigdelset is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SIGDELSET -+ -+/* Define to 1 if sigemptyset is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SIGEMPTYSET -+ -+/* Define to 1 if sigfillset is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SIGFILLSET -+ -+/* Define to 1 if sigismember is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SIGISMEMBER -+ -+/* Define to 1 if sigpending is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SIGPENDING -+ -+/* Define to 1 if sigprocmask is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SIGPROCMASK -+ -+/* Define to 1 if sleep is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SLEEP -+ -+/* Define to 1 if snprintf is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SNPRINTF -+ -+/* Define to 1 if srandom_r is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SRANDOM_R -+ -+/* Define to 1 if stat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STAT -+ -+/* Define to 1 if stpcpy is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STPCPY -+ -+/* Define to 1 if stpncpy is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STPNCPY -+ -+/* Define to 1 if strcasestr is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRCASESTR -+ -+/* Define to 1 if strchrnul is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRCHRNUL -+ -+/* Define to 1 if strdup is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRDUP -+ -+/* Define to 1 if strncat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRNCAT -+ -+/* Define to 1 if strndup is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRNDUP -+ -+/* Define to 1 if strnlen is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRNLEN -+ -+/* Define to 1 if strpbrk is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRPBRK -+ -+/* Define to 1 if strsep is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRSEP -+ -+/* Define to 1 if strsignal is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRSIGNAL -+ -+/* Define to 1 if strtod is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRTOD -+ -+/* Define to 1 if strtok_r is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRTOK_R -+ -+/* Define to 1 if strtoll is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRTOLL -+ -+/* Define to 1 if strtoull is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRTOULL -+ -+/* Define to 1 if strverscmp is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_STRVERSCMP -+ -+/* Define to 1 if symlink is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SYMLINK -+ -+/* Define to 1 if symlinkat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_SYMLINKAT -+ -+/* Define to 1 if tmpfile is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_TMPFILE -+ -+/* Define to 1 if ttyname_r is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_TTYNAME_R -+ -+/* Define to 1 if unlink is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_UNLINK -+ -+/* Define to 1 if unlinkat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_UNLINKAT -+ -+/* Define to 1 if unlockpt is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_UNLOCKPT -+ -+/* Define to 1 if unsetenv is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_UNSETENV -+ -+/* Define to 1 if usleep is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_USLEEP -+ -+/* Define to 1 if utimensat is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_UTIMENSAT -+ -+/* Define to 1 if vdprintf is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_VDPRINTF -+ -+/* Define to 1 if vsnprintf is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_VSNPRINTF -+ -+/* Define to 1 if wcrtomb is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_WCRTOMB -+ -+/* Define to 1 if wcsnrtombs is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_WCSNRTOMBS -+ -+/* Define to 1 if wcsrtombs is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_WCSRTOMBS -+ -+/* Define to 1 if wctob is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_WCTOB -+ -+/* Define to 1 if wcwidth is declared even after undefining macros. */ -+#cmakedefine HAVE_RAW_DECL_WCWIDTH -+ -+/* Define to 1 if you have the `readlink' function. */ -+#cmakedefine HAVE_READLINK 1 -+ -+/* Define to 1 if you have the `realpath' function. */ -+#cmakedefine HAVE_REALPATH 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SEARCH_H 1 -+ -+/* Define to 1 if you have the `setenv' function. */ -+#cmakedefine HAVE_SETENV 1 -+ -+/* Define to 1 if you have the `setlocale' function. */ -+#cmakedefine HAVE_SETLOCALE 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SIGNAL_H 1 -+ -+/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ -+#cmakedefine HAVE_SIGNED_SIG_ATOMIC_T 1 -+ -+/* Define to 1 if 'wchar_t' is a signed integer type. */ -+#cmakedefine HAVE_SIGNED_WCHAR_T 1 -+ -+/* Define to 1 if 'wint_t' is a signed integer type. */ -+#cmakedefine HAVE_SIGNED_WINT_T 1 -+ -+/* Define to 1 if the system has the type `sigset_t'. */ -+#cmakedefine HAVE_SIGSET_T 1 -+ -+/* Define to 1 if you have the `snprintf' function. */ -+#cmakedefine HAVE_SNPRINTF 1 -+ -+/* Define to 1 if stdbool.h conforms to C99. */ -+#cmakedefine HAVE_STDBOOL_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDDEF_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDINT_H 1 -+ -+/* Define if exists, doesn't clash with , and declares -+ uintmax_t. */ -+#cmakedefine HAVE_STDINT_H_WITH_UINTMAX 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDIO_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDLIB_H 1 -+ -+/* Define to 1 if you have the `stpcpy' function. */ -+#cmakedefine HAVE_STPCPY 1 -+ -+/* Define to 1 if you have the `strcasecmp' function. */ -+#cmakedefine HAVE_STRCASECMP 1 -+ -+/* Define to 1 if you have the `strdup' function. */ -+#cmakedefine HAVE_STRDUP 1 -+ -+/* Define to 1 if you have the `strerror_r' function. */ -+#cmakedefine HAVE_STRERROR_R 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STRINGS_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STRING_H 1 -+ -+/* Define to 1 if you have the `strnlen' function. */ -+#cmakedefine HAVE_STRNLEN 1 -+ -+/* Define to 1 if you have the `strtol' function. */ -+#cmakedefine HAVE_STRTOL 1 -+ -+/* Define to 1 if you have the `strtoul' function. */ -+#cmakedefine HAVE_STRTOUL 1 -+ -+/* Define to 1 if the system has the type `struct random_data'. */ -+#cmakedefine HAVE_STRUCT_RANDOM_DATA 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_BITYPES_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_INTTYPES_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_MMAN_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_PARAM_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_SOCKET_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_STAT_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TIME_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TYPES_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_TIME_H 1 -+ -+/* Define to 1 if you have the `tsearch' function. */ -+#cmakedefine HAVE_TSEARCH 1 -+ -+/* Define if you have the 'uintmax_t' type in or . */ -+#cmakedefine HAVE_UINTMAX_T 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_UNISTD_H 1 -+ -+/* Define to 1 if the system has the type `unsigned long long int'. */ -+#cmakedefine HAVE_UNSIGNED_LONG_LONG_INT 1 -+ -+/* Define to 1 if you have the `uselocale' function. */ -+#cmakedefine HAVE_USELOCALE 1 -+ -+/* Define to 1 or 0, depending whether the compiler supports simple visibility -+ declarations. */ -+#cmakedefine HAVE_VISIBILITY 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_WCHAR_H 1 -+ -+/* Define if you have the 'wchar_t' type. */ -+#cmakedefine HAVE_WCHAR_T -+ -+/* Define to 1 if you have the `wcrtomb' function. */ -+#cmakedefine HAVE_WCRTOMB 1 -+ -+/* Define to 1 if you have the `wcslen' function. */ -+#cmakedefine HAVE_WCSLEN 1 -+ -+/* Define to 1 if you have the `wcsnlen' function. */ -+#cmakedefine HAVE_WCSNLEN 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_WCTYPE_H 1 -+ -+/* Define to 1 if you have the `wcwidth' function. */ -+#cmakedefine HAVE_WCWIDTH 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_WINSOCK2_H 1 -+ -+/* Define if you have the 'wint_t' type. */ -+#cmakedefine HAVE_WINT_T -+ -+/* Define to 1 if O_NOATIME works. */ -+#cmakedefine HAVE_WORKING_O_NOATIME 1 -+ -+/* Define to 1 if O_NOFOLLOW works. */ -+#cmakedefine HAVE_WORKING_O_NOFOLLOW 1 -+ -+/* Define to 1 if the system has the type `_Bool'. */ -+#cmakedefine HAVE__BOOL 1 -+ -+/* Define to 1 if you have the `_NSGetExecutablePath' function. */ -+#cmakedefine HAVE__NSGETEXECUTABLEPATH 1 -+ -+/* Define to 1 if you have the `__fsetlocking' function. */ -+#cmakedefine HAVE___FSETLOCKING 1 -+ -+/* Define as const if the declaration of iconv() needs const. */ -+#cmakedefine HAVE_ICONV_CONST @HAVE_ICONV_CONST@ -+ -+/* Define to a symbolic name denoting the flavor of iconv_open() -+ implementation. */ -+#cmakedefine ICONV_FLAVOR -+ -+/* Define to the value of ${prefix}, as a string. */ -+#cmakedefine INSTALLPREFIX -+ -+/* Define if integer division by zero raises signal SIGFPE. */ -+#cmakedefine INTDIV0_RAISES_SIGFPE 1 -+ -+#if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR -+# define ISSLASH(C) ((C) == '/' || (C) == '\\') -+#else -+# define ISSLASH(C) ((C) == '/') -+#endif -+ -+/* Define to 1 if `lstat' dereferences a symlink specified with a trailing -+ slash. */ -+#cmakedefine LSTAT_FOLLOWS_SLASHED_SYMLINK 1 -+ -+/* Define to the sub-directory in which libtool stores uninstalled libraries. -+ */ -+#cmakedefine LT_OBJDIR -+ -+/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ -+#cmakedefine MALLOC_0_IS_NONNULL 1 -+ -+/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ -+#cmakedefine MAP_ANONYMOUS -+ -+/* Define if the mbrtowc function has the NULL string argument bug. */ -+#cmakedefine MBRTOWC_NULL_ARG_BUG -+ -+/* Define if the mbrtowc function does not return 0 for a NUL character. */ -+#cmakedefine MBRTOWC_NUL_RETVAL_BUG -+ -+/* Define if the mbrtowc function returns a wrong return value. */ -+#cmakedefine MBRTOWC_RETVAL_BUG -+ -+/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -+#cmakedefine NO_MINUS_C_MINUS_O -+ -+/* Name of package */ -+#cmakedefine PACKAGE -+ -+/* Define to the address where bug reports for this package should be sent. */ -+#cmakedefine PACKAGE_BUGREPORT -+ -+/* Define to the full name of this package. */ -+#cmakedefine PACKAGE_NAME -+ -+/* Define to the full name and version of this package. */ -+#cmakedefine PACKAGE_STRING -+ -+/* Define to the one symbol short name of this package. */ -+#cmakedefine PACKAGE_TARNAME -+ -+/* Define to the home page for this package. */ -+#cmakedefine PACKAGE_URL -+ -+/* Define to the version of this package. */ -+#cmakedefine PACKAGE_VERSION -+ -+/* Define if exists and defines unusable PRI* macros. */ -+#cmakedefine PRI_MACROS_BROKEN -+ -+/* Define if the pthread_in_use() detection is hard. */ -+#cmakedefine PTHREAD_IN_USE_DETECTION_HARD -+ -+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type -+ 'ptrdiff_t'. */ -+#cmakedefine PTRDIFF_T_SUFFIX -+ -+/* Define to 1 if readlink fails to recognize a trailing slash. */ -+#cmakedefine READLINK_TRAILING_SLASH_BUG 1 -+ -+/* Define to 1 if stat needs help when passed a directory name with a trailing -+ slash */ -+#cmakedefine REPLACE_FUNC_STAT_DIR 1 -+ -+/* Define to 1 if stat needs help when passed a file name with a trailing -+ slash */ -+#cmakedefine REPLACE_FUNC_STAT_FILE 1 -+ -+/* Define this to 1 if strerror is broken. */ -+#cmakedefine REPLACE_STRERROR 1 -+ -+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type -+ 'sig_atomic_t'. */ -+#cmakedefine SIG_ATOMIC_T_SUFFIX -+ -+/* Define as the maximum value of type 'size_t', if the system doesn't define -+ it. */ -+#ifndef SIZE_MAX -+# undef SIZE_MAX -+#endif -+ -+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type -+ 'size_t'. */ -+#cmakedefine SIZE_T_SUFFIX -+ -+/* If using the C implementation of alloca, define if you know the -+ direction of stack growth for your system; otherwise it will be -+ automatically deduced at runtime. -+ STACK_DIRECTION > 0 => grows toward higher addresses -+ STACK_DIRECTION < 0 => grows toward lower addresses -+ STACK_DIRECTION = 0 => direction of growth unknown */ -+#cmakedefine STACK_DIRECTION -+ -+/* Define to 1 if the `S_IS*' macros in do not work properly. */ -+#cmakedefine STAT_MACROS_BROKEN -+ -+/* Define to 1 if you have the ANSI C header files. */ -+#cmakedefine STDC_HEADERS -+ -+/* Define to 1 if strerror_r returns char *. */ -+#cmakedefine STRERROR_R_CHAR_P -+ -+/* Define if the POSIX multithreading library can be used. */ -+#cmakedefine USE_POSIX_THREADS -+ -+/* Define if references to the POSIX multithreading library should be made -+ weak. */ -+#cmakedefine USE_POSIX_THREADS_WEAK -+ -+/* Define if the GNU Pth multithreading library can be used. */ -+#cmakedefine USE_PTH_THREADS -+ -+/* Define if references to the GNU Pth multithreading library should be made -+ weak. */ -+#cmakedefine USE_PTH_THREADS_WEAK -+ -+/* Define if the old Solaris multithreading library can be used. */ -+#cmakedefine USE_SOLARIS_THREADS -+ -+/* Define if references to the old Solaris multithreading library should be -+ made weak. */ -+#cmakedefine USE_SOLARIS_THREADS_WEAK -+ -+/* Define to 1 if you want getc etc. to use unlocked I/O if available. -+ Unlocked I/O can improve performance in unithreaded apps, but it is not -+ safe for multithreaded apps. */ -+#cmakedefine USE_UNLOCKED_IO -+ -+/* Define if the Win32 multithreading API can be used. */ -+#cmakedefine USE_WIN32_THREADS -+ -+/* Version number of package */ -+#cmakedefine VERSION -+ -+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type -+ 'wchar_t'. */ -+#cmakedefine WCHAR_T_SUFFIX -+ -+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type -+ 'wint_t'. */ -+#cmakedefine WINT_T_SUFFIX -+ -+/* Define to 1 if on MINIX. */ -+#cmakedefine _MINIX -+ -+/* Define to 2 if the system does not provide POSIX.1 features except with -+ this defined. */ -+#cmakedefine _POSIX_1_SOURCE -+ -+/* Define to 1 if you need to in order for `stat' and other things to work. */ -+#cmakedefine _POSIX_SOURCE -+ -+/* Define to 500 only on HP-UX. */ -+#cmakedefine _XOPEN_SOURCE -+ -+/* Enable extensions on AIX 3, Interix. */ -+#ifndef _ALL_SOURCE -+# undef _ALL_SOURCE -+#endif -+/* Enable GNU extensions on systems that have them. */ -+#ifndef _GNU_SOURCE -+# undef _GNU_SOURCE -+#endif -+/* Enable threading extensions on Solaris. */ -+#ifndef _POSIX_PTHREAD_SEMANTICS -+# undef _POSIX_PTHREAD_SEMANTICS -+#endif -+/* Enable extensions on HP NonStop. */ -+#ifndef _TANDEM_SOURCE -+# undef _TANDEM_SOURCE -+#endif -+/* Enable general extensions on Solaris. */ -+#ifndef __EXTENSIONS__ -+# undef __EXTENSIONS__ -+#endif -+ -+ -+/* Define to rpl_ if the getopt replacement functions and variables should be -+ used. */ -+#cmakedefine __GETOPT_PREFIX -+ -+/* Define to `int' if doesn't define. */ -+#cmakedefine gid_t -+ -+/* Define to `__inline__' or `__inline' if that's what the C compiler -+ calls it, or to nothing if 'inline' is not supported under any name. */ -+#ifndef __cplusplus -+#cmakedefine inline -+#endif -+ -+/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports -+ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of -+ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. -+ __APPLE__ && __MACH__ test for MacOS X. -+ __APPLE_CC__ tests for the Apple compiler and its version. -+ __STDC_VERSION__ tests for the C99 mode. */ -+#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -+# define __GNUC_STDC_INLINE__ 1 -+#endif -+ -+/* Define to a type if does not define. */ -+#cmakedefine mbstate_t -+ -+/* Define to the type of st_nlink in struct stat, or a supertype. */ -+#cmakedefine nlink_t -+ -+/* Define as the type of the result of subtracting two pointers, if the system -+ doesn't define it. */ -+#cmakedefine ptrdiff_t -+ -+/* Define to the equivalent of the C99 'restrict' keyword, or to -+ nothing if this is not supported. Do not define if restrict is -+ supported directly. */ -+#cmakedefine restrict -+/* Work around a bug in Sun C++: it does not support _Restrict or -+ __restrict__, even though the corresponding Sun C compiler ends up with -+ "#define restrict _Restrict" or "#define restrict __restrict__" in the -+ previous line. Perhaps some future version of Sun C++ will work with -+ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ -+#if defined __SUNPRO_CC && !defined __RESTRICT -+# define _Restrict -+# define __restrict__ -+#endif -+ -+/* Define to `unsigned int' if does not define. */ -+#cmakedefine size_t -+ -+/* Define as a signed type of the same size as size_t. */ -+#cmakedefine ssize_t -+ -+/* Define to `int' if doesn't define. */ -+#cmakedefine uid_t -+ -+/* Define to unsigned long or unsigned long long if and -+ don't define. */ -+#cmakedefine uintmax_t @uintmax_t@ -+#cmakedefine intmax_t @intmax_t@ -+ -+/* Define as a marker that can be attached to declarations that might not -+ be used. This helps to reduce warnings, such as from -+ GCC -Wunused-parameter. */ -+#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -+# define _GL_UNUSED __attribute__ ((__unused__)) -+#else -+# define _GL_UNUSED -+#endif -+/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name -+ is a misnomer outside of parameter lists. */ -+#define _UNUSED_PARAMETER_ _GL_UNUSED -+ -+ -+ -+#define __libc_lock_t gl_lock_t -+#define __libc_lock_define gl_lock_define -+#define __libc_lock_define_initialized gl_lock_define_initialized -+#define __libc_lock_init gl_lock_init -+#define __libc_lock_lock gl_lock_lock -+#define __libc_lock_unlock gl_lock_unlock -+#define __libc_lock_recursive_t gl_recursive_lock_t -+#define __libc_lock_define_recursive gl_recursive_lock_define -+#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized -+#define __libc_lock_init_recursive gl_recursive_lock_init -+#define __libc_lock_lock_recursive gl_recursive_lock_lock -+#define __libc_lock_unlock_recursive gl_recursive_lock_unlock -+#define glthread_in_use libintl_thread_in_use -+#define glthread_lock_init_func libintl_lock_init_func -+#define glthread_lock_lock_func libintl_lock_lock_func -+#define glthread_lock_unlock_func libintl_lock_unlock_func -+#define glthread_lock_destroy_func libintl_lock_destroy_func -+#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded -+#define glthread_rwlock_init_func libintl_rwlock_init_func -+#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded -+#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func -+#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded -+#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func -+#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded -+#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func -+#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded -+#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func -+#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded -+#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func -+#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded -+#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func -+#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded -+#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func -+#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded -+#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func -+#define glthread_once_func libintl_once_func -+#define glthread_once_singlethreaded libintl_once_singlethreaded -+#define glthread_once_multithreaded libintl_once_multithreaded -+ -+/* On Windows, variables that may be in a DLL must be marked specially. */ -+#if (defined _MSC_VER && defined _DLL) && !defined IN_RELOCWRAPPER -+# define DLL_VARIABLE __declspec (dllimport) -+#else -+# define DLL_VARIABLE -+#endif -+ -+/* Extra OS/2 (emx+gcc) defines. */ -+#ifdef __EMX__ -+# include "intl/os2compat.h" -+#endif -+ -+#ifdef _MSC_VER -+#define inline __inline -+#endif -+ -+#ifdef HAVE_ICONV_CONST -+#define ICONV_CONST const -+#else -+#define ICONV_CONST -+#endif -\ Kein Zeilenumbruch am Dateiende. -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/ConfigureChecks.cmake gettext-0.18/gettext-runtime/ConfigureChecks.cmake ---- gettext-0.18.orig/gettext-runtime/ConfigureChecks.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ gettext-0.18/gettext-runtime/ConfigureChecks.cmake 2013-03-19 09:27:52.972640000 +0100 -@@ -0,0 +1,161 @@ -+include(CheckFunctionExists) -+include(CheckIncludeFile) -+include(CheckTypeSize) -+ -+check_include_file("argz.h" HAVE_ARGZ_H) -+CHECK_INCLUDE_FILE("alloca.h" HAVE_ALLOCA_H) -+CHECK_INCLUDE_FILE("bp-sym.h" HAVE_BP_SYM_H) -+CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H) -+CHECK_INCLUDE_FILE("direct.h" HAVE_DIRECT_H) -+CHECK_INCLUDE_FILE("errno.h" HAVE_ERRNO_H) -+CHECK_INCLUDE_FILE("getopt.h" HAVE_GETOPT_H) -+CHECK_INCLUDE_FILE("iconv.h" HAVE_ICONV_H) -+CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H) -+CHECK_INCLUDE_FILE("limits.h" HAVE_LIMITS_H) -+CHECK_INCLUDE_FILE("mach-o/dyld.h" HAVE_MACH_O_DYLD_H) -+CHECK_INCLUDE_FILE("memory.h" HAVE_MEMORY_H) -+CHECK_INCLUDE_FILE("random.h" HAVE_RANDOM_H) -+CHECK_INCLUDE_FILE("search.h" HAVE_SEARCH_H) -+CHECK_INCLUDE_FILE("signal.h" HAVE_SIGNAL_H) -+CHECK_INCLUDE_FILE("stddef.h" HAVE_STDDEF_H) -+CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H) -+CHECK_INCLUDE_FILE("stdio.h" HAVE_STDIO_H) -+CHECK_INCLUDE_FILE("stdlib.h" HAVE_STDLIB_H) -+CHECK_INCLUDE_FILE("strings.h" HAVE_STRINGS_H) -+CHECK_INCLUDE_FILE("string.h" HAVE_STRING_H) -+CHECK_INCLUDE_FILE("sys/bitypes.h" HAVE_SYS_BITYPES_H) -+CHECK_INCLUDE_FILE("sys/inttypes.h" HAVE_SYS_INTTYPES_H) -+CHECK_INCLUDE_FILE("sys/mman.h" HAVE_SYS_MMAN_H) -+CHECK_INCLUDE_FILE("sys/param.h" HAVE_SYS_PARAM_H) -+CHECK_INCLUDE_FILE("sys/socket.h" HAVE_SYS_SOCKET_H) -+CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H) -+CHECK_INCLUDE_FILE("sys/time.h" HAVE_SYS_TIME_H) -+CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H) -+CHECK_INCLUDE_FILE("time.h" HAVE_TIME_H) -+CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H) -+CHECK_INCLUDE_FILE("wchar.h" HAVE_WCHAR_H) -+CHECK_INCLUDE_FILE("wctype.h" HAVE_WCTYPE_H) -+CHECK_INCLUDE_FILE("winsock2.h" HAVE_WINSOCK2_H) -+ -+ -+CHECK_FUNCTION_EXISTS("argz_count" HAVE_ARGZ_COUNT) -+CHECK_FUNCTION_EXISTS("argz_next" HAVE_ARGZ_NEXT) -+CHECK_FUNCTION_EXISTS("argz_stringify" HAVE_ARGZ_STRINGIFY) -+CHECK_FUNCTION_EXISTS("alloca" HAVE_ALLOCA) -+if(MSVC) -+ set(HAVE_ALLOCA 1) -+endif(MSVC) -+CHECK_FUNCTION_EXISTS("asprintf" HAVE_ASPRINTF) -+CHECK_FUNCTION_EXISTS("atexit" HAVE_ATEXIT) -+CHECK_FUNCTION_EXISTS("canonicalize_file_name" HAVE_CANONICALIZE_FILE_NAME) -+CHECK_FUNCTION_EXISTS("CFLocaleCopyCurrent" HAVE_CFLOCALECOPYCURRENT) -+CHECK_FUNCTION_EXISTS("fwprintf" HAVE_FWPRINTF) -+CHECK_FUNCTION_EXISTS("getcwd" HAVE_GETCWD) -+CHECK_FUNCTION_EXISTS("_getcwd" HAVE_GETCWD2) -+CHECK_FUNCTION_EXISTS("getegid" HAVE_GETEGID) -+CHECK_FUNCTION_EXISTS("geteuid" HAVE_GETEUID) -+CHECK_FUNCTION_EXISTS("getgid" HAVE_GETGID) -+CHECK_FUNCTION_EXISTS("getopt_long_only" HAVE_GETOPT_LONG_ONLY) -+CHECK_FUNCTION_EXISTS("getpagesize" HAVE_GETPAGESIZE) -+CHECK_FUNCTION_EXISTS("gettext" HAVE_GETTEXT) -+CHECK_FUNCTION_EXISTS("getuid" HAVE_GETUID) -+CHECK_FUNCTION_EXISTS("iconv" HAVE_ICONV) -+CHECK_FUNCTION_EXISTS("iswblank" HAVE_ISWBLANK) -+CHECK_FUNCTION_EXISTS("iswcntrl" HAVE_ISWCNTRL) -+CHECK_FUNCTION_EXISTS("lstat" HAVE_LSTAT) -+CHECK_FUNCTION_EXISTS("mbrtowc" HAVE_MBRTOWC) -+CHECK_FUNCTION_EXISTS("mbsinit" HAVE_MBSINIT) -+CHECK_FUNCTION_EXISTS("mbslen" HAVE_MBSLEN) -+CHECK_FUNCTION_EXISTS("memchr" HAVE_MEMCHR) -+CHECK_FUNCTION_EXISTS("memmove" HAVE_MEMMOVE) -+CHECK_FUNCTION_EXISTS("mempcpy" HAVE_MEMPCPY) -+CHECK_FUNCTION_EXISTS("mmap" HAVE_MMAP) -+CHECK_FUNCTION_EXISTS("mprotect" HAVE_MPROTECT) -+CHECK_FUNCTION_EXISTS("munmap" HAVE_MUNMAP) -+CHECK_FUNCTION_EXISTS("newlocale" HAVE_NEWLOCALE) -+CHECK_FUNCTION_EXISTS("pathconf" HAVE_PATHCONF) -+CHECK_FUNCTION_EXISTS("putenv" HAVE_PUTENV) -+CHECK_FUNCTION_EXISTS("readlink" HAVE_READLINK) -+CHECK_FUNCTION_EXISTS("realpath" HAVE_REALPATH) -+CHECK_FUNCTION_EXISTS("setenv" HAVE_SETENV) -+CHECK_FUNCTION_EXISTS("setlocale" HAVE_SETLOCALE) -+CHECK_FUNCTION_EXISTS("snprintf" HAVE_SNPRINTF) -+CHECK_FUNCTION_EXISTS("stpcpy" HAVE_STPCPY) -+CHECK_FUNCTION_EXISTS("strcasecmp" HAVE_STRCASECMP) -+CHECK_FUNCTION_EXISTS("strdup" HAVE_STRDUP) -+CHECK_FUNCTION_EXISTS("strerror_r" HAVE_STRERROR_R) -+CHECK_FUNCTION_EXISTS("strnlen" HAVE_STRNLEN) -+CHECK_FUNCTION_EXISTS("strtol" HAVE_STRTOL) -+CHECK_FUNCTION_EXISTS("strtoul" HAVE_STRTOUL) -+CHECK_FUNCTION_EXISTS("tsearch" HAVE_TSEARCH) -+CHECK_FUNCTION_EXISTS("uselocale" HAVE_USELOCALE) -+CHECK_FUNCTION_EXISTS("wcrtomb" HAVE_WCRTOMB) -+CHECK_FUNCTION_EXISTS("wcslen" HAVE_WCSLEN) -+CHECK_FUNCTION_EXISTS("wcsnlen" HAVE_WCSNLEN) -+CHECK_FUNCTION_EXISTS("wcwidth" HAVE_WCWIDTH) -+CHECK_FUNCTION_EXISTS("_NSGetExecutablePath" HAVE__NSGETEXECUTABLEPATH) -+CHECK_FUNCTION_EXISTS("__fsetlocking" HAVE___FSETLOCKING) -+ -+CHECK_FUNCTION_EXISTS("clearerr_unlocked" HAVE_DECL_CLEARERR_UNLOCKED) -+CHECK_FUNCTION_EXISTS("feof_unlocked" HAVE_DECL_FEOF_UNLOCKED) -+CHECK_FUNCTION_EXISTS("ferror_unlocked" HAVE_DECL_FERROR_UNLOCKED) -+CHECK_FUNCTION_EXISTS("fflush_unlocked" HAVE_DECL_FFLUSH_UNLOCKED) -+CHECK_FUNCTION_EXISTS("fgets_unlocked" HAVE_DECL_FGETS_UNLOCKED) -+CHECK_FUNCTION_EXISTS("fputc_unlocked" HAVE_DECL_FPUTC_UNLOCKED) -+CHECK_FUNCTION_EXISTS("fputs_unlocked" HAVE_DECL_FPUTS_UNLOCKED) -+CHECK_FUNCTION_EXISTS("fread_unlocked" HAVE_DECL_FREAD_UNLOCKED) -+CHECK_FUNCTION_EXISTS("fwrite_unlocked" HAVE_DECL_FWRITE_UNLOCKED) -+CHECK_FUNCTION_EXISTS("getchar_unlocked" HAVE_DECL_GETCHAR_UNLOCKED) -+CHECK_FUNCTION_EXISTS("getc_unlocked" HAVE_DECL_GETC_UNLOCKED) -+CHECK_FUNCTION_EXISTS("getenv" HAVE_DECL_GETENV) -+CHECK_FUNCTION_EXISTS("getopt_clip" HAVE_DECL_GETOPT_CLIP) -+CHECK_FUNCTION_EXISTS("optreset" HAVE_DECL_OPTRESET) -+CHECK_FUNCTION_EXISTS("program_invocation_name" HAVE_DECL_PROGRAM_INVOCATION_NAME) -+CHECK_FUNCTION_EXISTS("program_invocation_short_name" HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME) -+CHECK_FUNCTION_EXISTS("putchar_unlocked" HAVE_DECL_PUTCHAR_UNLOCKED) -+CHECK_FUNCTION_EXISTS("putc_unlocked" HAVE_DECL_PUTC_UNLOCKED) -+CHECK_FUNCTION_EXISTS("strerror_r" HAVE_DECL_STRERROR_R) -+CHECK_FUNCTION_EXISTS("strnlen" HAVE_DECL_STRNLEN) -+CHECK_FUNCTION_EXISTS("wcwidth" HAVE_DECL_WCWIDTH) -+CHECK_FUNCTION_EXISTS("_snprintf" HAVE_DECL__SNPRINTF) -+CHECK_FUNCTION_EXISTS("_snwprintf" HAVE_DECL__SNWPRINTF) -+CHECK_FUNCTION_EXISTS("strerror" HAVE_DECL_STRERROR) -+ -+CHECK_TYPE_SIZE("ptrdiff_t" BITSIZEOF_PTRDIFF_T) -+CHECK_TYPE_SIZE("sig_atomic_t" BITSIZEOF_SIG_ATOMIC_T) -+CHECK_TYPE_SIZE("size_t" BITSIZEOF_SIZE_T) -+CHECK_TYPE_SIZE("wchar_t" BITSIZEOF_WCHAR_T) -+CHECK_TYPE_SIZE("wint_t" BITSIZEOF_WINT_T) -+ -+CHECK_TYPE_SIZE("intmax_t" INTMAX_T) -+ -+CHECK_TYPE_SIZE("uintmax_t" UINTMAX_T) -+if(HAVE_UINTMAX_T) -+set(HAVE_STDINT_H_WITH_UINTMAX true) -+endif(HAVE_UINTMAX_T) -+ -+if(ICONV_SECOND_ARGUMENT_IS_CONST) -+ set(HAVE_ICONV_CONST 1) -+endif(ICONV_SECOND_ARGUMENT_IS_CONST) -+ -+if(NOT HAVE_UINTMAX_T) -+ set(uintmax_t "unsigned __int64") -+endif(NOT HAVE_UINTMAX_T) -+if(NOT HAVE_INTMAX_T) -+ set(intmax_t "__int64") -+endif(NOT HAVE_INTMAX_T) -+ -+if(WINCE) -+ set(INTDIV0_RAISES_SIGFPE 1) -+endif(WINCE) -+ -+if(WIN32) -+ set(FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX 1) -+ set(FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR 1) -+else(WIN32) -+ set(FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR 0) -+endif(WIN32) -+ -+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) -+ -+add_definitions(-DHAVE_CONFIG_H -DLIBDIR) -\ Kein Zeilenumbruch am Dateiende. -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/CMakeLists.txt gettext-0.18/gettext-runtime/intl/CMakeLists.txt ---- gettext-0.18.orig/gettext-runtime/intl/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ gettext-0.18/gettext-runtime/intl/CMakeLists.txt 2013-03-19 08:59:57.015780700 +0100 -@@ -0,0 +1,70 @@ -+cmake_minimum_required(VERSION 2.6) -+set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) -+ -+project(intl) -+ -+set(HAVE_NEWLOCALE 0) -+set(HAVE_POSIX_PRINTF 0) -+set(HAVE_SNPRINTF 0) -+set(HAVE_ASPRINTF 0) -+set(HAVE_WPRINTF 0) -+ -+configure_file(libgnuintl.h.in libgnuintl.h) -+ -+include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) -+ -+set(INTL_SRCS -+ bindtextdom.c -+ dcgettext.c -+ dgettext.c -+ gettext.c -+ finddomain.c -+ hash-string.c -+ loadmsgcat.c -+ localealias.c -+ textdomain.c -+ l10nflist.c -+ explodename.c -+ dcigettext.c -+ dcngettext.c -+ dngettext.c -+ ngettext.c -+ plural-exp.c -+ localcharset.c -+ threadlib.c -+ lock.c -+ relocatable.c -+ langprefs.c -+ localename.c -+ log.c -+ printf.c -+ setlocale.c -+ version.c -+ osdep.c -+ intl-compat.c -+ libintl.rc -+ plural.c -+ intl.def -+) -+ -+add_definitions(-DLOCALE_ALIAS_PATH="") -+add_definitions(-DLOCALEDIR="") -+add_definitions(-DIN_LIBINTL) -+#add_definitions(-DBUILDING_DLL) -+#add_definitions(-DHAVE_VISIBILITY) -+ -+add_library(intl ${LIBRARY_TYPE} ${INTL_SRCS}) -+target_link_libraries(intl ${ICONV_LIBRARIES}) -+if(MSVC) -+set_target_properties(intl PROPERTIES OUTPUT_NAME "libintl") -+endif(MSVC) -+ -+if(WINCE) -+ target_link_libraries(intl ${WCECOMPAT_LIBRARIES}) -+endif(WINCE) -+ -+install(TARGETS intl RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libgnuintl.h DESTINATION include RENAME libintl.h) -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/dcigettext.c gettext-0.18/gettext-runtime/intl/dcigettext.c ---- gettext-0.18.orig/gettext-runtime/intl/dcigettext.c 2009-12-26 14:42:37.000000000 +0100 -+++ gettext-0.18/gettext-runtime/intl/dcigettext.c 2013-03-19 08:59:57.017780800 +0100 -@@ -140,8 +140,12 @@ - # define tfind __tfind - #else - # if !defined HAVE_GETCWD -+# ifndef _WIN32_WCE - char *getwd (); --# define getcwd(buf, max) getwd (buf) -+# define getcwd(buf, max) getwd (buf) -+# else -+# define getcwd _getcwd -+# endif - # else - # if VMS - # define getcwd(buf, max) (getcwd) (buf, max, 0) -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/intl.def gettext-0.18/gettext-runtime/intl/intl.def ---- gettext-0.18.orig/gettext-runtime/intl/intl.def 1970-01-01 01:00:00.000000000 +0100 -+++ gettext-0.18/gettext-runtime/intl/intl.def 2013-03-19 08:59:57.019781000 +0100 -@@ -0,0 +1,52 @@ -+LIBRARY libintl.DLL -+EXPORTS -+;_imp___ctype_ptr -+_nl_expand_alias -+_nl_explode_name -+_nl_find_domain -+_nl_find_msg -+_nl_language_preferences_default -+_nl_load_domain -+_nl_locale_name -+_nl_locale_name_default -+_nl_locale_name_environ -+_nl_locale_name_posix -+_nl_locale_name_thread_unsafe -+_nl_log_untranslated -+_nl_make_l10nflist -+_nl_msg_cat_cntr -+_nl_normalize_codeset -+bind_textdomain_codeset -+bindtextdomain -+dcgettext -+dcngettext -+dgettext -+dngettext -+gettext -+gl_locale_name_thread -+libintl_bind_textdomain_codeset -+libintl_bindtextdomain -+libintl_dcgettext -+libintl_dcigettext -+libintl_dcngettext -+libintl_dgettext -+libintl_dngettext -+libintl_gettext -+libintl_gettext_extract_plural -+libintl_gettext_free_exp -+libintl_gettext_germanic_plural -+libintl_gettextparse -+libintl_fprintf -+libintl_hash_string -+libintl_ngettext -+libintl_nl_current_default_domain -+libintl_nl_default_default_domain -+libintl_nl_default_dirname -+libintl_nl_domain_bindings -+;libintl_relocate -+;libintl_set_relocation_prefix -+libintl_setlocale -+libintl_sprintf -+libintl_textdomain -+libintl_version -+locale_charset -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/langprefs.c gettext-0.18/gettext-runtime/intl/langprefs.c ---- gettext-0.18.orig/gettext-runtime/intl/langprefs.c 2009-12-12 16:08:01.000000000 +0100 -+++ gettext-0.18/gettext-runtime/intl/langprefs.c 2013-03-19 08:59:57.020781000 +0100 -@@ -53,6 +53,8 @@ - extern const char *_nl_locale_name_from_win32_LANGID (LANGID langid); - extern const char *_nl_locale_name_from_win32_LCID (LCID lcid); - -+#ifndef _WIN32_WCE -+ - /* Get the preferences list through the MUI APIs. This works on Windows Vista - and newer. */ - static const char * -@@ -205,6 +207,8 @@ - return NULL; - } - -+ -+ - /* Get the system's preference. This can be used as a fallback. */ - static BOOL CALLBACK - ret_first_language (HMODULE h, LPCSTR type, LPCSTR name, WORD lang, LONG_PTR param) -@@ -222,7 +226,7 @@ - ret_first_language, (LONG_PTR)&languages); - return languages; - } -- -+#endif - #endif - - /* Determine the user's language preferences, as a colon separated list of -@@ -324,6 +328,7 @@ - static const char *cached_languages; - static int cache_initialized; - -+#ifndef _WIN32_WCE - /* Activate the new code only when the GETTEXT_MUI environment variable is - set, for the time being, since the new code is not well tested. */ - if (!cache_initialized && getenv ("GETTEXT_MUI") != NULL) -@@ -346,10 +351,21 @@ - cached_languages = languages; - cache_initialized = 1; - } -+#else -+ if (!cache_initialized) -+ { -+ LCID lcid; -+ -+ /* Use native Win32 API locale ID. */ -+ lcid = GetSystemDefaultLCID (); -+ -+ cached_languages = _nl_locale_name_from_win32_LCID(lcid); -+ cache_initialized = 1; -+ } -+#endif - if (cached_languages != NULL) - return cached_languages; - } - #endif -- - return NULL; - } -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/libgnuintl.h.in gettext-0.18/gettext-runtime/intl/libgnuintl.h.in ---- gettext-0.18.orig/gettext-runtime/intl/libgnuintl.h.in 2010-05-09 20:54:29.000000000 +0200 -+++ gettext-0.18/gettext-runtime/intl/libgnuintl.h.in 2013-03-19 08:59:57.023781200 +0100 -@@ -19,6 +19,10 @@ - #ifndef _LIBINTL_H - #define _LIBINTL_H 1 - -+#ifdef _MSC_VER -+#define inline __inline -+#endif -+ - #include - #if (defined __APPLE__ && defined __MACH__) && @HAVE_NEWLOCALE@ - # include -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/libintl.rc gettext-0.18/gettext-runtime/intl/libintl.rc ---- gettext-0.18.orig/gettext-runtime/intl/libintl.rc 2010-05-09 20:54:29.000000000 +0200 -+++ gettext-0.18/gettext-runtime/intl/libintl.rc 2013-03-19 08:59:57.024781200 +0100 -@@ -22,13 +22,13 @@ - VALUE "Comments", "This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\0" - VALUE "CompanyName", "Free Software Foundation\0" - VALUE "FileDescription", "LGPLed libintl for Windows NT/2000/XP/Vista/7 and Windows 95/98/ME\0" -- VALUE "FileVersion", PACKAGE_VERSION_STRING "\0" -+ VALUE "FileVersion", "0.18\0" - VALUE "InternalName", "intl.dll\0" - VALUE "LegalCopyright", "Copyright (C) 1995-2010\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "intl.dll\0" - VALUE "ProductName", "libintl: accessing NLS message catalogs\0" -- VALUE "ProductVersion", PACKAGE_VERSION_STRING "\0" -+ VALUE "ProductVersion", "0.18\0" - END - END - BLOCK "VarFileInfo" -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/loadmsgcat.c gettext-0.18/gettext-runtime/intl/loadmsgcat.c ---- gettext-0.18.orig/gettext-runtime/intl/loadmsgcat.c 2009-06-28 21:44:04.000000000 +0200 -+++ gettext-0.18/gettext-runtime/intl/loadmsgcat.c 2013-03-19 08:59:57.027781400 +0100 -@@ -33,6 +33,11 @@ - #include - #include - -+#ifdef _WIN32_WCE -+# include -+#define open(a,b) _open(a,b,0) -+#endif -+ - #ifdef __GNUC__ - # undef alloca - # define alloca __builtin_alloca -@@ -40,7 +45,9 @@ - #else - # ifdef _MSC_VER - # include -+# undef alloca - # define alloca _alloca -+# define HAVE_ALLOCA - # else - # if defined HAVE_ALLOCA_H || defined _LIBC - # include -@@ -499,7 +506,6 @@ - # define O_BINARY 0 - #endif - -- - /* We need a sign, whether a new catalog was loaded, which can be associated - with all translations. This is important if the translations are - cached by one of GCC's features. */ -@@ -782,7 +788,7 @@ - { - __libc_lock_define_initialized_recursive (static, lock) - int fd = -1; -- size_t size; -+ size_t _size; - #ifdef _LIBC - struct stat64 st; - #else -@@ -836,15 +842,15 @@ - #else - __builtin_expect (fstat (fd, &st) != 0, 0) - #endif -- || __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0) -- || __builtin_expect (size < sizeof (struct mo_file_header), 0)) -+ || __builtin_expect ((_size = (size_t) st.st_size) != st.st_size, 0) -+ || __builtin_expect (_size < sizeof (struct mo_file_header), 0)) - /* Something went wrong. */ - goto out; - - #ifdef HAVE_MMAP - /* Now we are ready to load the file. If mmap() is available we try - this first. If not available or it failed we try to load it. */ -- data = (struct mo_file_header *) mmap (NULL, size, PROT_READ, -+ data = (struct mo_file_header *) mmap (NULL, _size, PROT_READ, - MAP_PRIVATE, fd, 0); - - if (__builtin_expect (data != (struct mo_file_header *) -1, 1)) -@@ -863,11 +869,11 @@ - size_t to_read; - char *read_ptr; - -- data = (struct mo_file_header *) malloc (size); -+ data = (struct mo_file_header *) malloc (_size); - if (data == NULL) - goto out; - -- to_read = size; -+ to_read = _size; - read_ptr = (char *) data; - do - { -@@ -897,7 +903,7 @@ - /* The magic number is wrong: not a message catalog file. */ - #ifdef HAVE_MMAP - if (use_mmap) -- munmap ((caddr_t) data, size); -+ munmap ((caddr_t) data, _size); - else - #endif - free (data); -@@ -911,7 +917,7 @@ - - domain->data = (char *) data; - domain->use_mmap = use_mmap; -- domain->mmap_size = size; -+ domain->mmap_size = _size; - domain->must_swap = data->magic != _MAGIC; - domain->malloced = NULL; - -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/localename.c gettext-0.18/gettext-runtime/intl/localename.c ---- gettext-0.18.orig/gettext-runtime/intl/localename.c 2010-05-09 04:27:13.000000000 +0200 -+++ gettext-0.18/gettext-runtime/intl/localename.c 2013-03-19 08:59:57.030781600 +0100 -@@ -1128,6 +1128,10 @@ - # endif - #endif - -+#ifdef _WIN32_WCE -+#define GetThreadLocale GetUserDefaultLCID -+#endif -+ - - #if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE - /* MacOS X 10.2 or newer */ -@@ -1448,6 +1452,7 @@ - const char * - gl_locale_name_from_win32_LANGID (LANGID langid) - { -+#ifndef _WIN32_WCE - /* Activate the new code only when the GETTEXT_MUI environment variable is - set, for the time being, since the new code is not well tested. */ - if (getenv ("GETTEXT_MUI") != NULL) -@@ -1465,6 +1470,7 @@ - return namebuf; - } - } -+#endif - /* Internet Explorer has an LCID to RFC3066 name mapping stored in - HKEY_CLASSES_ROOT\Mime\Database\Rfc1766. But we better don't use that - since IE's i18n subsystem is known to be inconsistent with the Win32 base -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/os2compat.c gettext-0.18/gettext-runtime/intl/os2compat.c ---- gettext-0.18.orig/gettext-runtime/intl/os2compat.c 2009-06-28 21:44:04.000000000 +0200 -+++ gettext-0.18/gettext-runtime/intl/os2compat.c 2013-03-19 08:59:57.032781700 +0100 -@@ -23,7 +23,9 @@ - - #include - #include -+#ifdef HAVE_SYS_PARAM_H - #include -+#endif - - /* A version of getenv() that works from DLLs */ - extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue); -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/printf-parse.c gettext-0.18/gettext-runtime/intl/printf-parse.c ---- gettext-0.18.orig/gettext-runtime/intl/printf-parse.c 2009-12-12 16:08:01.000000000 +0100 -+++ gettext-0.18/gettext-runtime/intl/printf-parse.c 2013-03-19 08:59:57.034781800 +0100 -@@ -75,6 +75,11 @@ - # include "c-ctype.h" - #endif - -+#if defined(_WIN32_WCE) && !defined(_PTRDIFF_T_DEFINED) -+ typedef int ptrdiff_t; -+# define _PTRDIFF_T_DEFINED -+#endif -+ - #ifdef STATIC - STATIC - #endif -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/setlocale.c gettext-0.18/gettext-runtime/intl/setlocale.c ---- gettext-0.18.orig/gettext-runtime/intl/setlocale.c 2009-12-26 04:15:07.000000000 +0100 -+++ gettext-0.18/gettext-runtime/intl/setlocale.c 2013-03-19 08:59:57.037782000 +0100 -@@ -16,6 +16,7 @@ - License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. */ -+ - - #ifdef HAVE_CONFIG_H - # include -@@ -46,6 +47,9 @@ - - #if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ - -+/* FIXME: In Windwos CE the function setlocale is not defined */ -+# ifndef _WIN32_WCE -+ - # undef setlocale - # undef newlocale - -@@ -816,10 +820,14 @@ - # define setlocale_single setlocale_unixlike - # endif - -+# endif -+ - DLL_EXPORTED - char * - libintl_setlocale (int category, const char *locale) - { -+/* FIXME: In Windwos CE we dont need setlocale */ -+#ifndef _WIN32_WCE - if (locale != NULL && locale[0] == '\0') - { - /* A request to the set the current locale to the default locale. */ -@@ -899,6 +907,8 @@ - } - else - return setlocale_single (category, locale); -+#endif -+ return NULL; - } - - # if HAVE_NEWLOCALE -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/vasnprintf.c gettext-0.18/gettext-runtime/intl/vasnprintf.c ---- gettext-0.18.orig/gettext-runtime/intl/vasnprintf.c 2010-05-09 12:54:20.000000000 +0200 -+++ gettext-0.18/gettext-runtime/intl/vasnprintf.c 2013-03-19 08:59:57.042782300 +0100 -@@ -86,6 +86,10 @@ - # endif - #endif - -+#ifdef _WIN32_WCE -+#include -+#endif -+ - /* Checked size_t computations. */ - #include "xsize.h" - -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/intl/xsize.h gettext-0.18/gettext-runtime/intl/xsize.h ---- gettext-0.18.orig/gettext-runtime/intl/xsize.h 2009-06-28 21:44:04.000000000 +0200 -+++ gettext-0.18/gettext-runtime/intl/xsize.h 2013-03-19 08:59:57.044782400 +0100 -@@ -25,6 +25,9 @@ - - /* Get SIZE_MAX. */ - #include -+#ifdef _WIN32_WCE -+#define SIZE_MAX _UI32_MAX -+#endif - #if HAVE_STDINT_H - # include - #endif -diff -Nru -x '*~' gettext-0.18.orig/gettext-runtime/src/CMakeLists.txt gettext-0.18/gettext-runtime/src/CMakeLists.txt ---- gettext-0.18.orig/gettext-runtime/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ gettext-0.18/gettext-runtime/src/CMakeLists.txt 2013-03-19 08:59:57.046782500 +0100 -@@ -0,0 +1,22 @@ -+cmake_minimum_required(VERSION 2.6) -+set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) -+ -+project(tools) -+ -+set(GETTEXT_SRCS -+ gettext.c -+) -+ -+set(NGETTEXT_SRCS -+ ngettext.c -+) -+ -+set(ENVSUBST_SRCS -+ envsubst.c -+) -+ -+add_executable(gettext ${GETTEXT_SRCS}) -+ -+add_executable(ngettext ${NGETTEXT_SRCS}) -+ -+add_executable(envsubst ${ENVSUBST_SRCS}) diff -Nru krita-3.1.4/3rdparty/ext_gsl/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_gsl/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_gsl/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_gsl/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ -# -# From https://github.com/ampl/gsl. which adds CMake support to gsl -# -SET(EXTPREFIX_gsl "${EXTPREFIX}" ) -if (MSVC OR MINGW) -ExternalProject_Add( - ext_gsl - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - GIT_REPOSITORY https://github.com/ampl/gsl.git - GIT_TAG 709cc572279e4a56b0e218b834f202c1b3f757af - INSTALL_DIR ${EXTPREFIX_gsl} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_gsl} -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - UPDATE_COMMAND "" - ALWAYS 0 -) -else() -ExternalProject_Add( ext_gsl - - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/gsl-2.1.tar.gz - URL_MD5 625f4105fcf653822a96294c1b801ad4 - - INSTALL_DIR ${EXTPREFIX_gsl} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_gsl} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DGSL_SHARED=ON - UPDATE_COMMAND "" - ALWAYS 0 -) -endif() diff -Nru krita-3.1.4/3rdparty/ext_iconv/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_iconv/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_iconv/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_iconv/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -SET(PREFIX_ext_iconv "${EXTPREFIX}" ) -if (MSVC OR MINGW) -ExternalProject_Add( ext_iconv - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/win-iconv-0.0.6.tar.bz2 - URL_MD5 1e97ed4d9e7379ff0ee22077256e8c58 - - INSTALL_DIR ${PREFIX_ext_iconv} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_iconv} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 -) -else () -ExternalProject_Add( ext_iconv - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/libiconv-1.14.tar.gz - URL_MD5 e34509b1623cec449dfeb73d7ce9c6c6 - - INSTALL_DIR ${PREFIX_ext_iconv} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/iconv.diff - CONFIGURE_COMMAND ./configure --prefix=${PREFIX_ext_iconv} ${GLOBAL_AUTOMAKE_PROFILE} - BUILD_COMMAND make - INSTALL_COMMAND make install - - UPDATE_COMMAND "" - BUILD_IN_SOURCE 1 - ALWAYS 0 -) - -endif () diff -Nru krita-3.1.4/3rdparty/ext_iconv/iconv.diff krita-3.1.4+dfsg/3rdparty/ext_iconv/iconv.diff --- krita-3.1.4/3rdparty/ext_iconv/iconv.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_iconv/iconv.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -diff --git a/srclib/stdio.in.h b/srclib/stdio.in.h -index 473c84c..2990bef 100644 ---- a/srclib/stdio.in.h -+++ b/srclib/stdio.in.h -@@ -695,7 +695,7 @@ _GL_CXXALIASWARN (gets); - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -+//_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif - - diff -Nru krita-3.1.4/3rdparty/ext_iconv/iconv-src-1.13.1.patch krita-3.1.4+dfsg/3rdparty/ext_iconv/iconv-src-1.13.1.patch --- krita-3.1.4/3rdparty/ext_iconv/iconv-src-1.13.1.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_iconv/iconv-src-1.13.1.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ ---- windows/libiconv.rc.orig Sun May 27 18:38:24 2007 -+++ windows/libiconv.rc Wed Feb 4 19:50:47 2009 -@@ -3,8 +3,8 @@ - #include - - VS_VERSION_INFO VERSIONINFO -- FILEVERSION PACKAGE_VERSION_MAJOR,PACKAGE_VERSION_MINOR,PACKAGE_VERSION_SUBMINOR,0 -- PRODUCTVERSION PACKAGE_VERSION_MAJOR,PACKAGE_VERSION_MINOR,PACKAGE_VERSION_SUBMINOR,0 -+ FILEVERSION 1,13,1,0 -+ PRODUCTVERSION 1,13,1,0 - FILEFLAGSMASK 0x3fL /* VS_FFI_FILEFLAGSMASK */ - #ifdef _DEBUG - FILEFLAGS 0x1L /* VS_FF_DEBUG */ -@@ -22,13 +22,13 @@ - VALUE "Comments", "This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\0" - VALUE "CompanyName", "Free Software Foundation\0" - VALUE "FileDescription", "LGPLed libiconv for Windows NT/2000/XP/Vista and Windows 95/98/ME\0" -- VALUE "FileVersion", PACKAGE_VERSION_STRING "\0" -+ VALUE "FileVersion", "1.13.1" "\0" - VALUE "InternalName", "iconv.dll\0" - VALUE "LegalCopyright", "Copyright (C) 1999-2007\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "iconv.dll\0" - VALUE "ProductName", "libiconv: character set conversion library\0" -- VALUE "ProductVersion", PACKAGE_VERSION_STRING "\0" -+ VALUE "ProductVersion", "1.13.1" "\0" - END - END - BLOCK "VarFileInfo" ---- windows/iconv.rc.orig Sun Oct 7 18:25:21 2007 -+++ windows/iconv.rc Wed Feb 4 19:50:50 2009 -@@ -3,8 +3,8 @@ - #include - - VS_VERSION_INFO VERSIONINFO -- FILEVERSION PACKAGE_VERSION_MAJOR,PACKAGE_VERSION_MINOR,PACKAGE_VERSION_SUBMINOR,0 -- PRODUCTVERSION PACKAGE_VERSION_MAJOR,PACKAGE_VERSION_MINOR,PACKAGE_VERSION_SUBMINOR,0 -+ FILEVERSION 1,13,1,0 -+ PRODUCTVERSION 1,13,1,0 - FILEFLAGSMASK 0x3fL /* VS_FFI_FILEFLAGSMASK */ - #ifdef _DEBUG - FILEFLAGS 0x1L /* VS_FF_DEBUG */ -@@ -22,13 +22,13 @@ - VALUE "Comments", "This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License. You should have received a copy of the GNU General Public License along with this program. If not, see .\0" - VALUE "CompanyName", "Free Software Foundation\0" - VALUE "FileDescription", "GPLed iconv for Windows NT/2000/XP/Vista\0" -- VALUE "FileVersion", PACKAGE_VERSION_STRING "\0" -+ VALUE "FileVersion", "1.13.1" "\0" - VALUE "InternalName", "iconv.exe\0" - VALUE "LegalCopyright", "Copyright (C) 1999-2009\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "iconv.exe\0" - VALUE "ProductName", "iconv: character set conversion program\0" -- VALUE "ProductVersion", PACKAGE_VERSION_STRING "\0" -+ VALUE "ProductVersion", "1.13.1" "\0" - END - END - BLOCK "VarFileInfo" diff -Nru krita-3.1.4/3rdparty/ext_ilmbase/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_ilmbase/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_ilmbase/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_ilmbase/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -SET(PREFIX_ext_ilmbase "${EXTPREFIX}" ) -ExternalProject_Add( ext_ilmbase - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/ilmbase-2.2.0.tar.gz - URL_MD5 b540db502c5fa42078249f43d18a4652 - - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_ilmbase} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DNAMESPACE_VERSIONING=OFF - - UPDATE_COMMAND "" - ALWAYS 0 -) - -if (MSVC) - ExternalProject_Add_Step( - ext_ilmbase - post_install - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_ilmbase}/lib/Half.dll ${PREFIX_ext_ilmbase}/bin/Half.dll - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_ilmbase}/lib/Iex.dll ${PREFIX_ext_ilmbase}/bin/Iex.dll - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_ilmbase}/lib/Imath.dll ${PREFIX_ext_ilmbase}/bin/Imath.dll - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_ilmbase}/lib/IlmThread.dll ${PREFIX_ext_ilmbase}/bin/IlmThread.dll - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_ilmbase}/lib/IexMath.dll ${PREFIX_ext_ilmbase}/bin/IexMath.dll - DEPENDEES install - ) -endif() - -if (MINGW) - ExternalProject_Add_Step( - ext_ilmbase - post_install - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_ilmbase}/lib/libHalf.dll ${PREFIX_ext_ilmbase}/bin/libHalf.dll - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_ilmbase}/lib/libIex.dll ${PREFIX_ext_ilmbase}/bin/libIex.dll - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_ilmbase}/lib/libImath.dll ${PREFIX_ext_ilmbase}/bin/libImath.dll - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_ilmbase}/lib/libIlmThread.dll ${PREFIX_ext_ilmbase}/bin/libIlmThread.dll - COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_ilmbase}/lib/libIexMath.dll ${PREFIX_ext_ilmbase}/bin/libIexMath.dll - DEPENDEES install - ) -endif() diff -Nru krita-3.1.4/3rdparty/ext_ilmbase/ilmbase.diff krita-3.1.4+dfsg/3rdparty/ext_ilmbase/ilmbase.diff --- krita-3.1.4/3rdparty/ext_ilmbase/ilmbase.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_ilmbase/ilmbase.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,270 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -new file mode 100644 -index 0000000..5f6fcd8 ---- /dev/null -+++ b/CMakeLists.txt -@@ -0,0 +1,102 @@ -+project(ilmbase) -+ -+cmake_minimum_required(VERSION 2.8) -+ -+set(ilmbase_lib_STATIC STATIC) -+ -+set(ilmbase_srcs_Imath -+ Imath/ImathShear.cpp -+ Imath/ImathColorAlgo.cpp -+ Imath/ImathMatrixAlgo.cpp -+ Imath/ImathBox.cpp -+ Imath/ImathFun.cpp -+ Imath/ImathRandom.cpp -+ Imath/ImathVec.cpp -+ ) -+file(GLOB ilmbase_header_Imath Imath/*.h) -+ -+set(ilmbase_srcs_IlmThread -+ IlmThread/IlmThreadMutex.cpp -+ IlmThread/IlmThreadMutexPosix.cpp -+ IlmThread/IlmThreadSemaphorePosixCompat.cpp -+ IlmThread/IlmThreadPosix.cpp -+ IlmThread/IlmThreadPool.cpp -+ IlmThread/IlmThreadSemaphore.cpp -+ IlmThread/IlmThreadSemaphorePosix.cpp -+ IlmThread/IlmThread.cpp -+ ) -+if(WIN32) -+ set(ilmbase_srcs_IlmThread ${ilmbase_srcs_IlmThread} -+ IlmThread/IlmThreadSemaphoreWin32.cpp -+ IlmThread/IlmThreadMutexWin32.cpp -+ IlmThread/IlmThreadWin32.cpp -+ ) -+endif(WIN32) -+file(GLOB ilmbase_header_IlmThread IlmThread/*.h) -+ -+set(ilmbase_srcs_Half -+ Half/half.cpp -+ ) -+file(GLOB ilmbase_header_Half Half/*.h) -+ -+set(ilmbase_srcs_IexMath -+ IexMath/IexMathFloatExc.cpp -+ IexMath/IexMathFpu.cpp -+ ) -+file(GLOB ilmbase_header_IexMath IexMath/*.h) -+ -+set(ilmbase_srcs_Iex -+ Iex/IexBaseExc.cpp -+ Iex/IexThrowErrnoExc.cpp -+ ) -+file(GLOB ilmbase_header_Iex Iex/*.h) -+ -+include_directories(${CMAKE_INSTALL_PREFIX}/include) -+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/Half) -+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/IexMath) -+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/Iex) -+include_directories(${CMAKE_CURRENT_BINARY_DIR}) -+ -+if(WIN32) -+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/config.windows) -+else(WIN32) -+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/config) -+endif(WIN32) -+ -+ -+set(ilmbase_header_IlmThread ${ilmbase_header_IlmThread} ${CMAKE_CURRENT_SOURCE_DIR}/config.windows/IlmBaseConfig.h) -+ -+add_executable(toFloat Half/toFloat.cpp) -+add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/toFloat.h -+ COMMAND $ > ${CMAKE_CURRENT_BINARY_DIR}/toFloat.h -+ DEPENDS toFloat -+ ) -+add_custom_target(toFloat_h DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/toFloat.h) -+ -+add_executable(eLut Half/eLut.cpp) -+add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/eLut.h -+ COMMAND $ > ${CMAKE_CURRENT_BINARY_DIR}/eLut.h -+ DEPENDS eLut -+ ) -+add_custom_target(eLut_h DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/eLut.h) -+ -+add_library(Imath ${ilmbase_lib_STATIC} ${ilmbase_srcs_Imath}) -+install(TARGETS Imath LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) -+install(FILES ${ilmbase_header_Imath} DESTINATION include) -+ -+add_library(IlmThread ${ilmbase_lib_STATIC} ${ilmbase_srcs_IlmThread}) -+install(TARGETS IlmThread LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) -+install(FILES ${ilmbase_header_IlmThread} DESTINATION include) -+ -+add_library(Half ${ilmbase_lib_STATIC} ${ilmbase_srcs_Half}) -+install(TARGETS Half LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) -+add_dependencies(Half toFloat_h eLut_h) -+install(FILES ${ilmbase_header_Half} DESTINATION include) -+ -+add_library(Iex ${ilmbase_lib_STATIC} ${ilmbase_srcs_Iex}) -+install(TARGETS Iex LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) -+install(FILES ${ilmbase_header_Iex} DESTINATION include) -+ -+add_library(IexMath ${ilmbase_lib_STATIC} ${ilmbase_srcs_IexMath}) -+install(TARGETS IexMath LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) -+install(FILES ${ilmbase_header_IexMath} DESTINATION include) -diff --git a/Half/half.h b/Half/half.h -index 5e707ef..776bb84 100644 ---- a/Half/half.h -+++ b/Half/half.h -@@ -87,17 +87,8 @@ - - #include - --#if defined(OPENEXR_DLL) -- #if defined(HALF_EXPORTS) -- #define HALF_EXPORT __declspec(dllexport) -- #else -- #define HALF_EXPORT __declspec(dllimport) -- #endif -- #define HALF_EXPORT_CONST --#else -- #define HALF_EXPORT -- #define HALF_EXPORT_CONST const --#endif -+#define HALF_EXPORT -+#define HALF_EXPORT_CONST const - - class HALF_EXPORT half - { -diff --git a/IlmThread/IlmThread.h b/IlmThread/IlmThread.h -index e5ca595..b91a8b9 100644 ---- a/IlmThread/IlmThread.h -+++ b/IlmThread/IlmThread.h -@@ -93,25 +93,13 @@ - #include "IlmBaseConfig.h" - - #if defined _WIN32 || defined _WIN64 -- #ifdef NOMINMAX -- #undef NOMINMAX -- #endif -- #define NOMINMAX - #include - #include - #elif HAVE_PTHREAD - #include - #endif - --#if defined(OPENEXR_DLL) && !defined(ZENO_STATIC) -- #ifdef ILMTHREAD_EXPORTS -- #define ILMTHREAD_EXPORT __declspec(dllexport) -- #else -- #define ILMTHREAD_EXPORT __declspec(dllimport) -- #endif --#else -- #define ILMTHREAD_EXPORT --#endif -+#define ILMTHREAD_EXPORT - - namespace IlmThread { - -diff --git a/IlmThread/IlmThreadMutex.h b/IlmThread/IlmThreadMutex.h -index 354282b..3fe39c9 100644 ---- a/IlmThread/IlmThreadMutex.h -+++ b/IlmThread/IlmThreadMutex.h -@@ -69,10 +69,6 @@ - #include "IlmBaseConfig.h" - - #if defined _WIN32 || defined _WIN64 -- #ifdef NOMINMAX -- #undef NOMINMAX -- #endif -- #define NOMINMAX - #include - #elif HAVE_PTHREAD - #include -diff --git a/IlmThread/IlmThreadSemaphore.h b/IlmThread/IlmThreadSemaphore.h -index a9ba60a..8ffd282 100644 ---- a/IlmThread/IlmThreadSemaphore.h -+++ b/IlmThread/IlmThreadSemaphore.h -@@ -45,10 +45,6 @@ - #include "IlmBaseConfig.h" - - #if defined _WIN32 || defined _WIN64 -- #ifdef NOMINMAX -- #undef NOMINMAX -- #endif -- #define NOMINMAX - #include - #elif HAVE_PTHREAD && !HAVE_POSIX_SEMAPHORES - #include -diff --git a/Imath/ImathMatrixAlgo.cpp b/Imath/ImathMatrixAlgo.cpp -index 8896c8d..fd75d3d 100644 ---- a/Imath/ImathMatrixAlgo.cpp -+++ b/Imath/ImathMatrixAlgo.cpp -@@ -44,12 +44,9 @@ - - #include "ImathMatrixAlgo.h" - #include -+#include - --#if defined(OPENEXR_DLL) -- #define EXPORT_CONST __declspec(dllexport) --#else -- #define EXPORT_CONST const --#endif -+#define EXPORT_CONST const - - namespace Imath { - -@@ -627,12 +624,12 @@ T - maxOffDiag (const Imath::Matrix33& A) - { - T result = 0; -- result = std::max (result, std::abs (A[0][1])); -- result = std::max (result, std::abs (A[0][2])); -- result = std::max (result, std::abs (A[1][0])); -- result = std::max (result, std::abs (A[1][2])); -- result = std::max (result, std::abs (A[2][0])); -- result = std::max (result, std::abs (A[2][1])); -+ result = (std::max) (result, std::abs (A[0][1])); -+ result = (std::max) (result, std::abs (A[0][2])); -+ result = (std::max) (result, std::abs (A[1][0])); -+ result = (std::max) (result, std::abs (A[1][2])); -+ result = (std::max) (result, std::abs (A[2][0])); -+ result = (std::max) (result, std::abs (A[2][1])); - return result; - } - -@@ -646,7 +643,7 @@ maxOffDiag (const Imath::Matrix44& A) - for (int j = 0; j < 4; ++j) - { - if (i != j) -- result = std::max (result, std::abs (A[i][j])); -+ result = (std::max) (result, std::abs (A[i][j])); - } - } - -@@ -1091,7 +1088,7 @@ maxOffDiagSymm (const TM& A) - T result = 0; - for (unsigned int i = 0; i < TM::dimensions(); ++i) - for (unsigned int j = i+1; j < TM::dimensions(); ++j) -- result = std::max (result, std::abs (A[i][j])); -+ result = (std::max) (result, std::abs (A[i][j])); - - return result; - } -diff --git a/Imath/ImathMatrixAlgo.h b/Imath/ImathMatrixAlgo.h -index 6cb1568..ede2ab7 100644 ---- a/Imath/ImathMatrixAlgo.h -+++ b/Imath/ImathMatrixAlgo.h -@@ -57,15 +57,7 @@ - #include - - --#ifdef OPENEXR_DLL -- #ifdef IMATH_EXPORTS -- #define IMATH_EXPORT_CONST extern __declspec(dllexport) -- #else -- #define IMATH_EXPORT_CONST extern __declspec(dllimport) -- #endif --#else -- #define IMATH_EXPORT_CONST extern const --#endif -+#define IMATH_EXPORT_CONST extern const - - - namespace Imath { diff -Nru krita-3.1.4/3rdparty/ext_jpeg/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_jpeg/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_jpeg/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_jpeg/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -SET(PREFIX_ext_jpeg "${EXTPREFIX}" ) -if (MSVC OR MINGW) -ExternalProject_Add( ext_jpeg - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/libjpeg-turbo-1.5.0.tar.gz - URL_MD5 3fc5d9b6a8bce96161659ae7a9939257 - - INSTALL_DIR ${PREFIX_ext_jpeg} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_jpeg} -DWITH_SIMD=OFF -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 -) -else() -ExternalProject_Add( ext_jpeg - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/libjpeg-turbo-1.5.0.tar.gz - URL_MD5 3fc5d9b6a8bce96161659ae7a9939257 - - CONFIGURE_COMMAND /configure --prefix=${PREFIX_ext_jpeg} ${GLOBAL_AUTOMAKE_PROFILE} --without-simd - BUILD_COMMAND make - INSTALL_COMMAND make install - - UPDATE_COMMAND "" - ALWAYS 0 -) -endif() diff -Nru krita-3.1.4/3rdparty/ext_jpeg/jpeg9.diff krita-3.1.4+dfsg/3rdparty/ext_jpeg/jpeg9.diff --- krita-3.1.4/3rdparty/ext_jpeg/jpeg9.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_jpeg/jpeg9.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,1016 +0,0 @@ -diff -Nru -x '*~' jpeg-9.orig/cdjpeg.c jpeg-9/cdjpeg.c ---- jpeg-9.orig/cdjpeg.c 1997-09-07 17:51:36.000000000 +0200 -+++ jpeg-9/cdjpeg.c 2013-01-23 12:56:59.748823600 +0100 -@@ -43,7 +43,7 @@ - } - - --GLOBAL(void) -+EXTERN(void) - enable_signal_catcher (j_common_ptr cinfo) - { - sig_cinfo = cinfo; -@@ -85,7 +85,7 @@ - } - - --GLOBAL(void) -+EXTERN(void) - start_progress_monitor (j_common_ptr cinfo, cd_progress_ptr progress) - { - /* Enable progress display, unless trace output is on */ -@@ -99,7 +99,7 @@ - } - - --GLOBAL(void) -+EXTERN(void) - end_progress_monitor (j_common_ptr cinfo) - { - /* Clear away progress display */ -@@ -118,7 +118,7 @@ - * minchars is length of minimum legal abbreviation. - */ - --GLOBAL(boolean) -+EXTERN(boolean) - keymatch (char * arg, const char * keyword, int minchars) - { - register int ca, ck; -@@ -145,7 +145,7 @@ - * Non-Unix systems often require some hacking to get out of text mode. - */ - --GLOBAL(FILE *) -+EXTERN(FILE *) - read_stdin (void) - { - FILE * input_file = stdin; -@@ -163,7 +163,7 @@ - } - - --GLOBAL(FILE *) -+EXTERN(FILE *) - write_stdout (void) - { - FILE * output_file = stdout; -diff -Nru -x '*~' jpeg-9.orig/cdjpeg.h jpeg-9/cdjpeg.h ---- jpeg-9.orig/cdjpeg.h 2003-11-03 21:53:18.000000000 +0100 -+++ jpeg-9/cdjpeg.h 2013-01-23 12:56:59.753823600 +0100 -@@ -16,7 +16,8 @@ - #include "jerror.h" /* get library error codes too */ - #include "cderror.h" /* get application-specific error codes */ - -- -+#undef EXTERN -+#define EXTERN(type) type - /* - * Object interface for cjpeg's source file decoding modules - */ -diff -Nru -x '*~' jpeg-9.orig/CMakeLists.txt jpeg-9/CMakeLists.txt ---- jpeg-9.orig/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ jpeg-9/CMakeLists.txt 2013-01-23 12:56:59.763823600 +0100 -@@ -0,0 +1,101 @@ -+project(jpeg) -+ -+set(JPEG_VERSION_MAJOR 9 CACHE INT "Major JPEG version number" FORCE) -+set(JPEG_VERSION_MINOR 0 CACHE INT "Minor JPEG version number" FORCE) -+set(JPEG_VERSION_PATCH 0 CACHE INT "Release JPEG version number" FORCE) -+set(JPEG_VERSION_STRING "${JPEG_VERSION_MAJOR}.${JPEG_VERSION_MINOR}.${JPEG_VERSION_PATCH}" CACHE STRING "JPEG version string" FORCE) -+ -+option(BUILD_tools "build the jpeg related tools like cjpeg, djpeg, jpegtran etc." OFF) -+cmake_minimum_required(VERSION 2.6) -+ -+set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" ) -+set(LIB_DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING "Library directory name" FORCE) -+ -+include_directories( -+ ${CMAKE_CURRENT_SOURCE_DIR} -+ ${CMAKE_CURRENT_BINARY_DIR} -+) -+ -+include(CheckIncludeFile) -+check_include_file(stddef.h HAVE_STDDEF_H) -+check_include_file(stdlib.h HAVE_STDLIB_H) -+ -+if(MSVC) -+ add_definitions(-D_CRT_SECURE_NO_WARNINGS) -+endif(MSVC) -+if(WINCE) -+ add_definitions(-DNO_GETENV) -+endif(WINCE) -+ -+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/jconfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h) -+ -+set(libjpeg_SOURCES -+ jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c -+ jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c -+ jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c -+ jdapistd.c jdarith.c jdcoefct.c jdcolor.c -+ jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c -+ jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c -+ jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c -+ jquant2.c jutils.c jmemmgr.c jmemnobs.c -+) -+ -+#jdatadst.c jdatasrc.c are in the header instead -+ -+set(libjpeg_HEADERS -+ jpeglib.h -+ jerror.h -+ jdatadst.h -+ jdatasrc.h -+ jmorecfg.h -+) -+ -+add_library(libjpeg SHARED ${libjpeg_SOURCES}) -+ -+set_target_properties(libjpeg PROPERTIES -+ OUTPUT_NAME jpeg -+ VERSION ${JPEG_VERSION_STRING} -+ SOVERSION ${JPEG_VERSION_MAJOR} -+) -+ -+install( -+ TARGETS libjpeg -+ ARCHIVE DESTINATION ${LIB_DESTINATION} -+ LIBRARY DESTINATION ${LIB_DESTINATION} -+ RUNTIME DESTINATION bin -+) -+ -+install( -+ FILES ${libjpeg_HEADERS} ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h -+ DESTINATION include -+ COMPONENT Devel -+) -+ -+if(BUILD_tools) -+set(cjpeg_SRCS cjpeg.c rdppm.c rdgif.c rdtarga.c rdrle.c rdbmp.c rdswitch.c cdjpeg.c) -+add_executable(cjpeg ${cjpeg_SRCS}) -+target_link_libraries(cjpeg jpeg) -+ -+set(djpeg_SRCS djpeg.c wrppm.c wrgif.c wrtarga.c wrrle.c wrbmp.c rdcolmap.c cdjpeg.c) -+add_executable(djpeg ${djpeg_SRCS}) -+target_link_libraries(djpeg jpeg) -+ -+set(jpegtran_SRCS jpegtran.c rdswitch.c cdjpeg.c transupp.c) -+add_executable(jpegtran ${jpegtran_SRCS}) -+target_link_libraries(jpegtran jpeg) -+ -+set(rdjpgcom_SRCS rdjpgcom.c) -+add_executable(rdjpgcom ${rdjpgcom_SRCS}) -+target_link_libraries(rdjpgcom jpeg) -+ -+set(wrjpgcom_SRCS wrjpgcom.c) -+add_executable(wrjpgcom ${wrjpgcom_SRCS}) -+target_link_libraries(wrjpgcom jpeg) -+ -+install( -+ TARGETS cjpeg djpeg jpegtran rdjpgcom wrjpgcom -+ ARCHIVE DESTINATION ${LIB_DESTINATION} -+ LIBRARY DESTINATION ${LIB_DESTINATION} -+ RUNTIME DESTINATION bin -+) -+endif(BUILD_tools) -\ Kein Zeilenumbruch am Dateiende. -diff -Nru -x '*~' jpeg-9.orig/jconfig.h.cmake jpeg-9/jconfig.h.cmake ---- jpeg-9.orig/jconfig.h.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ jpeg-9/jconfig.h.cmake 2013-01-23 12:56:59.768823600 +0100 -@@ -0,0 +1,31 @@ -+#define HAVE_PROTOTYPES -+#define HAVE_UNSIGNED_CHAR -+#define HAVE_UNSIGNED_SHORT -+#cmakedefine HAVE_STDDEF_H -+#cmakedefine HAVE_STDLIB_H -+ -+#define JPEG_STDIO_IN_HEADERS -+ -+#if defined(_WIN32) -+ #if defined(libjpeg_EXPORTS) -+ #define JPEG_EXPORT __declspec(dllexport) -+ #else -+ #define JPEG_EXPORT __declspec(dllimport) -+ #endif -+#else -+ #define JPEG_EXPORT -+#endif -+ -+#ifdef _WIN32 -+# include -+/* Define "boolean" as unsigned char, not int, per Windows custom */ -+# if !defined __RPCNDR_H__ || defined __MINGW32__ /* don't conflict if rpcndr.h already read */ -+# ifndef boolean /* don't conflict if rpcndr.h already read */ -+ typedef unsigned char boolean; -+# endif /* boolean */ -+# endif /* __RPCNDR_H__ */ -+# define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ -+#endif /* _WIN32 */ -+ -+#define GLOBAL(type) JPEG_EXPORT type -+#define EXTERN(type) JPEG_EXPORT type -diff -Nru -x '*~' jpeg-9.orig/jdatadst.h jpeg-9/jdatadst.h ---- jpeg-9.orig/jdatadst.h 1970-01-01 01:00:00.000000000 +0100 -+++ jpeg-9/jdatadst.h 2013-01-23 12:56:59.773823600 +0100 -@@ -0,0 +1,145 @@ -+/* -+ * jdatadst.c -+ * -+ * Copyright (C) 1994-1996, Thomas G. Lane. -+ * This file is part of the Independent JPEG Group's software. -+ * For conditions of distribution and use, see the accompanying README file. -+ * -+ * This file contains compression data destination routines for the case of -+ * emitting JPEG data to a file (or any stdio stream). While these routines -+ * are sufficient for most applications, some will want to use a different -+ * destination manager. -+ * IMPORTANT: we assume that fwrite() will correctly transcribe an array of -+ * JOCTETs into 8-bit-wide elements on external storage. If char is wider -+ * than 8 bits on your machine, you may need to do some tweaking. -+ */ -+ -+/* Expanded data destination object for stdio output */ -+ -+typedef struct { -+ struct jpeg_destination_mgr pub; /* public fields */ -+ -+ FILE * outfile; /* target stream */ -+ JOCTET * buffer; /* start of buffer */ -+} jdatadst_my_destination_mgr; -+ -+typedef jdatadst_my_destination_mgr * jdatadst_my_dest_ptr; -+ -+#define JDATADST_OUTPUT_BUF_SIZE 4096 /* choose an efficiently fwrite'able size */ -+ -+ -+/* -+ * Initialize destination --- called by jpeg_start_compress -+ * before any data is actually written. -+ */ -+ -+METHODDEF(void) -+jdatadst_init_destination (j_compress_ptr cinfo) -+{ -+ jdatadst_my_dest_ptr dest = (jdatadst_my_dest_ptr) cinfo->dest; -+ -+ /* Allocate the output buffer --- it will be released when done with image */ -+ dest->buffer = (JOCTET *) -+ (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, -+ JDATADST_OUTPUT_BUF_SIZE * sizeof(JOCTET)); -+ -+ dest->pub.next_output_byte = dest->buffer; -+ dest->pub.free_in_buffer = JDATADST_OUTPUT_BUF_SIZE; -+} -+ -+ -+/* -+ * Empty the output buffer --- called whenever buffer fills up. -+ * -+ * In typical applications, this should write the entire output buffer -+ * (ignoring the current state of next_output_byte & free_in_buffer), -+ * reset the pointer & count to the start of the buffer, and return TRUE -+ * indicating that the buffer has been dumped. -+ * -+ * In applications that need to be able to suspend compression due to output -+ * overrun, a FALSE return indicates that the buffer cannot be emptied now. -+ * In this situation, the compressor will return to its caller (possibly with -+ * an indication that it has not accepted all the supplied scanlines). The -+ * application should resume compression after it has made more room in the -+ * output buffer. Note that there are substantial restrictions on the use of -+ * suspension --- see the documentation. -+ * -+ * When suspending, the compressor will back up to a convenient restart point -+ * (typically the start of the current MCU). next_output_byte & free_in_buffer -+ * indicate where the restart point will be if the current call returns FALSE. -+ * Data beyond this point will be regenerated after resumption, so do not -+ * write it out when emptying the buffer externally. -+ */ -+ -+METHODDEF(boolean) -+jdatadst_empty_output_buffer (j_compress_ptr cinfo) -+{ -+ jdatadst_my_dest_ptr dest = (jdatadst_my_dest_ptr) cinfo->dest; -+ -+ if (fwrite(dest->buffer, 1, JDATADST_OUTPUT_BUF_SIZE, dest->outfile) != -+ (size_t) JDATADST_OUTPUT_BUF_SIZE) -+ ERREXIT(cinfo, JERR_FILE_WRITE); -+ -+ dest->pub.next_output_byte = dest->buffer; -+ dest->pub.free_in_buffer = JDATADST_OUTPUT_BUF_SIZE; -+ -+ return TRUE; -+} -+ -+ -+/* -+ * Terminate destination --- called by jpeg_finish_compress -+ * after all data has been written. Usually needs to flush buffer. -+ * -+ * NB: *not* called by jpeg_abort or jpeg_destroy; surrounding -+ * application must deal with any cleanup that should happen even -+ * for error exit. -+ */ -+ -+METHODDEF(void) -+jdatadst_term_destination (j_compress_ptr cinfo) -+{ -+ jdatadst_my_dest_ptr dest = (jdatadst_my_dest_ptr) cinfo->dest; -+ size_t datacount = JDATADST_OUTPUT_BUF_SIZE - dest->pub.free_in_buffer; -+ -+ /* Write any data remaining in the buffer */ -+ if (datacount > 0) { -+ if (fwrite(dest->buffer, 1, datacount, dest->outfile) != datacount) -+ ERREXIT(cinfo, JERR_FILE_WRITE); -+ } -+ fflush(dest->outfile); -+ /* Make sure we wrote the output file OK */ -+ if (ferror(dest->outfile)) -+ ERREXIT(cinfo, JERR_FILE_WRITE); -+} -+ -+ -+/* -+ * Prepare for output to a stdio stream. -+ * The caller must have already opened the stream, and is responsible -+ * for closing it after finishing compression. -+ */ -+ -+LOCAL(void) -+jpeg_stdio_dest (j_compress_ptr cinfo, FILE * outfile) -+{ -+ jdatadst_my_dest_ptr dest; -+ -+ /* The destination object is made permanent so that multiple JPEG images -+ * can be written to the same file without re-executing jpeg_stdio_dest. -+ * This makes it dangerous to use this manager and a different destination -+ * manager serially with the same JPEG object, because their private object -+ * sizes may be different. Caveat programmer. -+ */ -+ if (cinfo->dest == NULL) { /* first time for this JPEG object? */ -+ cinfo->dest = (struct jpeg_destination_mgr *) -+ (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, -+ sizeof(jdatadst_my_destination_mgr)); -+ } -+ -+ dest = (jdatadst_my_dest_ptr) cinfo->dest; -+ dest->pub.init_destination = jdatadst_init_destination; -+ dest->pub.empty_output_buffer = jdatadst_empty_output_buffer; -+ dest->pub.term_destination = jdatadst_term_destination; -+ dest->outfile = outfile; -+} -diff -Nru -x '*~' jpeg-9.orig/jdatasrc.h jpeg-9/jdatasrc.h ---- jpeg-9.orig/jdatasrc.h 1970-01-01 01:00:00.000000000 +0100 -+++ jpeg-9/jdatasrc.h 2013-01-23 12:56:59.778823600 +0100 -@@ -0,0 +1,206 @@ -+/* -+ * jdatasrc.c -+ * -+ * Copyright (C) 1994-1996, Thomas G. Lane. -+ * This file is part of the Independent JPEG Group's software. -+ * For conditions of distribution and use, see the accompanying README file. -+ * -+ * This file contains decompression data source routines for the case of -+ * reading JPEG data from a file (or any stdio stream). While these routines -+ * are sufficient for most applications, some will want to use a different -+ * source manager. -+ * IMPORTANT: we assume that fread() will correctly transcribe an array of -+ * JOCTETs from 8-bit-wide elements on external storage. If char is wider -+ * than 8 bits on your machine, you may need to do some tweaking. -+ */ -+ -+/* Expanded data source object for stdio input */ -+ -+typedef struct { -+ struct jpeg_source_mgr pub; /* public fields */ -+ -+ FILE * infile; /* source stream */ -+ JOCTET * buffer; /* start of buffer */ -+ boolean start_of_file; /* have we gotten any data yet? */ -+} jdatasrc_my_source_mgr; -+ -+typedef jdatasrc_my_source_mgr * jdatasrc_my_src_ptr; -+ -+#define JDATASRC_INPUT_BUF_SIZE 4096 /* choose an efficiently fread'able size */ -+ -+ -+/* -+ * Initialize source --- called by jpeg_read_header -+ * before any data is actually read. -+ */ -+ -+METHODDEF(void) -+jdatasrc_init_source (j_decompress_ptr cinfo) -+{ -+ jdatasrc_my_src_ptr src = (jdatasrc_my_src_ptr) cinfo->src; -+ -+ /* We reset the empty-input-file flag for each image, -+ * but we don't clear the input buffer. -+ * This is correct behavior for reading a series of images from one source. -+ */ -+ src->start_of_file = TRUE; -+} -+ -+ -+/* -+ * Fill the input buffer --- called whenever buffer is emptied. -+ * -+ * In typical applications, this should read fresh data into the buffer -+ * (ignoring the current state of next_input_byte & bytes_in_buffer), -+ * reset the pointer & count to the start of the buffer, and return TRUE -+ * indicating that the buffer has been reloaded. It is not necessary to -+ * fill the buffer entirely, only to obtain at least one more byte. -+ * -+ * There is no such thing as an EOF return. If the end of the file has been -+ * reached, the routine has a choice of ERREXIT() or inserting fake data into -+ * the buffer. In most cases, generating a warning message and inserting a -+ * fake EOI marker is the best course of action --- this will allow the -+ * decompressor to output however much of the image is there. However, -+ * the resulting error message is misleading if the real problem is an empty -+ * input file, so we handle that case specially. -+ * -+ * In applications that need to be able to suspend compression due to input -+ * not being available yet, a FALSE return indicates that no more data can be -+ * obtained right now, but more may be forthcoming later. In this situation, -+ * the decompressor will return to its caller (with an indication of the -+ * number of scanlines it has read, if any). The application should resume -+ * decompression after it has loaded more data into the input buffer. Note -+ * that there are substantial restrictions on the use of suspension --- see -+ * the documentation. -+ * -+ * When suspending, the decompressor will back up to a convenient restart point -+ * (typically the start of the current MCU). next_input_byte & bytes_in_buffer -+ * indicate where the restart point will be if the current call returns FALSE. -+ * Data beyond this point must be rescanned after resumption, so move it to -+ * the front of the buffer rather than discarding it. -+ */ -+ -+METHODDEF(boolean) -+jdatasrc_fill_input_buffer (j_decompress_ptr cinfo) -+{ -+ jdatasrc_my_src_ptr src = (jdatasrc_my_src_ptr) cinfo->src; -+ size_t nbytes; -+ -+ nbytes = fread(src->buffer, 1, JDATASRC_INPUT_BUF_SIZE, src->infile); -+ -+ if (nbytes <= 0) { -+ if (src->start_of_file) /* Treat empty input file as fatal error */ -+ ERREXIT(cinfo, JERR_INPUT_EMPTY); -+ WARNMS(cinfo, JWRN_JPEG_EOF); -+ /* Insert a fake EOI marker */ -+ src->buffer[0] = (JOCTET) 0xFF; -+ src->buffer[1] = (JOCTET) JPEG_EOI; -+ nbytes = 2; -+ } -+ -+ src->pub.next_input_byte = src->buffer; -+ src->pub.bytes_in_buffer = nbytes; -+ src->start_of_file = FALSE; -+ -+ return TRUE; -+} -+ -+ -+/* -+ * Skip data --- used to skip over a potentially large amount of -+ * uninteresting data (such as an APPn marker). -+ * -+ * Writers of suspendable-input applications must note that jdatasrc_skip_input_data -+ * is not granted the right to give a suspension return. If the skip extends -+ * beyond the data currently in the buffer, the buffer can be marked empty so -+ * that the next read will cause a jdatasrc_fill_input_buffer call that can suspend. -+ * Arranging for additional bytes to be discarded before reloading the input -+ * buffer is the application writer's problem. -+ */ -+ -+METHODDEF(void) -+jdatasrc_skip_input_data (j_decompress_ptr cinfo, long num_bytes) -+{ -+ jdatasrc_my_src_ptr src = (jdatasrc_my_src_ptr) cinfo->src; -+ -+ /* Just a dumb implementation for now. Could use fseek() except -+ * it doesn't work on pipes. Not clear that being smart is worth -+ * any trouble anyway --- large skips are infrequent. -+ */ -+ if (num_bytes > 0) { -+ while (num_bytes > (long) src->pub.bytes_in_buffer) { -+ num_bytes -= (long) src->pub.bytes_in_buffer; -+ (void) jdatasrc_fill_input_buffer(cinfo); -+ /* note we assume that jdatasrc_fill_input_buffer will never return FALSE, -+ * so suspension need not be handled. -+ */ -+ } -+ src->pub.next_input_byte += (size_t) num_bytes; -+ src->pub.bytes_in_buffer -= (size_t) num_bytes; -+ } -+} -+ -+ -+/* -+ * An additional method that can be provided by data source modules is the -+ * resync_to_restart method for error recovery in the presence of RST markers. -+ * For the moment, this source module just uses the default resync method -+ * provided by the JPEG library. That method assumes that no backtracking -+ * is possible. -+ */ -+ -+ -+/* -+ * Terminate source --- called by jpeg_finish_decompress -+ * after all data has been read. Often a no-op. -+ * -+ * NB: *not* called by jpeg_abort or jpeg_destroy; surrounding -+ * application must deal with any cleanup that should happen even -+ * for error exit. -+ */ -+ -+METHODDEF(void) -+jdatasrc_term_source (j_decompress_ptr cinfo) -+{ -+ /* no work necessary here */ -+} -+ -+ -+/* -+ * Prepare for input from a stdio stream. -+ * The caller must have already opened the stream, and is responsible -+ * for closing it after finishing decompression. -+ */ -+ -+LOCAL(void) -+jpeg_stdio_src (j_decompress_ptr cinfo, FILE * infile) -+{ -+ jdatasrc_my_src_ptr src; -+ -+ /* The source object and input buffer are made permanent so that a series -+ * of JPEG images can be read from the same file by calling jpeg_stdio_src -+ * only before the first one. (If we discarded the buffer at the end of -+ * one image, we'd likely lose the start of the next one.) -+ * This makes it unsafe to use this manager and a different source -+ * manager serially with the same JPEG object. Caveat programmer. -+ */ -+ if (cinfo->src == NULL) { /* first time for this JPEG object? */ -+ cinfo->src = (struct jpeg_source_mgr *) -+ (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, -+ sizeof(jdatasrc_my_source_mgr)); -+ src = (jdatasrc_my_src_ptr) cinfo->src; -+ src->buffer = (JOCTET *) -+ (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, -+ JDATASRC_INPUT_BUF_SIZE * sizeof(JOCTET)); -+ } -+ -+ src = (jdatasrc_my_src_ptr) cinfo->src; -+ src->pub.init_source = jdatasrc_init_source; -+ src->pub.fill_input_buffer = jdatasrc_fill_input_buffer; -+ src->pub.skip_input_data = jdatasrc_skip_input_data; -+ src->pub.resync_to_restart = jpeg_resync_to_restart; /* use default method */ -+ src->pub.term_source = jdatasrc_term_source; -+ src->infile = infile; -+ src->pub.bytes_in_buffer = 0; /* forces jdatasrc_fill_input_buffer on first read */ -+ src->pub.next_input_byte = NULL; /* until buffer loaded */ -+} -diff -Nru -x '*~' jpeg-9.orig/jerror.h jpeg-9/jerror.h ---- jpeg-9.orig/jerror.h 2012-04-29 14:35:38.000000000 +0200 -+++ jpeg-9/jerror.h 2013-01-23 12:56:59.783823600 +0100 -@@ -14,6 +14,21 @@ - * and/or the macros. - */ - -+#ifndef JPEG_STRCPY -+#define JPEG_STRCPY -+/* Use this instead of strncpy, which is bad */ -+static void jpeg_strcpy(char *dest, const char *src, int avail) -+{ -+ while (*src && avail > 1) { -+ *dest = *src; -+ dest++; -+ src++; -+ avail--; -+ } -+ *dest = '\0'; -+} -+#endif -+ - /* - * To define the enum list of message codes, include this file without - * defining macro JMESSAGE. To create a message string table, include it -@@ -242,7 +257,7 @@ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) - #define ERREXITS(cinfo,code,str) \ - ((cinfo)->err->msg_code = (code), \ -- strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ -+ jpeg_strcpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) - - #define MAKESTMT(stuff) do { stuff } while (0) -@@ -298,7 +313,7 @@ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) - #define TRACEMSS(cinfo,lvl,code,str) \ - ((cinfo)->err->msg_code = (code), \ -- strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ -+ jpeg_strcpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) - - #endif /* JERROR_H */ -diff -Nru -x '*~' jpeg-9.orig/jmorecfg.h jpeg-9/jmorecfg.h ---- jpeg-9.orig/jmorecfg.h 2012-08-08 16:23:20.000000000 +0200 -+++ jpeg-9/jmorecfg.h 2013-01-23 12:56:59.788823700 +0100 -@@ -188,13 +188,21 @@ - */ - - /* a function called through method pointers: */ -+#ifndef METHODDEF - #define METHODDEF(type) static type -+#endif - /* a function used only in its module: */ -+#ifndef LOCAL - #define LOCAL(type) static type -+#endif - /* a function referenced thru EXTERNs: */ -+#ifndef GLOBAL - #define GLOBAL(type) type -+#endif - /* a reference to a GLOBAL function: */ -+#ifndef EXTERN - #define EXTERN(type) extern type -+#endif - - - /* This macro is used to declare a "method", that is, a function pointer. -diff -Nru -x '*~' jpeg-9.orig/jpeglib.h jpeg-9/jpeglib.h ---- jpeg-9.orig/jpeglib.h 2012-08-08 14:44:08.000000000 +0200 -+++ jpeg-9/jpeglib.h 2013-01-23 12:56:59.798823700 +0100 -@@ -26,6 +26,19 @@ - #endif - #include "jmorecfg.h" /* seldom changed options */ - -+#ifdef HAVE_STDDEF_H -+#include -+#endif -+ -+#ifdef HAVE_STDLIB_H -+#include -+#endif -+ -+#ifdef NEED_SYS_TYPES_H -+#include -+#endif -+ -+#include - - #ifdef __cplusplus - #ifndef DONT_USE_EXTERN_C -@@ -964,8 +977,10 @@ - - /* Standard data source and destination managers: stdio streams. */ - /* Caller is responsible for opening the file before and closing after. */ -+#ifndef JPEG_STDIO_IN_HEADERS - EXTERN(void) jpeg_stdio_dest JPP((j_compress_ptr cinfo, FILE * outfile)); - EXTERN(void) jpeg_stdio_src JPP((j_decompress_ptr cinfo, FILE * infile)); -+#endif - - /* Data source and destination managers: memory buffers. */ - EXTERN(void) jpeg_mem_dest JPP((j_compress_ptr cinfo, -@@ -1170,4 +1185,10 @@ - #endif - #endif - -+#if !defined(JPEG_INTERNALS) && defined(JPEG_STDIO_IN_HEADERS) -+#include "jerror.h" -+#include "jdatadst.h" -+#include "jdatasrc.h" -+#endif -+ - #endif /* JPEGLIB_H */ -diff -Nru -x '*~' jpeg-9.orig/rdcolmap.c jpeg-9/rdcolmap.c ---- jpeg-9.orig/rdcolmap.c 1996-11-19 11:38:44.000000000 +0100 -+++ jpeg-9/rdcolmap.c 2013-01-23 12:56:59.803823700 +0100 -@@ -42,7 +42,7 @@ - * Add a (potentially) new color to the color map. - */ - --LOCAL(void) -+EXTERN(void) - add_map_entry (j_decompress_ptr cinfo, int R, int G, int B) - { - JSAMPROW colormap0 = cinfo->colormap[0]; -@@ -75,7 +75,7 @@ - * Extract color map from a GIF file. - */ - --LOCAL(void) -+EXTERN(void) - read_gif_map (j_decompress_ptr cinfo, FILE * infile) - { - int header[13]; -@@ -117,7 +117,7 @@ - /* Support routines for reading PPM */ - - --LOCAL(int) -+EXTERN(int) - pbm_getc (FILE * infile) - /* Read next char, skipping over any comments */ - /* A comment/newline sequence is returned as a newline */ -@@ -134,7 +134,7 @@ - } - - --LOCAL(unsigned int) -+EXTERN(unsigned int) - read_pbm_integer (j_decompress_ptr cinfo, FILE * infile) - /* Read an unsigned decimal integer from the PPM file */ - /* Swallows one trailing character after the integer */ -@@ -167,7 +167,7 @@ - * Extract color map from a PPM file. - */ - --LOCAL(void) -+EXTERN(void) - read_ppm_map (j_decompress_ptr cinfo, FILE * infile) - { - int c; -@@ -227,7 +227,7 @@ - * Output: colormap and actual_number_of_colors fields are set in cinfo. - */ - --GLOBAL(void) -+EXTERN(void) - read_color_map (j_decompress_ptr cinfo, FILE * infile) - { - /* Allocate space for a color map of maximum supported size. */ -diff -Nru -x '*~' jpeg-9.orig/rdswitch.c jpeg-9/rdswitch.c ---- jpeg-9.orig/rdswitch.c 2003-11-03 21:51:40.000000000 +0100 -+++ jpeg-9/rdswitch.c 2013-01-23 12:56:59.813823700 +0100 -@@ -18,7 +18,7 @@ - #include /* to declare isdigit(), isspace() */ - - --LOCAL(int) -+EXTERN(int) - text_getc (FILE * file) - /* Read next char, skipping over any comments (# to end of line) */ - /* A comment/newline sequence is returned as a newline */ -@@ -35,7 +35,7 @@ - } - - --LOCAL(boolean) -+EXTERN(boolean) - read_text_integer (FILE * file, long * result, int * termchar) - /* Read an unsigned decimal integer from a file, store it in result */ - /* Reads one trailing character after the integer; returns it in termchar */ -@@ -70,7 +70,7 @@ - } - - --GLOBAL(boolean) -+EXTERN(boolean) - read_quant_tables (j_compress_ptr cinfo, char * filename, boolean force_baseline) - /* Read a set of quantization tables from the specified file. - * The file is plain ASCII text: decimal numbers with whitespace between. -@@ -126,7 +126,7 @@ - - #ifdef C_MULTISCAN_FILES_SUPPORTED - --LOCAL(boolean) -+EXTERN(boolean) - read_scan_integer (FILE * file, long * result, int * termchar) - /* Variant of read_text_integer that always looks for a non-space termchar; - * this simplifies parsing of punctuation in scan scripts. -@@ -155,7 +155,7 @@ - } - - --GLOBAL(boolean) -+EXTERN(boolean) - read_scan_script (j_compress_ptr cinfo, char * filename) - /* Read a scan script from the specified text file. - * Each entry in the file defines one scan to be emitted. -@@ -263,7 +263,7 @@ - #endif /* C_MULTISCAN_FILES_SUPPORTED */ - - --GLOBAL(boolean) -+EXTERN(boolean) - set_quality_ratings (j_compress_ptr cinfo, char *arg, boolean force_baseline) - /* Process a quality-ratings parameter string, of the form - * N[,N,...] -@@ -295,7 +295,7 @@ - } - - --GLOBAL(boolean) -+EXTERN(boolean) - set_quant_slots (j_compress_ptr cinfo, char *arg) - /* Process a quantization-table-selectors parameter string, of the form - * N[,N,...] -@@ -330,7 +330,7 @@ - } - - --GLOBAL(boolean) -+EXTERN(boolean) - set_sample_factors (j_compress_ptr cinfo, char *arg) - /* Process a sample-factors parameter string, of the form - * HxV[,HxV,...] -diff -Nru -x '*~' jpeg-9.orig/transupp.c jpeg-9/transupp.c ---- jpeg-9.orig/transupp.c 2012-06-02 14:44:44.000000000 +0200 -+++ jpeg-9/transupp.c 2013-01-23 12:56:59.843823700 +0100 -@@ -22,6 +22,8 @@ - #include "transupp.h" /* My own external interface */ - #include /* to declare isdigit() */ - -+#undef EXTERN -+#define EXTERN(type) type - - #if TRANSFORMS_SUPPORTED - -@@ -75,7 +77,7 @@ - */ - - --LOCAL(void) -+EXTERN(void) - do_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, -@@ -113,7 +115,7 @@ - } - - --LOCAL(void) -+EXTERN(void) - do_flip_h_no_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, - jvirt_barray_ptr *src_coef_arrays) -@@ -180,7 +182,7 @@ - } - - --LOCAL(void) -+EXTERN(void) - do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, -@@ -242,7 +244,7 @@ - } - - --LOCAL(void) -+EXTERN(void) - do_flip_v (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, -@@ -322,7 +324,7 @@ - } - - --LOCAL(void) -+EXTERN(void) - do_transpose (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, -@@ -370,7 +372,7 @@ - } - - --LOCAL(void) -+EXTERN(void) - do_rot_90 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, -@@ -451,7 +453,7 @@ - } - - --LOCAL(void) -+EXTERN(void) - do_rot_270 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, -@@ -522,7 +524,7 @@ - } - - --LOCAL(void) -+EXTERN(void) - do_rot_180 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, -@@ -630,7 +632,7 @@ - } - - --LOCAL(void) -+EXTERN(void) - do_transverse (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, -@@ -750,7 +752,7 @@ - * *strptr is advanced over the digit string, and *result is set to its value. - */ - --LOCAL(boolean) -+EXTERN(boolean) - jt_read_integer (const char ** strptr, JDIMENSION * result) - { - const char * ptr = *strptr; -@@ -780,7 +782,7 @@ - * This code is loosely based on XParseGeometry from the X11 distribution. - */ - --GLOBAL(boolean) -+EXTERN(boolean) - jtransform_parse_crop_spec (jpeg_transform_info *info, const char *spec) - { - info->crop = FALSE; -@@ -834,7 +836,7 @@ - - /* Trim off any partial iMCUs on the indicated destination edge */ - --LOCAL(void) -+EXTERN(void) - trim_right_edge (jpeg_transform_info *info, JDIMENSION full_width) - { - JDIMENSION MCU_cols; -@@ -845,7 +847,7 @@ - info->output_width = MCU_cols * info->iMCU_sample_width; - } - --LOCAL(void) -+EXTERN(void) - trim_bottom_edge (jpeg_transform_info *info, JDIMENSION full_height) - { - JDIMENSION MCU_rows; -@@ -874,7 +876,7 @@ - * and transformation is not perfect. Otherwise returns TRUE. - */ - --GLOBAL(boolean) -+EXTERN(boolean) - jtransform_request_workspace (j_decompress_ptr srcinfo, - jpeg_transform_info *info) - { -@@ -1111,7 +1113,7 @@ - - /* Transpose destination image parameters */ - --LOCAL(void) -+EXTERN(void) - transpose_critical_parameters (j_compress_ptr dstinfo) - { - int tblno, i, j, ci, itemp; -@@ -1157,7 +1159,7 @@ - * We try to adjust the Tags ExifImageWidth and ExifImageHeight if possible. - */ - --LOCAL(void) -+EXTERN(void) - adjust_exif_parameters (JOCTET FAR * data, unsigned int length, - JDIMENSION new_width, JDIMENSION new_height) - { -@@ -1319,7 +1321,7 @@ - * to jpeg_write_coefficients(). - */ - --GLOBAL(jvirt_barray_ptr *) -+EXTERN(jvirt_barray_ptr *) - jtransform_adjust_parameters (j_decompress_ptr srcinfo, - j_compress_ptr dstinfo, - jvirt_barray_ptr *src_coef_arrays, -@@ -1414,7 +1416,7 @@ - * Note that some transformations will modify the source data arrays! - */ - --GLOBAL(void) -+EXTERN(void) - jtransform_execute_transform (j_decompress_ptr srcinfo, - j_compress_ptr dstinfo, - jvirt_barray_ptr *src_coef_arrays, -@@ -1487,7 +1489,7 @@ - * (may use custom action then) - */ - --GLOBAL(boolean) -+EXTERN(boolean) - jtransform_perfect_transform(JDIMENSION image_width, JDIMENSION image_height, - int MCU_width, int MCU_height, - JXFORM_CODE transform) -@@ -1526,7 +1528,7 @@ - * This must be called before jpeg_read_header() to have the desired effect. - */ - --GLOBAL(void) -+EXTERN(void) - jcopy_markers_setup (j_decompress_ptr srcinfo, JCOPY_OPTION option) - { - #ifdef SAVE_MARKERS_SUPPORTED -@@ -1551,7 +1553,7 @@ - * JFIF APP0 or Adobe APP14 markers if selected. - */ - --GLOBAL(void) -+EXTERN(void) - jcopy_markers_execute (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JCOPY_OPTION option) - { diff -Nru krita-3.1.4/3rdparty/ext_jpeg/jpeg_bool.diff krita-3.1.4+dfsg/3rdparty/ext_jpeg/jpeg_bool.diff --- krita-3.1.4/3rdparty/ext_jpeg/jpeg_bool.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_jpeg/jpeg_bool.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -diff --git a/jconfig.cfg b/jconfig.cfg -index c4548fc..6e5d2dc 100644 ---- a/jconfig.cfg -+++ b/jconfig.cfg -@@ -18,8 +18,7 @@ - #undef INCOMPLETE_TYPES_BROKEN - - /* Define "boolean" as unsigned char, not enum, on Windows systems. */ --#ifdef _WIN32 --#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ -+#ifndef boolean /* don't conflict if rpcndr.h already read */ - typedef unsigned char boolean; - #endif - #ifndef FALSE /* in case these macros already exist */ -@@ -29,7 +28,6 @@ typedef unsigned char boolean; - #define TRUE 1 - #endif - #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ --#endif - - #ifdef JPEG_INTERNALS - diff -Nru krita-3.1.4/3rdparty/ext_lcms2/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_lcms2/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_lcms2/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_lcms2/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -SET(PREFIX_ext_lcms2 "${EXTPREFIX}" ) -if (MSVC OR MINGW) -ExternalProject_Add( ext_lcms2 - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/lcms2-2.8.tar.gz - URL_MD5 87a5913f1a52464190bb655ad230539c - - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/lcms2-2.8-20160725.diff - INSTALL_DIR ${PREFIX_ext_lcms2} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_lcms2} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DBUILD_TESTS=FALSE -DBUILD_UTILS=FALSE -DBUILD_STATIC=FALSE - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_patch -) -else (MSVC OR MINGW) -ExternalProject_Add( ext_lcms2 - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/lcms2-2.8.tar.gz - URL_MD5 87a5913f1a52464190bb655ad230539c - - CONFIGURE_COMMAND /configure --prefix=${PREFIX_ext_lcms2} ${GLOBAL_AUTOMAKE_PROFILE} - BUILD_COMMAND make - INSTALL_COMMAND make install - - UPDATE_COMMAND "" - ALWAYS 0 -) -endif (MSVC OR MINGW) diff -Nru krita-3.1.4/3rdparty/ext_lcms2/lcms2-2.8-20160725.diff krita-3.1.4+dfsg/3rdparty/ext_lcms2/lcms2-2.8-20160725.diff --- krita-3.1.4/3rdparty/ext_lcms2/lcms2-2.8-20160725.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_lcms2/lcms2-2.8-20160725.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,250 +0,0 @@ -commit fa73cd1733b3cf122489d2c757485db0ac7b5cd3 -Author: Boudewijn Rempt -Date: Tue Jul 26 10:12:27 2016 +0200 - - ... - -diff --git a/CMakeLists.txt b/CMakeLists.txt -new file mode 100644 -index 0000000..90cee70 ---- /dev/null -+++ b/CMakeLists.txt -@@ -0,0 +1,22 @@ -+project(lcms2) -+ -+option(BUILD_TESTS "build the test executable" ON) -+option(BUILD_STATIC "build the static library" ON) -+option(BUILD_UTILS "build the utilities executables" ON) -+ -+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) -+ -+cmake_minimum_required(VERSION 2.6) -+ -+include_directories( -+${CMAKE_BINARY_DIR}/include -+${CMAKE_SOURCE_DIR}/include -+) -+ -+add_subdirectory(src) -+if(BUILD_TESTS) -+ add_subdirectory(testbed) -+endif(BUILD_TESTS) -+if(BUILD_UTILS) -+ add_subdirectory(utils) -+endif(BUILD_UTILS) -diff --git a/include/lcms2.h b/include/lcms2.h -index 739e6e1..969bc3a 100644 ---- a/include/lcms2.h -+++ b/include/lcms2.h -@@ -212,15 +212,14 @@ typedef int cmsBool; - - #endif // CMS_USE_BIG_ENDIAN - -- - // Calling convention -- this is hardly platform and compiler dependent - #ifdef CMS_IS_WINDOWS_ --# if defined(CMS_DLL) || defined(CMS_DLL_BUILD) -+# if !defined(CMS_STATIC) - # ifdef __BORLANDC__ - # define CMSEXPORT __stdcall _export - # define CMSAPI - # else --# define CMSEXPORT __stdcall -+# define CMSEXPORT - # ifdef CMS_DLL_BUILD - # define CMSAPI __declspec(dllexport) - # else -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -new file mode 100644 -index 0000000..ac575c7 ---- /dev/null -+++ b/src/CMakeLists.txt -@@ -0,0 +1,64 @@ -+# some configure checks: -+if(WIN32) -+ if(MSVC) -+ set(UINT8_T "unsigned char") -+ set(UINT16_T "unsigned short") -+ set(UINT32_T "unsigned long") -+ set(INT8_T "char") -+ set(INT16_T "short") -+ set(INT32_T "long") -+ else(MSVC) -+ set(UINT8_T "uint8_t") -+ set(UINT16_T "uint16_t") -+ set(UINT32_T "uint32_t") -+ set(INT8_T "int8_t") -+ set(INT16_T "int16_t") -+ set(INT32_T "int32_t") -+ endif(MSVC) -+endif(WIN32) -+ -+set(lcms_SRCS -+ cmscnvrt.c -+ cmserr.c -+ cmsgamma.c -+ cmsgmt.c -+ cmsintrp.c -+ cmsio0.c -+ cmsio1.c -+ cmslut.c -+ cmsplugin.c -+ cmssm.c -+ cmsmd5.c -+ cmsmtrx.c -+ cmspack.c -+ cmspcs.c -+ cmswtpnt.c -+ cmsxform.c -+ cmssamp.c -+ cmsnamed.c -+ cmscam02.c -+ cmsvirt.c -+ cmstypes.c -+ cmscgats.c -+ cmsps2.c -+ cmsopt.c -+ cmshalf.c -+ cmsalpha.c -+) -+ -+include_directories(${CMAKE_BINARY_DIR}) -+ -+add_library(lcms SHARED ${lcms_SRCS}) -+set_target_properties(lcms PROPERTIES OUTPUT_NAME "lcms2" -+ DEFINE_SYMBOL CMS_DLL_BUILD) -+ -+if(BUILD_TESTS OR BUILD_UTILS OR BUILD_STATIC) -+ add_library(lcms_static ${lcms_SRCS}) -+ set_target_properties(lcms_static PROPERTIES COMPILE_FLAGS -DCMS_STATIC) -+ set(LCMS_STATIC lcms_static) -+endif(BUILD_TESTS OR BUILD_UTILS OR BUILD_STATIC) -+ -+install(TARGETS lcms ${LCMS_STATIC} RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../include/lcms2.h ${CMAKE_CURRENT_SOURCE_DIR}/../include/lcms2_plugin.h DESTINATION include) -diff --git a/testbed/CMakeLists.txt b/testbed/CMakeLists.txt -new file mode 100644 -index 0000000..ca9008b ---- /dev/null -+++ b/testbed/CMakeLists.txt -@@ -0,0 +1,5 @@ -+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../include ${CMAKE_CURRENT_SOURCE_DIR}/../src) -+ -+add_executable(testcms testcms2.c testplugin.c zoo_icc.c) -+target_link_libraries(testcms lcms_static) -+set_target_properties(testcms PROPERTIES COMPILE_FLAGS -DCMS_STATIC) -diff --git a/testbed/testcms2.c b/testbed/testcms2.c -index 203e53c..9b37774 100644 ---- a/testbed/testcms2.c -+++ b/testbed/testcms2.c -@@ -28,7 +28,7 @@ - #include "testcms2.h" - - // On Visual Studio, use debug CRT --#ifdef _MSC_VER -+#ifdef _WIN32 - # include "crtdbg.h" - # include - #endif -diff --git a/testbed/zoo_icc.c b/testbed/zoo_icc.c -index b9e1efe..97e3294 100755 ---- a/testbed/zoo_icc.c -+++ b/testbed/zoo_icc.c -@@ -27,6 +27,11 @@ - - #include "testcms2.h" - -+#ifdef _WIN32 -+# include "crtdbg.h" -+# include -+#endif -+ - - // ZOO checks ------------------------------------------------------------------------------------------------------------ - -diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt -new file mode 100644 -index 0000000..c3be5bf ---- /dev/null -+++ b/utils/CMakeLists.txt -@@ -0,0 +1,78 @@ -+include_directories( -+ ${CMAKE_CURRENT_SOURCE_DIR}/../include -+ ${CMAKE_CURRENT_SOURCE_DIR}/../src -+ ${CMAKE_CURRENT_SOURCE_DIR}/../utils/common -+) -+ -+find_package(JPEG) -+find_package(TIFF) -+ -+set(UTILS_EXECUTABLES ) -+set(UTILS_MANPAGES ) -+ -+############################################################################### -+if(JPEG_FOUND) -+ include_directories(${JPEG_INCLUDE_DIR}) -+ set(JPGICC_SRCS -+ jpgicc/jpgicc.c -+ jpgicc/iccjpeg.c -+ common/xgetopt.c -+ common/vprf.c -+ ) -+ add_executable(jpgicc ${JPGICC_SRCS}) -+ target_link_libraries(jpgicc lcms ${JPEG_LIBRARIES}) -+ list(APPEND UTILS_EXECUTABLES jpgicc) -+ list(APPEND UTILS_MANPAGES jpgicc/jpgicc.1) -+endif(JPEG_FOUND) -+ -+############################################################################### -+set(LINKICC_SRCS -+ linkicc/linkicc.c -+ common/xgetopt.c -+ common/vprf.c -+) -+add_executable(linkicc ${LINKICC_SRCS}) -+target_link_libraries(linkicc lcms) -+list(APPEND UTILS_EXECUTABLES linkicc) -+list(APPEND UTILS_MANPAGES linkicc/linkicc.1) -+ -+############################################################################### -+set(PSICC_SRCS -+ psicc/psicc.c -+ common/xgetopt.c -+ common/vprf.c -+) -+add_executable(psicc ${PSICC_SRCS}) -+target_link_libraries(psicc lcms) -+list(APPEND UTILS_EXECUTABLES psicc) -+list(APPEND UTILS_MANPAGES psicc/psicc.1) -+ -+############################################################################### -+if(TIFF_FOUND) -+ include_directories(${TIFF_INCLUDE_DIR}) -+ set(JPGICC_SRCS -+ tificc/tificc.c -+ common/xgetopt.c -+ common/vprf.c -+ ) -+ add_executable(tificc ${JPGICC_SRCS}) -+ target_link_libraries(tificc lcms ${TIFF_LIBRARIES}) -+ list(APPEND UTILS_EXECUTABLES tificc) -+ list(APPEND UTILS_MANPAGES tificc/tificc.1) -+endif(TIFF_FOUND) -+ -+############################################################################### -+set(TRANSICC_SRCS -+ transicc/transicc.c -+ common/xgetopt.c -+ common/vprf.c -+) -+add_executable(transicc ${TRANSICC_SRCS}) -+target_link_libraries(transicc lcms) -+list(APPEND UTILS_EXECUTABLES transicc) -+list(APPEND UTILS_MANPAGES transicc/transicc.1) -+ -+install(TARGETS ${UTILS_EXECUTABLES} RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+install(FILES ${UTILS_MANPAGES} DESTINATION share/man/man1) diff -Nru krita-3.1.4/3rdparty/ext_libraw/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_libraw/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_libraw/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_libraw/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -SET(PREFIX_ext_libraw "${EXTPREFIX}" ) -ExternalProject_Add( ext_libraw - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/LibRaw-0.17.1.tar.gz - URL_MD5 1d272599e73b2c1d718621b68dcae5a8 - - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/libraw.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_libraw} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_lcms2 ext_jpeg -) - diff -Nru krita-3.1.4/3rdparty/ext_libraw/libraw.diff krita-3.1.4+dfsg/3rdparty/ext_libraw/libraw.diff --- krita-3.1.4/3rdparty/ext_libraw/libraw.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_libraw/libraw.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c5a1919..3b6fb6b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -577,9 +577,9 @@ INSTALL(TARGETS raw_r - ARCHIVE DESTINATION lib${LIB_SUFFIX} - ) - --# Install find cmake script to the system for client applications. --INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/FindLibRaw.cmake -- DESTINATION ${CMAKE_ROOT}/Modules) -+## Install find cmake script to the system for client applications. -+#INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/FindLibRaw.cmake -+# DESTINATION ${CMAKE_ROOT}/Modules) - - # Install doc data files. - IF(NOT WIN32) diff -Nru krita-3.1.4/3rdparty/ext_libxml2/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_libxml2/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_libxml2/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_libxml2/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -SET(PREFIX_ext_libxml2 "${EXTPREFIX}" ) -if (MSVC OR MINGW) - ExternalProject_Add( ext_libxml2 - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/libxml2-sources-2.9.3.tar.gz - URL_MD5 817ee2f5297e9763097074575903682d - - INSTALL_DIR ${PREFIX_ext_libxml2} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/libxml2-2.8.0-20110105.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_libxml2} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_patch ext_iconv ext_zlib - ) -else (MSVC OR MINGW) - ExternalProject_Add( ext_libxml2 - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/libxml2-sources-2.9.3.tar.gz - URL_MD5 817ee2f5297e9763097074575903682d - - INSTALL_DIR ${PREFIX_ext_libxml2} - CONFIGURE_COMMAND /configure --prefix=${PREFIX_ext_libxml2} ${GLOBAL_AUTOMAKE_PROFILE} --with-python-install-dir=${PREFIX_ext_libxml2} - BUILD_COMMAND make - INSTALL_COMMAND make install - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_iconv ext_zlib - ) -endif (MSVC OR MINGW) diff -Nru krita-3.1.4/3rdparty/ext_libxml2/libxml2-2.8.0-20110105.diff krita-3.1.4+dfsg/3rdparty/ext_libxml2/libxml2-2.8.0-20110105.diff --- krita-3.1.4/3rdparty/ext_libxml2/libxml2-2.8.0-20110105.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_libxml2/libxml2-2.8.0-20110105.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,1634 +0,0 @@ -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/catalog.c libxml2-2.8.0/catalog.c ---- tmp\libxml2-2.8.0/catalog.c 2012-05-21 04:19:21.000000000 +0200 -+++ libxml2-2.8.0/catalog.c 2012-05-23 20:10:09.985126400 +0200 -@@ -79,8 +79,31 @@ - static char XML_XML_DEFAULT_CATALOG[256] = "file:///etc/xml/catalog"; - #if defined(_WIN32_WCE) - /* Windows CE don't have a A variant */ --#define GetModuleHandleA GetModuleHandle --#define GetModuleFileNameA GetModuleFileName -+ -+static void * -+my_GetModuleHandleA(const char* path) -+{ -+ TCHAR pathUnc[MAX_PATH+1]; -+ if (!path) -+ return GetModuleHandle(NULL); -+ MultiByteToWideChar(CP_ACP, 0, path, -1, pathUnc, MAX_PATH); -+ return GetModuleHandle(pathUnc); -+} -+#undef GetModuleHandleA -+#define GetModuleHandleA my_GetModuleHandleA -+ -+static unsigned long -+my_GetModuleFileNameA(void *handle, char *buf, unsigned long bufsize) -+{ -+ /* FIXME: Error checking and size length comparison. */ -+ unsigned long res; -+ TCHAR pathUnc[MAX_PATH+1]; -+ res = GetModuleFileName (handle, pathUnc, MAX_PATH); -+ WideCharToMultiByte(CP_ACP, 0, pathUnc, -1, buf, bufsize, 0, 0); -+ return res; -+} -+#undef GetModuleFileNameA -+#define GetModuleFileNameA my_GetModuleFileNameA - #else - void* __stdcall GetModuleHandleA(const char*); - unsigned long __stdcall GetModuleFileNameA(void*, char*, unsigned long); -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/cmake/modules/FindLibiconv.cmake libxml2-2.8.0/cmake/modules/FindLibiconv.cmake ---- tmp\libxml2-2.8.0/cmake/modules/FindLibiconv.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ libxml2-2.8.0/cmake/modules/FindLibiconv.cmake 2012-05-23 20:10:10.022129800 +0200 -@@ -0,0 +1,33 @@ -+# Try to find Libiconv functionality -+# Once done this will define -+# -+# LIBICONV_FOUND - system has Libiconv -+# LIBICONV_INCLUDE_DIR - Libiconv include directory -+# LIBICONV_LIBRARIES - Libraries needed to use Libiconv -+# -+# Copyright (c) 2010, Patrick Spendrin, -+# -+# Redistribution and use is allowed according to the terms of the BSD license. -+ -+if(LIBICONV_INCLUDE_DIR AND LIBICONV_LIB_FOUND) -+ set(Libiconv_FIND_QUIETLY TRUE) -+endif(LIBICONV_INCLUDE_DIR AND LIBICONV_LIB_FOUND) -+ -+find_path(LIBICONV_INCLUDE_DIR iconv.h) -+ -+set(LIBICONV_LIB_FOUND FALSE) -+ -+if(LIBICONV_INCLUDE_DIR) -+ find_library(LIBICONV_LIBRARIES NAMES iconv iconv2 iconv-2 libiconv libiconv2 libiconv-2 ) -+ if(LIBICONV_LIBRARIES) -+ set(LIBICONV_LIB_FOUND TRUE) -+ endif(LIBICONV_LIBRARIES) -+endif(LIBICONV_INCLUDE_DIR) -+ -+# I have no idea what this is about, but it seems to be used quite often, so I add this here -+set(LIBICONV_CONST const) -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(Libiconv DEFAULT_MSG LIBICONV_LIBRARIES LIBICONV_LIB_FOUND) -+ -+mark_as_advanced(LIBICONV_INCLUDE_DIR LIBICONV_LIBRARIES LIBICONV_CONST LIBICONV_LIB_FOUND) -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/cmake/modules/FindWcecompat.cmake libxml2-2.8.0/cmake/modules/FindWcecompat.cmake ---- tmp\libxml2-2.8.0/cmake/modules/FindWcecompat.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ libxml2-2.8.0/cmake/modules/FindWcecompat.cmake 2012-05-23 20:10:10.042124600 +0200 -@@ -0,0 +1,33 @@ -+# Try to find Wcecompat functionality -+# Once done this will define -+# -+# WCECOMPAT_FOUND - system has Wcecompat -+# WCECOMPAT_INCLUDE_DIR - Wcecompat include directory -+# WCECOMPAT_LIBRARIES - Libraries needed to use Wcecompat -+# -+# Copyright (c) 2010, Andreas Holzammer, -+# -+# Redistribution and use is allowed according to the terms of the BSD license. -+ -+if(WCECOMPAT_INCLUDE_DIR AND WCECOMPAT_LIB_FOUND) -+ set(Wcecompat_FIND_QUIETLY TRUE) -+endif(WCECOMPAT_INCLUDE_DIR AND WCECOMPAT_LIB_FOUND) -+ -+find_path(WCECOMPAT_INCLUDE_DIR errno.h PATH_SUFFIXES wcecompat) -+ -+set(WCECOMPAT_LIB_FOUND FALSE) -+ -+if(WCECOMPAT_INCLUDE_DIR) -+ find_library(WCECOMPAT_LIBRARIES NAMES wcecompat wcecompatex ) -+ if(WCECOMPAT_LIBRARIES) -+ set(WCECOMPAT_LIB_FOUND TRUE) -+ endif(WCECOMPAT_LIBRARIES) -+endif(WCECOMPAT_INCLUDE_DIR) -+ -+# I have no idea what this is about, but it seems to be used quite often, so I add this here -+set(WCECOMPAT_CONST const) -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(Wcecompat DEFAULT_MSG WCECOMPAT_LIBRARIES WCECOMPAT_LIB_FOUND) -+ -+mark_as_advanced(WCECOMPAT_INCLUDE_DIR WCECOMPAT_LIBRARIES WCECOMPAT_CONST WCECOMPAT_LIB_FOUND) -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/CMakeLists.txt libxml2-2.8.0/CMakeLists.txt ---- tmp\libxml2-2.8.0/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ libxml2-2.8.0/CMakeLists.txt 2012-05-23 20:30:06.625279900 +0200 -@@ -0,0 +1,315 @@ -+# This file is copyrighted under the BSD-license for buildsystem files of KDE -+# copyright 2010, Patrick Spendrin -+ -+project(libxml2) -+ -+cmake_minimum_required(VERSION 2.6) -+ -+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) -+ -+set(PACKAGE "libxml2") -+set(VERSION "2.7.8") -+ -+find_package(ZLIB) -+find_package(Libiconv REQUIRED) -+ -+include_directories( -+ ${CMAKE_BINARY_DIR} -+ ${CMAKE_BINARY_DIR}/include -+ ${CMAKE_SOURCE_DIR}/include -+ ${ZLIB_INCLUDE_DIR} -+ ${Libiconv_INCLUDE_DIR} -+ ${CMAKE_SOURCE_DIR}/win32/wince -+) -+ -+if(WINCE) -+ find_package(Wcecompat REQUIRED) -+ include_directories(${WCECOMPAT_INCLUDE_DIR}) -+ set(CMAKE_REQUIRED_INCLUDES ${WCECOMPAT_INCLUDE_DIR}) -+ set(CMAKE_REQUIRED_LIBRARIES ${WCECOMPAT_LIBRARIES}) -+endif(WINCE) -+ -+option(SUPPORT_IP6 "support IPv6" ON) -+option(ENABLE_THREADS "enable threading in libxml" ON) -+option(ENABLE_TRIO "enable trio IO in libxml" OFF) -+option(BUILD_tests "build all the test executables in libxml" ON) -+option(WITH_ICU "build with ICU support" OFF) -+ -+if(ENABLE_TRIO) -+ set(WITH_TRIO 1) -+else() -+ set(WITH_TRIO 0) -+endif() -+ -+if(ENABLE_THREADS) -+ set(WITH_THREADS 1) -+else() -+ set(WITH_THREADS 0) -+endif() -+set(WITH_TREE 1) -+set(WITH_OUTPUT 1) -+set(WITH_PUSH 1) -+set(WITH_READER 1) -+set(WITH_PATTERN 1) -+set(WITH_WRITER 1) -+set(WITH_SAX1 1) -+set(WITH_FTP 1) -+set(WITH_HTTP 1) -+set(WITH_VALID 1) -+set(WITH_HTML 1) -+set(WITH_LEGACY 1) -+set(WITH_C14N 1) -+set(WITH_CATALOG 1) -+set(WITH_DOCB 1) -+set(WITH_XPATH 1) -+set(WITH_XPTR 1) -+set(WITH_XINCLUDE 1) -+set(WITH_ICONV 1) -+set(WITH_ISO8859X 1) -+set(WITH_DEBUG 0) #setting to one may result into a crash in case http://mail.gnome.org/archives/xml/2011-April/msg00011.html has not been fixed -+set(WITH_MEM_DEBUG 0) -+set(WITH_RUN_DEBUG 0) #setting to one may result into a crash in case http://mail.gnome.org/archives/xml/2011-April/msg00011.html has not been fixed -+set(WITH_REGEXPS 1) -+set(WITH_SCHEMAS 1) -+set(WITH_SCHEMATRON 1) -+set(WITH_MODULES 1) -+set(WITH_LZMA 0) -+if(ZLIB_FOUND) -+ set(WITH_ZLIB 1) -+else() -+ set(WITH_ZLIB 0) -+endif() -+ -+set (LIBXML_VERSION_EXTRA 0) -+STRING(REPLACE "." "0" LIBXML_VERSION_NUMBER ${VERSION}) -+ -+include(ConfigureChecks.cmake) -+ -+######################################### Library ############################################### -+ -+set(libxml2_SRCS -+ SAX.c -+ entities.c -+ encoding.c -+ error.c -+ parserInternals.c -+ parser.c -+ tree.c -+ hash.c -+ list.c -+ xmlIO.c -+ xmlmemory.c -+ uri.c -+ valid.c -+ xlink.c -+ HTMLparser.c -+ HTMLtree.c -+ debugXML.c -+ xpath.c -+ xpointer.c -+ xinclude.c -+ nanohttp.c -+ nanoftp.c -+ DOCBparser.c -+ catalog.c -+ globals.c -+ threads.c -+ c14n.c -+ xmlstring.c -+ xmlregexp.c -+ xmlschemas.c -+ xmlschemastypes.c -+ xmlunicode.c -+ xmlreader.c -+ relaxng.c -+ dict.c -+ SAX2.c -+ xmlwriter.c -+ legacy.c -+ chvalid.c -+ pattern.c -+ xmlsave.c -+ xmlmodule.c -+ schematron.c -+) -+ -+# the trio code is yet untested, you need to change the xmlversion.h for that too -+# this is currently not supported as you'd need to configure the xmlversion.h.in -+if(ENABLE_TRIO) -+ set(libxml2_SRCS -+ ${libxml2_SRCS} -+ triostr.c -+ trio.c -+ ) -+endif(ENABLE_TRIO) -+ -+if(WINCE) -+add_library(xml2 STATIC ${libxml2_SRCS}) -+else(WINCE) -+add_library(xml2 SHARED ${libxml2_SRCS}) -+endif(WINCE) -+target_link_libraries(xml2 ${LIBICONV_LIBRARIES}) -+install(TARGETS xml2 RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+if(WIN32) -+ if(MSVC) -+ set_target_properties(xml2 PROPERTIES OUTPUT_NAME libxml2) -+ endif(MSVC) -+ if(WINCE) -+ target_link_libraries(xml2 ws2) -+ else(WINCE) -+ target_link_libraries(xml2 ws2_32) -+ endif(WINCE) -+ if(ENABLE_THREADS AND MINGW) -+ target_link_libraries(xml2 winpthread) -+ endif(ENABLE_THREADS AND MINGW) -+endif(WIN32) -+ -+if(ZLIB_FOUND) -+ target_link_libraries(xml2 ${ZLIB_LIBRARIES}) -+endif(ZLIB_FOUND) -+ -+ -+ -+######################################### Utilities ############################################### -+ -+# For WINCE the utils are not compiled -+if(NOT WINCE) -+add_executable(xmllint xmllint.c) -+target_link_libraries(xmllint xml2) -+install(TARGETS xmllint RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+add_executable(xmlcatalog xmlcatalog.c) -+target_link_libraries(xmlcatalog xml2) -+install(TARGETS xmlcatalog RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+endif(NOT WINCE) -+ -+######################################### headers & docs ############################################### -+set(libxml2_HDRS -+include/libxml/SAX.h -+include/libxml/entities.h -+include/libxml/encoding.h -+include/libxml/parser.h -+include/libxml/parserInternals.h -+include/libxml/xmlerror.h -+include/libxml/HTMLparser.h -+include/libxml/HTMLtree.h -+include/libxml/debugXML.h -+include/libxml/tree.h -+include/libxml/list.h -+include/libxml/hash.h -+include/libxml/xpath.h -+include/libxml/xpathInternals.h -+include/libxml/xpointer.h -+include/libxml/xinclude.h -+include/libxml/xmlIO.h -+include/libxml/xmlmemory.h -+include/libxml/nanohttp.h -+include/libxml/nanoftp.h -+include/libxml/uri.h -+include/libxml/valid.h -+include/libxml/xlink.h -+${CMAKE_BINARY_DIR}/include/libxml/xmlversion.h -+include/libxml/DOCBparser.h -+include/libxml/catalog.h -+include/libxml/threads.h -+include/libxml/globals.h -+include/libxml/c14n.h -+include/libxml/xmlautomata.h -+include/libxml/xmlregexp.h -+include/libxml/xmlmodule.h -+include/libxml/xmlschemas.h -+include/libxml/schemasInternals.h -+include/libxml/xmlschemastypes.h -+include/libxml/xmlstring.h -+include/libxml/xmlunicode.h -+include/libxml/xmlreader.h -+include/libxml/relaxng.h -+include/libxml/dict.h -+include/libxml/SAX2.h -+include/libxml/xmlexports.h -+include/libxml/xmlwriter.h -+include/libxml/chvalid.h -+include/libxml/pattern.h -+include/libxml/xmlsave.h -+include/libxml/schematron.h) -+ -+if(WINCE) -+set(libxml2_HDRS -+ ${libxml2_HDRS} -+ win32/wince/wincecompat.h) -+endif(WINCE) -+ -+install(FILES ${libxml2_HDRS} DESTINATION include/libxml) -+ -+set(_html_DOCS -+doc/xml.html -+doc/encoding.html -+doc/FAQ.html -+doc/structure.gif -+doc/DOM.gif -+doc/smallfootonly.gif -+doc/redhat.gif -+doc/libxml.gif -+doc/w3c.png -+doc/Libxml2-Logo-180x168.gif -+doc/Libxml2-Logo-90x34.gif -+) -+ -+file(GLOB html_DOCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/doc/html/*.html") -+file(GLOB png_DOCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/doc/html/*.png") -+install(FILES ${html_DOCS} ${png_DOCS} DESTINATION doc/libxml/html) -+ -+file(GLOB tut_DOCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/doc/tutorial/*.*") -+install(FILES ${tut_DOCS} DESTINATION doc/libxml/html/tutorial) -+ -+ -+######################################### Tests ############################################### -+if(BUILD_tests) -+macro(buildTests) -+ foreach(target ${ARGN}) -+ add_executable(${target} ${target}.c) -+ target_link_libraries(${target} xml2) -+ if(WINCE) -+ target_link_libraries(${target} ${WCECOMPAT_LIBRARIES}) -+ endif(WINCE) -+ endforeach(target ${ARGN}) -+endmacro(buildTests) -+ -+buildTests( -+ testSchemas -+ testRelax -+ testSAX -+ testHTML -+ testXPath -+ testURI -+ testC14N -+ testAutomata -+ testRegexp -+ testReader -+ testapi -+ testModule -+ runtest -+ runsuite -+ testchar -+ testdict -+ runxmlconf -+ testrecurse -+) -+if(WIN32) -+ buildTests( -+ testThreadsWin32 -+ ) -+else(WIN32) -+ buildTests( -+ testThreads -+ ) -+endif(WIN32) -+endif(BUILD_tests) -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/config.h.cmake libxml2-2.8.0/config.h.cmake ---- tmp\libxml2-2.8.0/config.h.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ libxml2-2.8.0/config.h.cmake 2012-05-23 20:10:10.063122900 +0200 -@@ -0,0 +1,312 @@ -+/* config.h.in. Generated from configure.in by autoheader. */ -+#cmakedefine PACKAGE -+#cmakedefine VERSION -+#cmakedefine HAVE_LIBZ -+#cmakedefine HAVE_LIBM -+#cmakedefine HAVE_ISINF -+#cmakedefine HAVE_ISNAN -+#cmakedefine HAVE_LIBHISTORY -+#cmakedefine HAVE_LIBREADLINE -+#cmakedefine HAVE_LIBPTHREAD -+#cmakedefine HAVE_PTHREAD_H -+ -+/* Define if IPV6 support is there */ -+#cmakedefine SUPPORT_IP6 -+ -+/* Define if getaddrinfo is there */ -+#cmakedefine HAVE_GETADDRINFO -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_ANSIDECL_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_ARPA_INET_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_ARPA_NAMESER_H -+ -+/* Whether struct sockaddr::__ss_family exists */ -+#cmakedefine HAVE_BROKEN_SS_FAMILY -+ -+/* Define to 1 if you have the `class' function. */ -+#cmakedefine HAVE_CLASS -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_CTYPE_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_DIRENT_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_DLFCN_H -+ -+/* Have dlopen based dso */ -+#cmakedefine HAVE_DLOPEN -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_DL_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_ERRNO_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_FCNTL_H -+ -+/* Define to 1 if you have the `finite' function. */ -+#cmakedefine HAVE_FINITE -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_FLOAT_H -+ -+/* Define to 1 if you have the `fpclass' function. */ -+#cmakedefine HAVE_FPCLASS -+ -+/* Define to 1 if you have the `fprintf' function. */ -+#cmakedefine HAVE_FPRINTF -+ -+/* Define to 1 if you have the `fp_class' function. */ -+#cmakedefine HAVE_FP_CLASS -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_FP_CLASS_H -+ -+/* Define to 1 if you have the `ftime' function. */ -+#cmakedefine HAVE_FTIME -+ -+/* Define if getaddrinfo is there */ -+#cmakedefine HAVE_GETADDRINFO -+ -+/* Define to 1 if you have the `gettimeofday' function. */ -+#cmakedefine HAVE_GETTIMEOFDAY -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_IEEEFP_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_INTTYPES_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_INTTYPES_H_H -+ -+/* Define if isinf is there */ -+#cmakedefine HAVE_ISINF -+ -+/* Define if isnan is there */ -+#cmakedefine HAVE_ISNAN -+ -+/* Define to 1 if you have the `isnand' function. */ -+#cmakedefine HAVE_ISNAND -+ -+/* Define if history library is there (-lhistory) */ -+#cmakedefine HAVE_LIBHISTORY -+ -+/* Define if pthread library is there (-lpthread) */ -+#cmakedefine HAVE_LIBPTHREAD -+ -+/* Define if readline library is there (-lreadline) */ -+#cmakedefine HAVE_LIBREADLINE -+ -+/* Have compression library */ -+#cmakedefine HAVE_LIBZ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_LIMITS_H -+ -+/* Define to 1 if you have the `localtime' function. */ -+#cmakedefine HAVE_LOCALTIME -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MALLOC_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MATH_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MEMORY_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_NAN_H -+ -+/* Define to 1 if you have the header file, and it defines `DIR'. */ -+#cmakedefine HAVE_NDIR_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_NETDB_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_NETINET_IN_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_POLL_H -+ -+/* Define to 1 if you have the `printf' function. */ -+#cmakedefine HAVE_PRINTF -+ -+/* Define if is there */ -+#cmakedefine HAVE_PTHREAD_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_RESOLV_H -+ -+/* Have shl_load based dso */ -+#cmakedefine HAVE_SHLLOAD -+ -+/* Define to 1 if you have the `signal' function. */ -+#cmakedefine HAVE_SIGNAL -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SIGNAL_H -+ -+/* Define to 1 if you have the `snprintf' function. */ -+#cmakedefine HAVE_SNPRINTF -+ -+/* Define to 1 if you have the `sprintf' function. */ -+#cmakedefine HAVE_SPRINTF -+ -+/* Define to 1 if you have the `sscanf' function. */ -+#cmakedefine HAVE_SSCANF -+ -+/* Define to 1 if you have the `stat' function. */ -+#cmakedefine HAVE_STAT -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDARG_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDINT_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDLIB_H -+ -+/* Define to 1 if you have the `strdup' function. */ -+#cmakedefine HAVE_STRDUP -+ -+/* Define to 1 if you have the `strerror' function. */ -+#cmakedefine HAVE_STRERROR -+ -+/* Define to 1 if you have the `strftime' function. */ -+#cmakedefine HAVE_STRFTIME -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STRINGS_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STRING_H -+ -+/* Define to 1 if you have the `strndup' function. */ -+#cmakedefine HAVE_STRNDUP -+ -+/* Define to 1 if you have the header file, and it defines `DIR'. -+ */ -+#cmakedefine HAVE_SYS_DIR_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_MMAN_H -+ -+/* Define to 1 if you have the header file, and it defines `DIR'. -+ */ -+#cmakedefine HAVE_SYS_NDIR_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_SELECT_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_SOCKET_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_STAT_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TIMEB_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TIME_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TYPES_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_TIME_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_UNISTD_H 1 -+ -+/* Whether va_copy() is available */ -+#cmakedefine HAVE_VA_COPY -+ -+/* Define to 1 if you have the `vfprintf' function. */ -+#cmakedefine HAVE_VFPRINTF -+ -+/* Define to 1 if you have the `vsnprintf' function. */ -+#cmakedefine HAVE_VSNPRINTF -+ -+/* Define to 1 if you have the `vsprintf' function. */ -+#cmakedefine HAVE_VSPRINTF -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_ZLIB_H -+ -+/* Define to 1 if you have the `_stat' function. */ -+#cmakedefine HAVE__STAT -+ -+/* Whether __va_copy() is available */ -+#cmakedefine HAVE___VA_COPY -+ -+/* Define as const if the declaration of iconv() needs const. */ -+#cmakedefine ICONV_CONST @ICONV_CONST@ -+ -+/* Define to the sub-directory in which libtool stores uninstalled libraries. -+ */ -+#cmakedefine LT_OBJDIR -+ -+/* Name of package */ -+#cmakedefine PACKAGE -+ -+/* Define to the address where bug reports for this package should be sent. */ -+#cmakedefine PACKAGE_BUGREPORT -+ -+/* Define to the full name of this package. */ -+#cmakedefine PACKAGE_NAME -+ -+/* Define to the full name and version of this package. */ -+#cmakedefine PACKAGE_STRING -+ -+/* Define to the one symbol short name of this package. */ -+#cmakedefine PACKAGE_TARNAME -+ -+/* Define to the version of this package. */ -+#cmakedefine PACKAGE_VERSION -+ -+/* Define to 1 if the C compiler supports function prototypes. */ -+#cmakedefine PROTOTYPES -+ -+/* Define to 1 if you have the ANSI C header files. */ -+#cmakedefine STDC_HEADERS -+ -+/* Support for IPv6 */ -+#cmakedefine SUPPORT_IP6 -+ -+/* Version number of package */ -+#cmakedefine VERSION -+ -+/* Determine what socket length (socklen_t) data type is */ -+#cmakedefine XML_SOCKLEN_T -+ -+/* Using the Win32 Socket implementation */ -+#cmakedefine _WINSOCKAPI_ -+ -+/* Define like PROTOTYPES; this can be used by system headers. */ -+#cmakedefine __PROTOTYPES -+ -+/* Win32 Std C name mangling work-around */ -+#cmakedefine snprintf -+ -+/* ss_family is not defined here, use __ss_family instead */ -+#cmakedefine ss_family -+ -+/* Win32 Std C name mangling work-around */ -+#cmakedefine vsnprintf -+ -+#ifdef _MSC_VER -+//#define snprintf _snprintf -+#endif -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/ConfigureChecks.cmake libxml2-2.8.0/ConfigureChecks.cmake ---- tmp\libxml2-2.8.0/ConfigureChecks.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ libxml2-2.8.0/ConfigureChecks.cmake 2012-05-23 20:10:10.076124500 +0200 -@@ -0,0 +1,141 @@ -+#some configure checks -+ -+# LIBXML_ENABLE_THREADS -+if(ENABLE_THREADS) -+ if(UNIX) -+ add_definitions(-DLIBXML_THREAD_ENABLED) -+ else(UNIX) -+ add_definitions(-DHAVE_WIN32_THREADS) -+ endif(UNIX) -+endif(ENABLE_THREADS) -+ -+# set ICONV_CONST -+set(ICONV_CONST ${LIBICONV_CONST}) -+ -+# HAVE_LIBZ -+if(ZLIB_FOUND) -+ set(HAVE_LIBZ ON) -+endif(ZLIB_FOUND) -+ -+# HAVE_LIBM -+if(UNIX) -+ set(HAVE_LIBM ON) -+endif(UNIX) -+ -+# HAVE_LIBPTHREAD -+if(CMAKE_SYSTEM_NAME STREQUAL GNU) -+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pthread") -+ set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -pthread") -+ set(HAVE_LIBPTHREAD ON) -+endif(CMAKE_SYSTEM_NAME STREQUAL GNU) -+ -+# HAVE_LIBHISTORY -+# HAVE_LIBREADLINE -+ -+set(CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIR} ${CMAKE_REQUIRED_INCLUDES}) -+set(CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES} ${CMAKE_REQUIRED_LIBRARIES}) -+include(CheckIncludeFile) -+include(CheckFunctionExists) -+include(CheckSymbolExists) -+ -+check_include_file("fcntl.h" HAVE_FCNTL_H) -+check_include_file("pthread.h" HAVE_PTHREAD_H) -+check_include_file("ansidecl.h" HAVE_ANSIDECL_H) -+check_include_file("arpa/inet.h" HAVE_ARPA_INET_H) -+check_include_file("arpa/nameser.h" HAVE_ARPA_NAMESER_H) -+check_include_file("ctype.h" HAVE_CTYPE_H) -+check_include_file("dirent.h" HAVE_DIRENT_H) -+check_include_file("dlfcn.h" HAVE_DLFCN_H) -+check_include_file("dl.h" HAVE_DL_H) -+check_include_file("errno.h" HAVE_ERRNO_H) -+check_include_file("float.h" HAVE_FLOAT_H) -+check_include_file("fp_class.h" HAVE_FP_CLASS_H) -+check_include_file("ieeefp.h" HAVE_IEEEFP_H) -+check_include_file("inttypes.h" HAVE_INTTYPES_H) -+check_include_file("inttypes.h.h" HAVE_INTTYPES_H_H) -+check_include_file("limits.h" HAVE_LIMITS_H) -+check_include_file("malloc.h" HAVE_MALLOC_H) -+check_include_file("math.h" HAVE_MATH_H) -+check_include_file("memory.h" HAVE_MEMORY_H) -+check_include_file("nan.h" HAVE_NAN_H) -+check_include_file("ndir.h" HAVE_NDIR_H) -+check_include_file("netdb.h" HAVE_NETDB_H) -+check_include_file("netinet/in.h" HAVE_NETINET_IN_H) -+check_include_file("poll.h" HAVE_POLL_H) -+check_include_file("pthread.h" HAVE_PTHREAD_H) -+check_include_file("resolv.h" HAVE_RESOLV_H) -+check_include_file("signal.h" HAVE_SIGNAL_H) -+check_include_file("stdarg.h" HAVE_STDARG_H) -+check_include_file("stdint.h" HAVE_STDINT_H) -+check_include_file("stdlib.h" HAVE_STDLIB_H) -+check_include_file("strings.h" HAVE_STRINGS_H) -+check_include_file("string.h" HAVE_STRING_H) -+check_include_file("sys/dir.h" HAVE_SYS_DIR_H) -+check_include_file("sys/mman.h" HAVE_SYS_MMAN_H) -+check_include_file("sys/ndir.h" HAVE_SYS_NDIR_H) -+check_include_file("sys/select.h" HAVE_SYS_SELECT_H) -+check_include_file("sys/socket.h" HAVE_SYS_SOCKET_H) -+check_include_file("sys/stat.h" HAVE_SYS_STAT_H) -+check_include_file("sys/timeb.h" HAVE_SYS_TIMEB_H) -+check_include_file("sys/time.h" HAVE_SYS_TIME_H) -+check_include_file("sys/types.h" HAVE_SYS_TYPES_H) -+check_include_file("time.h" HAVE_TIME_H) -+check_include_file("unistd.h" HAVE_UNISTD_H) -+check_include_file("zlib.h" HAVE_ZLIB_H) -+ -+if(NOT HAVE_RESOLV_H) -+set(SUPPORT_IP6 OFF) -+endif(NOT HAVE_RESOLV_H) -+ -+#/* Whether struct sockaddr::__ss_family exists */ ??? -+#cmakedefine HAVE_BROKEN_SS_FAMILY -+ -+check_function_exists("strdup" HAVE_STRDUP) -+check_function_exists("getaddrinfo" HAVE_GETADDRINFO) -+check_function_exists("class" HAVE_CLASS) -+check_function_exists("dlopen" HAVE_DLOPEN) -+check_function_exists("shl_load" HAVE_SHLLOAD) -+check_function_exists("finite" HAVE_FINITE) -+check_function_exists("fpclass" HAVE_FPCLASS) -+check_function_exists("fprintf" HAVE_FPRINTF) -+check_function_exists("fp_class" HAVE_FP_CLASS) -+check_function_exists("ftime" HAVE_FTIME) -+check_function_exists("gettimeofday" HAVE_GETTIMEOFDAY) -+check_function_exists("isinf" HAVE_ISINF) -+check_function_exists("isnan" HAVE_ISNAN) -+check_function_exists("isnand" HAVE_ISNAND) -+check_function_exists("localtime" HAVE_LOCALTIME) -+check_function_exists("printf" HAVE_PRINTF) -+check_function_exists("signal" HAVE_SIGNAL) -+check_function_exists("snprintf" HAVE_SNPRINTF) -+check_function_exists("sprintf" HAVE_SPRINTF) -+check_function_exists("sscanf" HAVE_SSCANF) -+check_function_exists("stat" HAVE_STAT) -+check_function_exists("strdup" HAVE_STRDUP) -+check_function_exists("strerror" HAVE_STRERROR) -+check_function_exists("strftime" HAVE_STRFTIME) -+check_function_exists("strndup" HAVE_STRNDUP) -+check_function_exists("vfprintf" HAVE_VFPRINTF) -+check_function_exists("vsnprintf" HAVE_VSNPRINTF) -+check_function_exists("vsprintf" HAVE_VSPRINTF) -+check_function_exists("va_copy" HAVE_VA_COPY) -+check_function_exists("_stat" HAVE__STAT) -+check_function_exists("__va_copy" HAVE___VA_COPY) -+ -+if(MSVC) -+ add_definitions(-D_CRT_SECURE_NO_WARNINGS) -+endif(MSVC) -+ -+if(ZLIB_FOUND) -+ # disable large file support in case the functions are not contained in the dll -+ check_symbol_exists("gzopen64" "zlib.h" GZOPEN64) -+ if(NOT GZOPEN64) -+ add_definitions(-DNO_LARGEFILE_SOURCE) -+ message(STATUS "No Large File Support in libz!") -+ endif(NOT GZOPEN64) -+endif(ZLIB_FOUND) -+ -+configure_file(config.h.cmake config.h) -+ -+configure_file(include/libxml/xmlversion.h.in ${CMAKE_BINARY_DIR}/include/libxml/xmlversion.h) -+ -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/debugXML.c libxml2-2.8.0/debugXML.c ---- tmp\libxml2-2.8.0/debugXML.c 2012-05-07 13:52:06.000000000 +0200 -+++ libxml2-2.8.0/debugXML.c 2012-05-23 20:10:10.102121800 +0200 -@@ -116,6 +116,8 @@ - while (cur != NULL) { - if (cur == ns) - return(1); -+ if (xmlStrEqual(cur->prefix, ns->prefix) && xmlStrEqual(cur->href, ns->href)) -+ return(1); - if (xmlStrEqual(cur->prefix, ns->prefix)) - return(-2); - cur = cur->next; -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/include/libxml/nanoftp.h libxml2-2.8.0/include/libxml/nanoftp.h ---- tmp\libxml2-2.8.0/include/libxml/nanoftp.h 2010-12-20 13:56:24.000000000 +0100 -+++ libxml2-2.8.0/include/libxml/nanoftp.h 2012-05-23 20:10:10.121122000 +0200 -@@ -16,7 +16,7 @@ - #ifdef LIBXML_FTP_ENABLED - - /* Needed for portability to Windows 64 bits */ --#if defined(__MINGW32__) || defined(_WIN32_WCE) -+#if defined(__MINGW32__) || defined(_WIN32_WCE) || defined (_WIN32) - #include - #else - /** -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/include/libxml/xmlversion.h libxml2-2.8.0/include/libxml/xmlversion.h ---- tmp\libxml2-2.8.0/include/libxml/xmlversion.h 2012-05-23 10:56:44.000000000 +0200 -+++ libxml2-2.8.0/include/libxml/xmlversion.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,476 +0,0 @@ --/* -- * Summary: compile-time version informations -- * Description: compile-time version informations for the XML library -- * -- * Copy: See Copyright for the status of this software. -- * -- * Author: Daniel Veillard -- */ -- --#ifndef __XML_VERSION_H__ --#define __XML_VERSION_H__ -- --#include -- --#ifdef __cplusplus --extern "C" { --#endif -- --/* -- * use those to be sure nothing nasty will happen if -- * your library and includes mismatch -- */ --#ifndef LIBXML2_COMPILING_MSCCDEF --XMLPUBFUN void XMLCALL xmlCheckVersion(int version); --#endif /* LIBXML2_COMPILING_MSCCDEF */ -- --/** -- * LIBXML_DOTTED_VERSION: -- * -- * the version string like "1.2.3" -- */ --#define LIBXML_DOTTED_VERSION "2.8.0" -- --/** -- * LIBXML_VERSION: -- * -- * the version number: 1.2.3 value is 10203 -- */ --#define LIBXML_VERSION 20800 -- --/** -- * LIBXML_VERSION_STRING: -- * -- * the version number string, 1.2.3 value is "10203" -- */ --#define LIBXML_VERSION_STRING "20800" -- --/** -- * LIBXML_VERSION_EXTRA: -- * -- * extra version information, used to show a CVS compilation -- */ --#define LIBXML_VERSION_EXTRA "-GITv2.8.0-rc2-1-g22030ef" -- --/** -- * LIBXML_TEST_VERSION: -- * -- * Macro to check that the libxml version in use is compatible with -- * the version the software has been compiled against -- */ --#define LIBXML_TEST_VERSION xmlCheckVersion(20800); -- --#ifndef VMS --#if 0 --/** -- * WITH_TRIO: -- * -- * defined if the trio support need to be configured in -- */ --#define WITH_TRIO --#else --/** -- * WITHOUT_TRIO: -- * -- * defined if the trio support should not be configured in -- */ --#define WITHOUT_TRIO --#endif --#else /* VMS */ --/** -- * WITH_TRIO: -- * -- * defined if the trio support need to be configured in -- */ --#define WITH_TRIO 1 --#endif /* VMS */ -- --/** -- * LIBXML_THREAD_ENABLED: -- * -- * Whether the thread support is configured in -- */ --#if 1 --#if defined(_REENTRANT) || defined(__MT__) || \ -- (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L)) --#define LIBXML_THREAD_ENABLED --#endif --#endif -- --/** -- * LIBXML_TREE_ENABLED: -- * -- * Whether the DOM like tree manipulation API support is configured in -- */ --#if 1 --#define LIBXML_TREE_ENABLED --#endif -- --/** -- * LIBXML_OUTPUT_ENABLED: -- * -- * Whether the serialization/saving support is configured in -- */ --#if 1 --#define LIBXML_OUTPUT_ENABLED --#endif -- --/** -- * LIBXML_PUSH_ENABLED: -- * -- * Whether the push parsing interfaces are configured in -- */ --#if 1 --#define LIBXML_PUSH_ENABLED --#endif -- --/** -- * LIBXML_READER_ENABLED: -- * -- * Whether the xmlReader parsing interface is configured in -- */ --#if 1 --#define LIBXML_READER_ENABLED --#endif -- --/** -- * LIBXML_PATTERN_ENABLED: -- * -- * Whether the xmlPattern node selection interface is configured in -- */ --#if 1 --#define LIBXML_PATTERN_ENABLED --#endif -- --/** -- * LIBXML_WRITER_ENABLED: -- * -- * Whether the xmlWriter saving interface is configured in -- */ --#if 1 --#define LIBXML_WRITER_ENABLED --#endif -- --/** -- * LIBXML_SAX1_ENABLED: -- * -- * Whether the older SAX1 interface is configured in -- */ --#if 1 --#define LIBXML_SAX1_ENABLED --#endif -- --/** -- * LIBXML_FTP_ENABLED: -- * -- * Whether the FTP support is configured in -- */ --#if 1 --#define LIBXML_FTP_ENABLED --#endif -- --/** -- * LIBXML_HTTP_ENABLED: -- * -- * Whether the HTTP support is configured in -- */ --#if 1 --#define LIBXML_HTTP_ENABLED --#endif -- --/** -- * LIBXML_VALID_ENABLED: -- * -- * Whether the DTD validation support is configured in -- */ --#if 1 --#define LIBXML_VALID_ENABLED --#endif -- --/** -- * LIBXML_HTML_ENABLED: -- * -- * Whether the HTML support is configured in -- */ --#if 1 --#define LIBXML_HTML_ENABLED --#endif -- --/** -- * LIBXML_LEGACY_ENABLED: -- * -- * Whether the deprecated APIs are compiled in for compatibility -- */ --#if 1 --#define LIBXML_LEGACY_ENABLED --#endif -- --/** -- * LIBXML_C14N_ENABLED: -- * -- * Whether the Canonicalization support is configured in -- */ --#if 1 --#define LIBXML_C14N_ENABLED --#endif -- --/** -- * LIBXML_CATALOG_ENABLED: -- * -- * Whether the Catalog support is configured in -- */ --#if 1 --#define LIBXML_CATALOG_ENABLED --#endif -- --/** -- * LIBXML_DOCB_ENABLED: -- * -- * Whether the SGML Docbook support is configured in -- */ --#if 1 --#define LIBXML_DOCB_ENABLED --#endif -- --/** -- * LIBXML_XPATH_ENABLED: -- * -- * Whether XPath is configured in -- */ --#if 1 --#define LIBXML_XPATH_ENABLED --#endif -- --/** -- * LIBXML_XPTR_ENABLED: -- * -- * Whether XPointer is configured in -- */ --#if 1 --#define LIBXML_XPTR_ENABLED --#endif -- --/** -- * LIBXML_XINCLUDE_ENABLED: -- * -- * Whether XInclude is configured in -- */ --#if 1 --#define LIBXML_XINCLUDE_ENABLED --#endif -- --/** -- * LIBXML_ICONV_ENABLED: -- * -- * Whether iconv support is available -- */ --#if 1 --#define LIBXML_ICONV_ENABLED --#endif -- --/** -- * LIBXML_ICU_ENABLED: -- * -- * Whether icu support is available -- */ --#if 0 --#define LIBXML_ICU_ENABLED --#endif -- --/** -- * LIBXML_ISO8859X_ENABLED: -- * -- * Whether ISO-8859-* support is made available in case iconv is not -- */ --#if 1 --#define LIBXML_ISO8859X_ENABLED --#endif -- --/** -- * LIBXML_DEBUG_ENABLED: -- * -- * Whether Debugging module is configured in -- */ --#if 1 --#define LIBXML_DEBUG_ENABLED --#endif -- --/** -- * DEBUG_MEMORY_LOCATION: -- * -- * Whether the memory debugging is configured in -- */ --#if 0 --#define DEBUG_MEMORY_LOCATION --#endif -- --/** -- * LIBXML_DEBUG_RUNTIME: -- * -- * Whether the runtime debugging is configured in -- */ --#if 0 --#define LIBXML_DEBUG_RUNTIME --#endif -- --/** -- * LIBXML_UNICODE_ENABLED: -- * -- * Whether the Unicode related interfaces are compiled in -- */ --#if 1 --#define LIBXML_UNICODE_ENABLED --#endif -- --/** -- * LIBXML_REGEXP_ENABLED: -- * -- * Whether the regular expressions interfaces are compiled in -- */ --#if 1 --#define LIBXML_REGEXP_ENABLED --#endif -- --/** -- * LIBXML_AUTOMATA_ENABLED: -- * -- * Whether the automata interfaces are compiled in -- */ --#if 1 --#define LIBXML_AUTOMATA_ENABLED --#endif -- --/** -- * LIBXML_EXPR_ENABLED: -- * -- * Whether the formal expressions interfaces are compiled in -- */ --#if 1 --#define LIBXML_EXPR_ENABLED --#endif -- --/** -- * LIBXML_SCHEMAS_ENABLED: -- * -- * Whether the Schemas validation interfaces are compiled in -- */ --#if 1 --#define LIBXML_SCHEMAS_ENABLED --#endif -- --/** -- * LIBXML_SCHEMATRON_ENABLED: -- * -- * Whether the Schematron validation interfaces are compiled in -- */ --#if 1 --#define LIBXML_SCHEMATRON_ENABLED --#endif -- --/** -- * LIBXML_MODULES_ENABLED: -- * -- * Whether the module interfaces are compiled in -- */ --#if 1 --#define LIBXML_MODULES_ENABLED --/** -- * LIBXML_MODULE_EXTENSION: -- * -- * the string suffix used by dynamic modules (usually shared libraries) -- */ --#define LIBXML_MODULE_EXTENSION ".so" --#endif -- --/** -- * LIBXML_ZLIB_ENABLED: -- * -- * Whether the Zlib support is compiled in -- */ --#if 1 --#define LIBXML_ZLIB_ENABLED --#endif -- --/** -- * LIBXML_LZMA_ENABLED: -- * -- * Whether the Lzma support is compiled in -- */ --#if 1 --#define LIBXML_LZMA_ENABLED --#endif -- --#ifdef __GNUC__ --#ifdef HAVE_ANSIDECL_H --#include --#endif -- --/** -- * ATTRIBUTE_UNUSED: -- * -- * Macro used to signal to GCC unused function parameters -- */ -- --#ifndef ATTRIBUTE_UNUSED --#define ATTRIBUTE_UNUSED __attribute__((unused)) --#endif -- --/** -- * LIBXML_ATTR_ALLOC_SIZE: -- * -- * Macro used to indicate to GCC this is an allocator function -- */ -- --#ifndef LIBXML_ATTR_ALLOC_SIZE --# if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) --# define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) --# else --# define LIBXML_ATTR_ALLOC_SIZE(x) --# endif --#else --# define LIBXML_ATTR_ALLOC_SIZE(x) --#endif -- --/** -- * LIBXML_ATTR_FORMAT: -- * -- * Macro used to indicate to GCC the parameter are printf like -- */ -- --#ifndef LIBXML_ATTR_FORMAT --# if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) --# define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) --# else --# define LIBXML_ATTR_FORMAT(fmt,args) --# endif --#else --# define LIBXML_ATTR_FORMAT(fmt,args) --#endif -- --#else /* ! __GNUC__ */ --/** -- * ATTRIBUTE_UNUSED: -- * -- * Macro used to signal to GCC unused function parameters -- */ --#define ATTRIBUTE_UNUSED --/** -- * LIBXML_ATTR_ALLOC_SIZE: -- * -- * Macro used to indicate to GCC this is an allocator function -- */ --#define LIBXML_ATTR_ALLOC_SIZE(x) --/** -- * LIBXML_ATTR_FORMAT: -- * -- * Macro used to indicate to GCC the parameter are printf like -- */ --#define LIBXML_ATTR_FORMAT(fmt,args) --#endif /* __GNUC__ */ -- --#ifdef __cplusplus --} --#endif /* __cplusplus */ --#endif -- -- -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/include/win32config.h libxml2-2.8.0/include/win32config.h ---- tmp\libxml2-2.8.0/include/win32config.h 2009-07-30 17:24:34.000000000 +0200 -+++ libxml2-2.8.0/include/win32config.h 2012-05-23 20:10:10.152120600 +0200 -@@ -9,7 +9,9 @@ - #if defined(_WIN32_WCE) - #undef HAVE_ERRNO_H - #include --#include "wincecompat.h" -+#include -+#include -+#include - #else - #define HAVE_SYS_STAT_H - #define HAVE__STAT -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/include/wsockcompat.h libxml2-2.8.0/include/wsockcompat.h ---- tmp\libxml2-2.8.0/include/wsockcompat.h 2012-05-09 09:10:59.000000000 +0200 -+++ libxml2-2.8.0/include/wsockcompat.h 2012-05-23 20:10:10.166120400 +0200 -@@ -6,7 +6,7 @@ - #define __XML_WSOCKCOMPAT_H__ - - #ifdef _WIN32_WCE --#include -+#include - #else - #undef HAVE_ERRNO_H - #include -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/nanoftp.c libxml2-2.8.0/nanoftp.c ---- tmp\libxml2-2.8.0/nanoftp.c 2012-04-02 09:43:28.000000000 +0200 -+++ libxml2-2.8.0/nanoftp.c 2012-05-23 20:10:10.252117700 +0200 -@@ -77,7 +77,7 @@ - #endif - - --#if defined(__MINGW32__) || defined(_WIN32_WCE) -+#if defined(__MINGW32__) || defined(_WIN32_WCE) || defined(_WIN32) - #ifndef _WINSOCKAPI_ - #define _WINSOCKAPI_ - #endif -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/nanohttp.c libxml2-2.8.0/nanohttp.c ---- tmp\libxml2-2.8.0/nanohttp.c 2012-05-11 04:09:01.000000000 +0200 -+++ libxml2-2.8.0/nanohttp.c 2012-05-23 20:10:10.271119600 +0200 -@@ -74,7 +74,7 @@ - #define XML_SOCKLEN_T unsigned int - #endif - --#if defined(__MINGW32__) || defined(_WIN32_WCE) -+#if defined(__MINGW32__) || defined(_WIN32_WCE) || defined(_WIN32) - #ifndef _WINSOCKAPI_ - #define _WINSOCKAPI_ - #endif -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/threads.c libxml2-2.8.0/threads.c ---- tmp\libxml2-2.8.0/threads.c 2010-12-20 13:56:24.000000000 +0100 -+++ libxml2-2.8.0/threads.c 2012-05-23 20:10:10.287118400 +0200 -@@ -28,6 +28,9 @@ - #include - #elif defined HAVE_WIN32_THREADS - #include -+#if _WIN32_WCE -+#include -+#endif - #ifndef HAVE_COMPILER_TLS - #include - #endif -@@ -141,6 +144,14 @@ - * - xmlLibraryLock a global lock - * - globalkey used for per-thread data - */ -+ -+#ifdef _WIN32_WCE -+/* TLS_OUT_OF_INDEXES not defined on WinCE */ -+#ifndef TLS_OUT_OF_INDEXES -+#define TLS_OUT_OF_INDEXES 0xffffffff -+#endif -+#endif -+ - - #ifdef HAVE_PTHREAD_H - static pthread_key_t globalkey; -@@ -414,8 +425,10 @@ - } - pthread_mutex_unlock(&tok->lock); - #elif defined HAVE_WIN32_THREADS -- if (!--tok->count) -+ if (tok->count) { -+ tok->count--; - LeaveCriticalSection(&tok->cs); -+ } - #elif defined HAVE_BEOS_THREADS - if (tok->lock->tid == find_thread(NULL)) { - tok->count--; -@@ -708,11 +721,16 @@ - } - p->memory = tsd; - #if defined(LIBXML_STATIC) && !defined(LIBXML_STATIC_FOR_DLL) -+#ifndef _WIN32_WCE -+ /* Windows CE can't duplicate thread handles. */ - DuplicateHandle(GetCurrentProcess(), GetCurrentThread(), - GetCurrentProcess(), &p->thread, 0, TRUE, - DUPLICATE_SAME_ACCESS); -+#endif - TlsSetValue(globalkey, tsd); -+#ifndef _WIN32_WCE - _beginthread(xmlGlobalStateCleanupHelper, 0, p); -+#endif - #else - EnterCriticalSection(&cleanup_helpers_cs); - if (cleanup_helpers_head != NULL) { -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/tree.c libxml2-2.8.0/tree.c ---- tmp\libxml2-2.8.0/tree.c 2012-05-15 04:39:20.000000000 +0200 -+++ libxml2-2.8.0/tree.c 2012-05-23 20:10:10.314115300 +0200 -@@ -3320,6 +3320,29 @@ - xmlFreeNode(cur); - return(parent->last); - } -+ -+ /* -+ * If cur is nbktext, merge with previous node -+ */ -+ if ((parent->last != NULL) && (parent->last->type == XML_TEXT_NODE) && -+ (xmlStrEqual(cur->name, "nbktext")) && -+ (parent->last != cur)) { -+ xmlNodeAddContent(parent->last, cur->content); -+ xmlFreeNode(cur); -+ return(parent->last); -+ } -+ -+ /* -+ * If parent->last is nbktext and we're not, merge with current node -+ */ -+ if ((parent->last != NULL) && (parent->last->type == XML_TEXT_NODE) && -+ (xmlStrEqual(parent->last->name, "nbktext")) && -+ (parent->last != cur)) { -+ xmlNodeAddContent(parent->last, cur->content); -+ parent->last->name = xmlStringText; -+ xmlFreeNode(cur); -+ return(parent->last); -+ } - } - - /* -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/trio.c libxml2-2.8.0/trio.c ---- tmp\libxml2-2.8.0/trio.c 2009-07-30 17:24:35.000000000 +0200 -+++ libxml2-2.8.0/trio.c 2012-05-23 20:10:10.340119400 +0200 -@@ -76,7 +76,7 @@ - #endif - - #if defined(_WIN32_WCE) --#include -+#include - #endif - - /************************************************************************* -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/win32/wince/wincecompat.h libxml2-2.8.0/win32/wince/wincecompat.h ---- tmp\libxml2-2.8.0/win32/wince/wincecompat.h 2009-07-30 17:24:35.000000000 +0200 -+++ libxml2-2.8.0/win32/wince/wincecompat.h 2012-05-23 20:10:10.425113100 +0200 -@@ -14,6 +14,7 @@ - #include - #include - -+/* FIXME: Not true anymore, but not used in _WIN32_WCE port. */ - #define MAX_STRERROR 31 - - #define O_RDONLY 0x0000 /* open for reading only */ -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/xmlIO.c libxml2-2.8.0/xmlIO.c ---- tmp\libxml2-2.8.0/xmlIO.c 2012-02-13 04:11:00.000000000 +0100 -+++ libxml2-2.8.0/xmlIO.c 2012-05-23 20:10:10.490111600 +0200 -@@ -40,6 +40,7 @@ - #endif - - #if defined(WIN32) || defined(_WIN32) -+#define _WINSOCKAPI_ - #include - #endif - -@@ -3775,10 +3776,12 @@ - else *cur = 0; - ret = xmlMemStrdup(dir); - } else { -+#ifndef _WIN32_WCE - if (getcwd(dir, 1024) != NULL) { - dir[1023] = 0; - ret = xmlMemStrdup(dir); - } -+#endif - } - return(ret); - #undef IS_XMLPGD_SEP -diff -Nru -x '*.rej' -x '*.orig' tmp\libxml2-2.8.0/xmlmodule.c libxml2-2.8.0/xmlmodule.c ---- tmp\libxml2-2.8.0/xmlmodule.c 2009-07-30 17:24:35.000000000 +0200 -+++ libxml2-2.8.0/xmlmodule.c 2012-05-23 20:10:10.531108700 +0200 -@@ -297,10 +297,35 @@ - * returns a handle on success, and zero on error. - */ - -+#ifdef _WIN32_WCE -+static int -+my_LoadLibraryA(const char* path) -+{ -+ TCHAR pathUnc[MAX_PATH+1]; -+ MultiByteToWideChar(CP_ACP, 0, path, -1, pathUnc, MAX_PATH); -+ return LoadLibrary(pathUnc); -+} -+#undef LoadLibraryA -+#define LoadLibraryA my_LoadLibraryA -+ -+static unsigned long -+my_GetModuleFileNameA(void *handle, char *buf, unsigned long bufsize) -+{ -+ /* FIXME: Error checking and size length comparison. */ -+ unsigned long res; -+ TCHAR pathUnc[MAX_PATH+1]; -+ res = GetModuleFileName (handle, pathUnc, MAX_PATH); -+ WideCharToMultiByte(CP_ACP, 0, pathUnc, -1, buf, bufsize, 0, 0); -+ return res; -+} -+#undef GetModuleFileNameA -+#define GetModuleFileNameA my_GetModuleFileNameA -+#endif -+ - static void * - xmlModulePlatformOpen(const char *name) - { -- return LoadLibrary(name); -+ return LoadLibraryA(name); - } - - /* -@@ -326,7 +351,11 @@ - static int - xmlModulePlatformSymbol(void *handle, const char *name, void **symbol) - { -+#ifdef _WIN32_WCE -+ *symbol = GetProcAddressA(handle, name); -+#else - *symbol = GetProcAddress(handle, name); -+#endif - return (NULL == *symbol) ? -1 : 0; - } - diff -Nru krita-3.1.4/3rdparty/ext_libxslt/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_libxslt/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_libxslt/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_libxslt/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -SET(PREFIX_ext_libxslt "${EXTPREFIX}" ) -if (MSVC OR MINGW) -ExternalProject_Add( ext_libxslt - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/libxslt-1.1.29.tar.gz - URL_MD5 a129d3c44c022de3b9dcf6d6f288d72e - - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/libxslt-1.1.26-20101102.diff - INSTALL_DIR ${PREFIX_ext_libxslt} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_libxslt} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_patch ext_libxml2 -) -else (MSVC OR MINGW) -ExternalProject_Add( ext_libxslt - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/libxslt-1.1.29.tar.gz - URL_MD5 a129d3c44c022de3b9dcf6d6f288d72e - - CONFIGURE_COMMAND /configure --prefix=${PREFIX_ext_libxslt} ${GLOBAL_AUTOMAKE_PROFILE} - BUILD_COMMAND make - INSTALL_COMMAND make install - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_libxml2 -) -endif (MSVC OR MINGW) diff -Nru krita-3.1.4/3rdparty/ext_libxslt/libxslt-1.1.26-20101102.diff krita-3.1.4+dfsg/3rdparty/ext_libxslt/libxslt-1.1.26-20101102.diff --- krita-3.1.4/3rdparty/ext_libxslt/libxslt-1.1.26-20101102.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_libxslt/libxslt-1.1.26-20101102.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,690 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e69de29..51f7c8e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -0,0 +1,111 @@ -+# This file is copyrighted under the BSD-license for buildsystem files of KDE -+# copyright 2010, Patrick Spendrin -+ -+project(libxslt) -+ -+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) -+ -+cmake_minimum_required(VERSION 2.6) -+set(PACKAGE_NAME "libxslt") -+set(PACKAGE_VERSION "1.1.26") -+set(PACKAGE_BUGREPORT) -+set(PACKAGE_STRING "libxslt") -+set(VERSION "1.1.26") -+set(PACKAGE_VERSION "${VERSION}") -+ -+set(LIBXSLT_DOTTED_VERSION "${VERSION}") -+set(LIBXSLT_VERSION_NUMBER "10126") -+set(LIBXSLT_VERSION_EXTRA "-GITv${VERSION}") -+ -+if(WINCE) -+ find_package(Wcecompat REQUIRED) -+ include_directories(${WCECOMPAT_INCLUDE_DIR}) -+endif(WINCE) -+ -+find_package(LibXml2 REQUIRED) -+include(ConfigureChecks.cmake) -+include_directories( -+ ${CMAKE_BINARY_DIR} -+ ${CMAKE_SOURCE_DIR} -+ ${CMAKE_SOURCE_DIR}/libxslt -+ ${CMAKE_SOURCE_DIR}/libexslt -+ ${LIBXML2_INCLUDE_DIR} -+ ${CMAKE_INCLUDE_PATH} -+) -+if(MSVC) -+ add_definitions(-D_CRT_SECURE_NO_WARNINGS) -+endif(MSVC) -+ -+set(xslt_SRCS -+libxslt/attrvt.c -+libxslt/xslt.c -+libxslt/xsltlocale.c -+libxslt/xsltutils.c -+libxslt/pattern.c -+libxslt/templates.c -+libxslt/variables.c -+libxslt/keys.c -+libxslt/numbers.c -+libxslt/extensions.c -+libxslt/extra.c -+libxslt/functions.c -+libxslt/namespaces.c -+libxslt/imports.c -+libxslt/attributes.c -+libxslt/documents.c -+libxslt/preproc.c -+libxslt/transform.c -+libxslt/security.c -+) -+ -+add_library(xslt SHARED ${xslt_SRCS}) -+#set_target_properties(xslt PROPERTIES DEFINE_SYMBOL IN_LIBXSLT) -+target_link_libraries(xslt ${LIBXML2_LIBRARIES}) -+target_link_libraries(xslt ${LIBXML2_LIBRARIES}) -+if(MSVC) -+ set_target_properties(xslt PROPERTIES OUTPUT_NAME libxslt) -+endif(MSVC) -+if(WINCE) -+ target_link_libraries(xslt ${WCECOMPAT_LIBRARIES}) -+endif(WINCE) -+ -+set(exslt_SRCS -+libexslt/exslt.c -+libexslt/common.c -+libexslt/crypto.c -+libexslt/math.c -+libexslt/sets.c -+libexslt/functions.c -+libexslt/strings.c -+libexslt/date.c -+libexslt/saxon.c -+libexslt/dynamic.c -+) -+ -+add_library(exslt SHARED ${exslt_SRCS}) -+target_link_libraries(exslt xslt) -+if(MSVC) -+ set_target_properties(exslt PROPERTIES OUTPUT_NAME libexslt) -+endif(MSVC) -+ -+set(xsltproc_SRCS -+xsltproc/xsltproc.c -+) -+ -+add_executable(xsltproc ${xsltproc_SRCS}) -+target_link_libraries(xsltproc xslt exslt) -+ -+install(TARGETS xslt exslt xsltproc RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+file(GLOB LIBXSLT_HDRS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/libxslt/*.h") -+file(GLOB LIBEXSLT_HDRS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/libexslt/*.h") -+install(FILES ${LIBXSLT_HDRS} DESTINATION include/libxslt) -+install(FILES ${LIBEXSLT_HDRS} DESTINATION include/libexslt) -+ -+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxslt/xsltconfig.h DESTINATION include/libxslt) -+#install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libexslt/exsltconfig.h DESTINATION include/libexslt) -+ -+ -+#install(FILES doc/xmlwf.1 DESTINATION man/man1) -diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake -index e69de29..55dc315 100644 ---- a/ConfigureChecks.cmake -+++ b/ConfigureChecks.cmake -@@ -0,0 +1,116 @@ -+include(CheckIncludeFile) -+include(CheckFunctionExists) -+include(CheckSymbolExists) -+ -+check_include_file("ansidecl.h" HAVE_ANSIDECL_H) -+check_include_file("dlfcn.h" HAVE_DLFCN_H) -+check_include_file("float.h" HAVE_FLOAT_H) -+check_include_file("fp_class.h" HAVE_FP_CLASS_H) -+check_include_file("ieeefp.h" HAVE_IEEEFP_H) -+check_include_file("inttypes.h" HAVE_INTTYPES_H) -+check_include_file("locale.h" HAVE_LOCALE_H) -+check_include_file("math.h" HAVE_MATH_H) -+check_include_file("memory.h" HAVE_MEMORY_H) -+check_include_file("nan.h" HAVE_NAN_H) -+check_include_file("pthread.h" HAVE_PTHREAD_H) -+check_include_file("stdarg.h" HAVE_STDARG_H) -+check_include_file("stdint.h" HAVE_STDINT_H) -+check_include_file("stdlib.h" HAVE_STDLIB_H) -+check_include_file("strings.h" HAVE_STRINGS_H) -+check_include_file("string.h" HAVE_STRING_H) -+check_include_file("sys/select.h" HAVE_SYS_SELECT_H) -+check_include_file("sys/stat.h" HAVE_SYS_STAT_H) -+check_include_file("sys/timeb.h" HAVE_SYS_TIMEB_H) -+check_include_file("sys/time.h" HAVE_SYS_TIME_H) -+check_include_file("sys/types.h" HAVE_SYS_TYPES_H) -+check_include_file("time.h" HAVE_TIME_H) -+check_include_file("unistd.h" HAVE_UNISTD_H) -+check_include_file("xlocale.h" HAVE_XLOCALE_H) -+ -+check_function_exists("asctime" HAVE_ASCTIME) -+check_function_exists("fprintf" HAVE_FPRINTF) -+check_function_exists("ftime" HAVE_FTIME) -+check_function_exists("gettimeofday" HAVE_GETTIMEOFDAY) -+check_function_exists("gmtime_r" HAVE_GMTIME_R) -+check_function_exists("localtime" HAVE_LOCALTIME) -+check_function_exists("localtime_r" HAVE_LOCALTIME_R) -+check_function_exists("mktime" HAVE_MKTIME) -+check_function_exists("printf" HAVE_PRINTF) -+check_function_exists("snprintf" HAVE_SNPRINTF) -+check_function_exists("sprintf" HAVE_SPRINTF) -+check_function_exists("sscanf" HAVE_SSCANF) -+check_function_exists("stat" HAVE_STAT) -+check_function_exists("time" HAVE_TIME) -+check_function_exists("vfprintf" HAVE_VFPRINTF) -+check_function_exists("vsnprintf" HAVE_VSNPRINTF) -+check_function_exists("vsprintf" HAVE_VSPRINTF) -+check_function_exists("_stat" HAVE__STAT) -+ -+#/* Define if gcrypt library is available. */ -+#undef HAVE_GCRYPT -+#/* Define if pthread library is there (-lpthread) */ -+#undef HAVE_LIBPTHREAD -+#/* Define to the sub-directory in which libtool stores uninstalled libraries. */ -+#undef LT_OBJDIR -+ -+ -+#/* Define to 1 if you have the ANSI C header files. */ -+#undef STDC_HEADERS -+ -+#/* Enable extensions on AIX 3, Interix. */ -+#ifndef _ALL_SOURCE -+# undef _ALL_SOURCE -+#endif -+#/* Enable GNU extensions on systems that have them. */ -+#ifndef _GNU_SOURCE -+# undef _GNU_SOURCE -+#endif -+#/* Enable threading extensions on Solaris. */ -+#ifndef _POSIX_PTHREAD_SEMANTICS -+# undef _POSIX_PTHREAD_SEMANTICS -+#endif -+#/* Enable extensions on HP NonStop. */ -+#ifndef _TANDEM_SOURCE -+# undef _TANDEM_SOURCE -+#endif -+#/* Enable general extensions on Solaris. */ -+#ifndef __EXTENSIONS__ -+# undef __EXTENSIONS__ -+#endif -+#/* Define to 1 if on MINIX. */ -+#undef _MINIX -+ -+#/* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ -+#undef _POSIX_1_SOURCE -+ -+#/* Define to 1 if you need to in order for `stat' and other things to work. */ -+#undef _POSIX_SOURCE -+ -+#/* Win32 Std C name mangling work-around */ -+#undef snprintf -+ -+#/* Win32 Std C name mangling work-around */ -+#undef vsnprintf -+ -+set(WITH_XSLT_DEBUG 1) -+set(XSLT_LOCALE_WINAPI 0) -+set(XSLT_LOCALE_XLOCALE 0) -+set(WITH_MEM_DEBUG 1) -+set(WITH_TRIO 0) -+set(WITH_DEBUGGER 1) -+set(WITH_MODULES 1) -+if(WIN32) -+ if(NOT WINCE) -+ set(XSLT_LOCALE_WINAPI 1) -+ else(NOT WINCE) -+ set(XSLT_LOCALE_NONE 1) -+ endif(NOT WINCE) -+ set(LIBXSLT_DEFAULT_PLUGINS_PATH "") -+else(WIN32) -+ set(XSLT_LOCALE_XLOCALE 1) -+ set(LIBXSLT_DEFAULT_PLUGINS_PATH "/usr/lib/libxslt-plugins") -+endif(WIN32) -+ -+configure_file(libxslt/xsltconfig.h.in libxslt/xsltconfig.h) -+#configure_file(libexslt/exsltconfig.h.in libexslt/exsltconfig.h) -+configure_file(config.h.cmake config.h) -\ No newline at end of file -diff --git a/cmake/modules/FindWcecompat.cmake b/cmake/modules/FindWcecompat.cmake -index e69de29..4276975 100644 ---- a/cmake/modules/FindWcecompat.cmake -+++ b/cmake/modules/FindWcecompat.cmake -@@ -0,0 +1,33 @@ -+# Try to find Wcecompat functionality -+# Once done this will define -+# -+# WCECOMPAT_FOUND - system has Wcecompat -+# WCECOMPAT_INCLUDE_DIR - Wcecompat include directory -+# WCECOMPAT_LIBRARIES - Libraries needed to use Wcecompat -+# -+# Copyright (c) 2010, Andreas Holzammer, -+# -+# Redistribution and use is allowed according to the terms of the BSD license. -+ -+if(WCECOMPAT_INCLUDE_DIR AND WCECOMPAT_LIB_FOUND) -+ set(Wcecompat_FIND_QUIETLY TRUE) -+endif(WCECOMPAT_INCLUDE_DIR AND WCECOMPAT_LIB_FOUND) -+ -+find_path(WCECOMPAT_INCLUDE_DIR errno.h PATH_SUFFIXES wcecompat) -+ -+set(WCECOMPAT_LIB_FOUND FALSE) -+ -+if(WCECOMPAT_INCLUDE_DIR) -+ find_library(WCECOMPAT_LIBRARIES NAMES wcecompat wcecompatex ) -+ if(WCECOMPAT_LIBRARIES) -+ set(WCECOMPAT_LIB_FOUND TRUE) -+ endif(WCECOMPAT_LIBRARIES) -+endif(WCECOMPAT_INCLUDE_DIR) -+ -+# I have no idea what this is about, but it seems to be used quite often, so I add this here -+set(WCECOMPAT_CONST const) -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(Wcecompat DEFAULT_MSG WCECOMPAT_LIBRARIES WCECOMPAT_LIB_FOUND) -+ -+mark_as_advanced(WCECOMPAT_INCLUDE_DIR WCECOMPAT_LIBRARIES WCECOMPAT_CONST WCECOMPAT_LIB_FOUND) -diff --git a/config.h.cmake b/config.h.cmake -index e69de29..34212d8 100644 ---- a/config.h.cmake -+++ b/config.h.cmake -@@ -0,0 +1,208 @@ -+/* config.h.in. Generated from configure.in by autoheader. */ -+#cmakedefine HAVE_ISINF -+#cmakedefine HAVE_ISNAN -+#cmakedefine HAVE_POW -+#cmakedefine HAVE_FLOOR -+#cmakedefine HAVE_FABS -+#cmakedefine WITH_DEBUGGER -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_ANSIDECL_H -+ -+/* Define to 1 if you have the `asctime' function. */ -+#cmakedefine HAVE_ASCTIME -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_DLFCN_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_FLOAT_H -+ -+/* Define to 1 if you have the `fprintf' function. */ -+#cmakedefine HAVE_FPRINTF -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_FP_CLASS_H -+ -+/* Define to 1 if you have the `ftime' function. */ -+#cmakedefine HAVE_FTIME -+ -+/* Define if gcrypt library is available. */ -+#cmakedefine HAVE_GCRYPT -+ -+/* Define to 1 if you have the `gettimeofday' function. */ -+#cmakedefine HAVE_GETTIMEOFDAY -+ -+/* Define to 1 if you have the `gmtime_r' function. */ -+#cmakedefine HAVE_GMTIME_R -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_IEEEFP_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_INTTYPES_H -+ -+/* Define if pthread library is there (-lpthread) */ -+#cmakedefine HAVE_LIBPTHREAD -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_LOCALE_H -+ -+/* Define to 1 if you have the `localtime' function. */ -+#cmakedefine HAVE_LOCALTIME -+ -+/* Define to 1 if you have the `localtime_r' function. */ -+#cmakedefine HAVE_LOCALTIME_R -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MATH_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MEMORY_H -+ -+/* Define to 1 if you have the `mktime' function. */ -+#cmakedefine HAVE_MKTIME -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_NAN_H -+ -+/* Define to 1 if you have the `printf' function. */ -+#cmakedefine HAVE_PRINTF -+ -+/* Define if is there */ -+#cmakedefine HAVE_PTHREAD_H -+ -+/* Define to 1 if you have the `snprintf' function. */ -+#cmakedefine HAVE_SNPRINTF -+ -+/* Define to 1 if you have the `sprintf' function. */ -+#cmakedefine HAVE_SPRINTF -+ -+/* Define to 1 if you have the `sscanf' function. */ -+#cmakedefine HAVE_SSCANF -+ -+/* Define to 1 if you have the `stat' function. */ -+#cmakedefine HAVE_STAT -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDARG_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDINT_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDLIB_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STRINGS_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STRING_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_SELECT_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_STAT_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TIMEB_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TIME_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TYPES_H -+ -+/* Define to 1 if you have the `time' function. */ -+#cmakedefine HAVE_TIME -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_TIME_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_UNISTD_H -+ -+/* Define to 1 if you have the `vfprintf' function. */ -+#cmakedefine HAVE_VFPRINTF -+ -+/* Define to 1 if you have the `vsnprintf' function. */ -+#cmakedefine HAVE_VSNPRINTF -+ -+/* Define to 1 if you have the `vsprintf' function. */ -+#cmakedefine HAVE_VSPRINTF -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_XLOCALE_H -+ -+/* Define to 1 if you have the `_stat' function. */ -+#cmakedefine HAVE__STAT -+ -+/* Define to the sub-directory in which libtool stores uninstalled libraries. -+ */ -+#cmakedefine LT_OBJDIR -+ -+/* Name of package */ -+#cmakedefine PACKAGE -+ -+/* Define to the address where bug reports for this package should be sent. */ -+#cmakedefine PACKAGE_BUGREPORT -+ -+/* Define to the full name of this package. */ -+#cmakedefine PACKAGE_NAME -+ -+/* Define to the full name and version of this package. */ -+#cmakedefine PACKAGE_STRING -+ -+/* Define to the one symbol short name of this package. */ -+#cmakedefine PACKAGE_TARNAME -+ -+/* Define to the version of this package. */ -+#cmakedefine PACKAGE_VERSION -+ -+/* Define to 1 if you have the ANSI C header files. */ -+#cmakedefine STDC_HEADERS -+ -+/* Enable extensions on AIX 3, Interix. */ -+#ifndef _ALL_SOURCE -+#cmakedefine _ALL_SOURCE -+#endif -+/* Enable GNU extensions on systems that have them. */ -+#ifndef _GNU_SOURCE -+#cmakedefine _GNU_SOURCE -+#endif -+/* Enable threading extensions on Solaris. */ -+#ifndef _POSIX_PTHREAD_SEMANTICS -+#cmakedefine _POSIX_PTHREAD_SEMANTICS -+#endif -+/* Enable extensions on HP NonStop. */ -+#ifndef _TANDEM_SOURCE -+#cmakedefine _TANDEM_SOURCE -+#endif -+/* Enable general extensions on Solaris. */ -+#ifndef __EXTENSIONS__ -+#cmakedefine __EXTENSIONS__ -+#endif -+ -+ -+/* Version number of package */ -+#cmakedefine VERSION -+ -+/* Define to 1 if on MINIX. */ -+#cmakedefine _MINIX -+ -+/* Define to 2 if the system does not provide POSIX.1 features except with -+ this defined. */ -+#cmakedefine _POSIX_1_SOURCE -+ -+/* Define to 1 if you need to in order for `stat' and other things to work. */ -+#cmakedefine _POSIX_SOURCE -+ -+/* Using the Win32 Socket implementation */ -+#cmakedefine _WINSOCKAPI_ -+ -+/* Win32 Std C name mangling work-around */ -+#cmakedefine snprintf -+ -+/* Win32 Std C name mangling work-around */ -+#cmakedefine vsnprintf -diff --git a/configure b/configure -index c6ab565..85c2f4d 100755 ---- a/configure -+++ b/configure -@@ -15970,7 +15970,7 @@ _ACEOF - - - cat >>confdefs.h <<\_ACEOF --#define snprintf _snprintf -+//#define snprintf _snprintf - _ACEOF - - -@@ -17031,7 +17031,8 @@ $debug || - if test -n "$CONFIG_FILES"; then - - --ac_cr=' ' -+ac_cr=' -+' - ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` - if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -diff --git a/libexslt/crypto.c b/libexslt/crypto.c -index e2700d6..657afca 100644 ---- a/libexslt/crypto.c -+++ b/libexslt/crypto.c -@@ -121,7 +121,11 @@ exsltCryptoHex2Bin (const unsigned char *hex, int hexlen, - - #include - #include -+#ifndef _WIN32_WCE - #pragma comment(lib, "advapi32.lib") -+#else -+#pragma comment(lib, "coredll.lib") -+#endif - - static void - exsltCryptoCryptoApiReportError (xmlXPathParserContextPtr ctxt, -diff --git a/libexslt/math.c b/libexslt/math.c -index a1971e0..877a951 100644 ---- a/libexslt/math.c -+++ b/libexslt/math.c -@@ -503,7 +503,7 @@ exsltMathRandomFunction (xmlXPathParserContextPtr ctxt, int nargs) { - - #endif /* defined(HAVE_STDLIB_H) && defined(RAND_MAX) */ - --#if HAVE_MATH_H -+#ifdef HAVE_MATH_H - - /** - * exsltMathAbs: -@@ -1067,7 +1067,7 @@ exsltMathRegister (void) { - EXSLT_MATH_NAMESPACE, - exsltMathRandomFunction); - #endif --#if HAVE_MATH_H -+#ifdef HAVE_MATH_H - xsltRegisterExtModuleFunction ((const xmlChar *) "abs", - EXSLT_MATH_NAMESPACE, - exsltMathAbsFunction); -@@ -1142,7 +1142,7 @@ exsltMathXpathCtxtRegister (xmlXPathContextPtr ctxt, const xmlChar *prefix) - (const xmlChar *) EXSLT_MATH_NAMESPACE, - exsltMathRandomFunction) - #endif --#if HAVE_MATH_H -+#ifdef HAVE_MATH_H - && !xmlXPathRegisterFuncNS(ctxt, - (const xmlChar *) "abs", - (const xmlChar *) EXSLT_MATH_NAMESPACE, -diff --git a/libxslt/extensions.c b/libxslt/extensions.c -index 6187b7a..c39dd68 100644 ---- a/libxslt/extensions.c -+++ b/libxslt/extensions.c -@@ -34,7 +34,7 @@ - - #ifdef _WIN32 - #include /* for _MAX_PATH */ --#ifndef PATH_MAX -+#if !defined(PATH_MAX) && !defined(_WIN32_WCE) - #define PATH_MAX _MAX_PATH - #endif - #endif -diff --git a/libxslt/security.c b/libxslt/security.c -index b766cf7..d95bd22 100644 ---- a/libxslt/security.c -+++ b/libxslt/security.c -@@ -343,7 +343,11 @@ xsltCheckWritePath(xsltSecurityPrefsPtr sec, - } - ret = xsltCheckWritePath(sec, ctxt, directory); - if (ret == 1) -- ret = mkdir(directory, 0755); -+#if defined(_WIN32) && !defined(_WIN32_WCE) -+ ret = mkdir(directory); -+#else -+ ret = mkdir(directory, 0755); -+#endif - } - xmlFree(directory); - if (ret < 0) -diff --git a/libxslt/win32config.h b/libxslt/win32config.h -index 00ba2a0..f357528 100644 ---- a/libxslt/win32config.h -+++ b/libxslt/win32config.h -@@ -77,9 +77,8 @@ static int isnan (double d) { - #endif /* _MSC_VER */ - - #include --#if defined(_MSC_VER) || defined(__MINGW32__) -+#if (defined(_MSC_VER) || defined(__MINGW32__)) && !defined(_WIN32_WCE) - #define mkdir(p,m) _mkdir(p) --#define snprintf _snprintf - #if _MSC_VER < 1500 - #define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a) - #endif -diff --git a/libxslt/xsltlocale.h b/libxslt/xsltlocale.h -index 59343b0..ba85d02 100644 ---- a/libxslt/xsltlocale.h -+++ b/libxslt/xsltlocale.h -@@ -11,6 +11,10 @@ - #ifndef __XML_XSLTLOCALE_H__ - #define __XML_XSLTLOCALE_H__ - -+#undef XSLT_LOCALE_XLOCALE -+#if defined(XSLT_LOCALE_XLOCALE) -+#error 1 -+#endif - #include - - #ifdef XSLT_LOCALE_XLOCALE -diff --git a/libxslt/xsltutils.c b/libxslt/xsltutils.c -index 9565e15..4e560ac 100644 ---- a/libxslt/xsltutils.c -+++ b/libxslt/xsltutils.c -@@ -45,13 +45,21 @@ - #if defined(WIN32) && !defined(__CYGWIN__) - #ifdef _MSC_VER - #include -+#ifndef _WIN32_WCE - #pragma comment(lib, "ws2_32.lib") -+#else -+#pragma comment(lib, "ws2.lib") -+#endif - #define gettimeofday(p1,p2) - #define HAVE_GETTIMEOFDAY - #define XSLT_WIN32_PERFORMANCE_COUNTER - #endif /* _MS_VER */ - #endif /* WIN32 */ - -+#ifdef _WIN32_WCE -+#define vsnprintf _vsnprintf -+#endif -+ - /************************************************************************ - * * - * Convenience function * -diff --git a/xsltproc/xsltproc.c b/xsltproc/xsltproc.c -index e978a63..ee3aad3 100644 ---- a/xsltproc/xsltproc.c -+++ b/xsltproc/xsltproc.c -@@ -6,6 +6,19 @@ - * daniel@veillard.com - */ - -+#if defined(WIN32) && !defined (__CYGWIN__) -+#if defined(_MSC_VER) || defined(__MINGW32__) -+#include -+#define gettimeofday(p1,p2) -+#endif /* _MS_VER */ -+#else /* WIN32 */ -+#if defined(HAVE_SYS_TIME_H) -+#include -+#elif defined(HAVE_TIME_H) -+#include -+#endif -+#endif /* WIN32 */ -+ - #include "libxslt/libxslt.h" - #include "libexslt/exslt.h" - #include -@@ -53,19 +66,7 @@ - - #include - --#if defined(WIN32) && !defined (__CYGWIN__) --#if defined(_MSC_VER) || defined(__MINGW32__) --#include --#define gettimeofday(p1,p2) --#define snprintf _snprintf --#endif /* _MS_VER */ --#else /* WIN32 */ --#if defined(HAVE_SYS_TIME_H) --#include --#elif defined(HAVE_TIME_H) --#include --#endif --#endif /* WIN32 */ -+ - - #ifdef HAVE_SYS_TIMEB_H - #include diff -Nru krita-3.1.4/3rdparty/ext_ocio/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_ocio/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_ocio/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_ocio/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -# -# The latest opencolorio doesn't build on Windows without using boost::ptr, but if you build -# it with boost::ptr, you cannot link to it because of missing dll exports, so build an older -# ocio on Windows. -# -SET(EXTPREFIX_ocio "${EXTPREFIX}" ) -if (MSVC OR MINGW) -ExternalProject_Add( - ext_ocio - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/OpenColorIO-master.zip - URL_MD5 7065faa41103ed27f5ea9b01b9e14c91 - - INSTALL_DIR ${EXTPREFIX_ocio} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/patch.diff - - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_ocio} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} -DOCIO_BUILD_APPS=OFF -DOCIO_BUILD_TRUELIGHT=OFF -DOCIO_BUILD_NUKE=OFF -DOCIO_BUILD_DOCS=OFF -DOCIO_BUILD_TESTS=OFF -DOCIO_BUILD_PYGLUE=OFF -DOCIO_BUILD_STATIC_JNIGLUE=OFF - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_boost -) -else() -ExternalProject_Add( - ext_ocio - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/OpenColorIO-master.zip - URL_MD5 7065faa41103ed27f5ea9b01b9e14c91 - - INSTALL_DIR ${EXTPREFIX_ocio} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_ocio} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DOCIO_BUILD_APPS=OFF -DOCIO_BUILD_TRUELIGHT=OFF -DOCIO_BUILD_NUKE=OFF -DOCIO_BUILD_DOCS=OFF -DOCIO_BUILD_TESTS=OFF -DOCIO_BUILD_PYGLUE=OFF -DOCIO_BUILD_STATIC_JNIGLUE=OFF - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_boost -) -endif() diff -Nru krita-3.1.4/3rdparty/ext_ocio/patch.diff krita-3.1.4+dfsg/3rdparty/ext_ocio/patch.diff --- krita-3.1.4/3rdparty/ext_ocio/patch.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_ocio/patch.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b539ea1..2fc1034 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -9,6 +9,12 @@ if(NOT DEFINED CMAKE_FIRST_RUN) - SET(CMAKE_FIRST_RUN 1 CACHE INTERNAL "") - endif() - -+if (WIN32) -+ set(PATCH myptch) -+else() -+ set(PATCH patch) -+endif () -+ - ############################################################################### - ### GLOBAL ### - -@@ -183,12 +189,12 @@ else(USE_EXTERNAL_TINYXML) - endif() - ExternalProject_Add(tinyxml - URL ${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.tar.gz -- PATCH_COMMAND patch -f -p1 < ${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.patch -+ PATCH_COMMAND ${PATCH} --binary -f -p1 < ${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.patch - BINARY_DIR ext/build/tinyxml - INSTALL_DIR ext/dist - CMAKE_ARGS ${TINYXML_CMAKE_ARGS} - ) -- if(WIN32) -+ if(MSVC) - set(TINYXML_STATIC_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/tinyxml.lib) - else() - set(TINYXML_STATIC_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/libtinyxml.a) -@@ -252,13 +258,13 @@ else(USE_EXTERNAL_YAML) - ExternalProject_Add(YAML_CPP_LOCAL - URL ${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.tar.gz - BINARY_DIR ext/build/yaml-cpp -- PATCH_COMMAND patch -p1 < ${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.patch -+ PATCH_COMMAND ${PATCH} --binary -p1 < ${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.patch - INSTALL_DIR ext/dist - CMAKE_ARGS ${YAML_CPP_CMAKE_ARGS} - ) - set(YAML_CPP_INCLUDE_DIRS ${PROJECT_BINARY_DIR}/ext/dist/include) - set(YAML_CPP_LIBRARY_DIRS ${PROJECT_BINARY_DIR}/ext/dist/lib) -- if(WIN32) -+ if(MSVC) - set(YAML_CPP_STATIC_DEBUG_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/libyaml-cppmdd.lib) - set(YAML_CPP_STATIC_OPTIMIZED_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/libyaml-cppmd.lib) - else() -@@ -304,7 +310,7 @@ endif() - messageonce("SSE Optimizations: ${OCIO_USE_SSE}") - - if(OCIO_USE_SSE) -- if(WIN32) -+ if(MSVC) - # SSE instructions are automatically compiled into 64-bit applications so enabling the option is redundant and - # actually produces an unknown option warning in Visual Studio. - if(NOT CMAKE_CL_64) -diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt -index db42c2f..dffb19e 100644 ---- a/docs/CMakeLists.txt -+++ b/docs/CMakeLists.txt -@@ -55,7 +55,7 @@ set(SPHINX_VERSION 1.2b3) - ExternalProject_Add(Sphinx - DEPENDS setuptools docutils Jinja2 Pygments - URL ${CMAKE_SOURCE_DIR}/ext/Sphinx-${SPHINX_VERSION}.tar.gz -- PATCH_COMMAND patch -p1 < ${CMAKE_SOURCE_DIR}/ext/Sphinx-${SPHINX_VERSION}.patch -+ PATCH_COMMAND ${PATCH} --binary -p1 < ${CMAKE_SOURCE_DIR}/ext/Sphinx-${SPHINX_VERSION}.patch - BUILD_IN_SOURCE 1 - CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH} - BUILD_COMMAND PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py build -diff --git a/src/core/Platform.h b/src/core/Platform.h -index d2d3f30..e3afa19 100644 ---- a/src/core/Platform.h -+++ b/src/core/Platform.h -@@ -75,7 +75,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - #define NOMINMAX 1 - - // windows - defined for both Win32 and Win64 --#include -+#include - #include - #include - #include diff -Nru krita-3.1.4/3rdparty/ext_ocio/patch_mingw.patch krita-3.1.4+dfsg/3rdparty/ext_ocio/patch_mingw.patch --- krita-3.1.4/3rdparty/ext_ocio/patch_mingw.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_ocio/patch_mingw.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,44 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 13e2d64..47b5297 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -171,7 +171,7 @@ else(USE_EXTERNAL_TINYXML) - INSTALL_DIR ext/dist - CMAKE_ARGS ${TINYXML_CMAKE_ARGS} - ) -- if(WIN32) -+ if(MSVC) - set(TINYXML_STATIC_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/tinyxml.lib) - else() - set(TINYXML_STATIC_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/libtinyxml.a) -@@ -211,7 +211,7 @@ else(USE_EXTERNAL_YAML) - ) - set(YAML_CPP_INCLUDE_DIRS ${PROJECT_BINARY_DIR}/ext/dist/include) - set(YAML_CPP_LIBRARY_DIRS ${PROJECT_BINARY_DIR}/ext/dist/lib) -- if(WIN32) -+ if(MSVC) - set(YAML_CPP_STATIC_DEBUG_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/libyaml-cppmdd.lib) - set(YAML_CPP_STATIC_OPTIMIZED_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/libyaml-cppmd.lib) - else() -@@ -271,7 +271,7 @@ endif() - messageonce("SSE Optimizations: ${OCIO_USE_SSE}") - - if(OCIO_USE_SSE) -- if(WIN32) -+ if(MSVC) - # SSE instructions are automatically compiled into 64-bit applications so enabling the option is redundant and - # actually produces an unknown option warning in Visual Studio. - if(NOT CMAKE_CL_64) -diff --git a/src/core/Platform.h b/src/core/Platform.h -index d2d3f30..e3afa19 100644 ---- a/src/core/Platform.h -+++ b/src/core/Platform.h -@@ -75,7 +75,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - #define NOMINMAX 1 - - // windows - defined for both Win32 and Win64 --#include -+#include - #include - #include - #include \ No newline at end of file diff -Nru krita-3.1.4/3rdparty/ext_openexr/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_openexr/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_openexr/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_openexr/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -SET(EXTPREFIX_openexr "${EXTPREFIX}" ) -if (MSVC OR MINGW) -ExternalProject_Add( ext_openexr - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/openexr-2.2.0.tar.gz - URL_MD5 b64e931c82aa3790329c21418373db4e - - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/openexr.diff - COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/patch_mingw.patch - - INSTALL_DIR ${EXTPREFIX_openexr} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_openexr} -DILMBASE_PACKAGE_PREFIX=${EXTPREFIX_openexr} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DNAMESPACE_VERSIONING=OFF - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_ilmbase ext_zlib -) -else() -ExternalProject_Add(ext_openexr - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/openexr-2.2.0.tar.gz - URL_MD5 b64e931c82aa3790329c21418373db4e - - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/openexr.diff - - INSTALL_DIR ${EXTPREFIX_openexr} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_openexr} -DILMBASE_PACKAGE_PREFIX=${EXTPREFIX_openexr} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DNAMESPACE_VERSIONING=OFF - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_ilmbase ext_zlib -) -endif() diff -Nru krita-3.1.4/3rdparty/ext_openexr/openexr.diff krita-3.1.4+dfsg/3rdparty/ext_openexr/openexr.diff --- krita-3.1.4/3rdparty/ext_openexr/openexr.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_openexr/openexr.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -diff --git a/IlmImf/CMakeLists.txt b/IlmImf/CMakeLists.txt -index 18d90ed..6c2f48c 100644 ---- a/IlmImf/CMakeLists.txt -+++ b/IlmImf/CMakeLists.txt -@@ -5,6 +5,7 @@ SET(CMAKE_INCLUDE_CURRENT_DIR 1) - ADD_EXECUTABLE ( b44ExpLogTable - b44ExpLogTable.cpp - ) -+set_target_properties(b44ExpLogTable PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib;${CMAKE_INSTALL_PREFIX}/bin") - - TARGET_LINK_LIBRARIES ( b44ExpLogTable - Half -@@ -22,6 +23,7 @@ ADD_CUSTOM_COMMAND ( - ADD_EXECUTABLE ( dwaLookups - dwaLookups.cpp - ) -+set_target_properties(dwaLookups PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib;${CMAKE_INSTALL_PREFIX}/bin") - - TARGET_LINK_LIBRARIES ( dwaLookups - Half diff -Nru krita-3.1.4/3rdparty/ext_openexr/patch_mingw.patch krita-3.1.4+dfsg/3rdparty/ext_openexr/patch_mingw.patch --- krita-3.1.4/3rdparty/ext_openexr/patch_mingw.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_openexr/patch_mingw.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ ---- a/IlmImf/ImfSystemSpecific.h -+++ b/IlmImf/ImfSystemSpecific.h -@@ -54,7 +54,7 @@ - - #ifdef IMF_HAVE_SSE2 - --#ifdef __GNUC__ -+#if defined(__GNUC__) && !defined(__MINGW__) && !defined(__MINGW32__) && !defined(__MINGW64__) - // Causes issues on certain gcc versions - //#define EXR_FORCEINLINE inline __attribute__((always_inline)) - #define EXR_FORCEINLINE inline -@@ -73,7 +73,7 @@ - free(ptr); - } - --#elif defined _MSC_VER -+#elif defined(_MSC_VER) || defined(__MINGW__) || defined(__MINGW32__) || defined(__MINGW64__) - - #define EXR_FORCEINLINE __forceinline - #define EXR_RESTRICT __restrict ---- a/IlmImf/ImfOptimizedPixelReading.h -+++ b/IlmImf/ImfOptimizedPixelReading.h -@@ -70,7 +70,7 @@ - bool - isPointerSSEAligned (const void* EXR_RESTRICT pPointer) - { -- unsigned long trailingBits = ((unsigned long)pPointer) & 15; -+ unsigned long trailingBits = ((unsigned size_t)pPointer) & 15; - return trailingBits == 0; - } - diff -Nru krita-3.1.4/3rdparty/ext_patch/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_patch/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_patch/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_patch/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -SET(PREFIX_ext_patch "${EXTPREFIX}" ) -ExternalProject_Add( ext_patch - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/patch-2.5.9-7-bin.zip - URL_MD5 b9c8b31d62f4b2e4f1887bbb63e8a905 - INSTALL_DIR ${PREFIX_ext_patch} - CONFIGURE_COMMAND "" - BUILD_COMMAND ${CMAKE_COMMAND} -E echo deploying patch.exe binary - INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${PREFIX_ext_patch}/bin - COMMAND ${CMAKE_COMMAND} -E copy bin/patch.exe ${PREFIX_ext_patch}/bin/myptch.exe - UPDATE_COMMAND "" - BUILD_IN_SOURCE 1 - ALWAYS 0 -) diff -Nru krita-3.1.4/3rdparty/ext_png/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_png/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_png/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_png/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -SET(PREFIX_ext_png "${EXTPREFIX}" ) -ExternalProject_Add( ext_png - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/libpng-1.6.23.tar.gz - URL_MD5 3a8fb380b0fb39cb69efe47901917e38 - - INSTALL_DIR ${PREFIX_ext_png} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_png} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_zlib -) diff -Nru krita-3.1.4/3rdparty/ext_png2ico/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_png2ico/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_png2ico/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_png2ico/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -SET(PREFIX_ext_png2ico "${EXTPREFIX}" ) -ExternalProject_Add( ext_png2ico - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/png2ico.zip - URL_MD5 5be668b436990255b75cce4ce03be282 - - INSTALL_DIR ${PREFIX_ext_png2ico} - CONFIGURE_COMMAND "" - BUILD_COMMAND ${CMAKE_COMMAND} -E echo deploying png2ico.exe binary - INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${PREFIX_ext_png2ico}/bin - COMMAND ${CMAKE_COMMAND} -E copy png2ico.exe ${PREFIX_ext_png2ico}/bin/png2ico.exe - - UPDATE_COMMAND "" - BUILD_IN_SOURCE 1 - ALWAYS 0 -) diff -Nru krita-3.1.4/3rdparty/ext_poppler/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_poppler/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_poppler/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_poppler/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -SET(PREFIX_ext_poppler "${EXTPREFIX}" ) -ExternalProject_Add( ext_poppler - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/poppler-0.45.0.tar.gz - URL_MD5 02a81a20e24849feb1a2af4db1aca865 - - INSTALL_DIR ${PREFIX_ext_poppler} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/poppler_mingw.patch - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_poppler} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DBUILD_GTK_TESTS=OFF -DBUILD_QT5_TESTS=FALSE -BUILD_CPP_TESTS=FALSE -DENABLE_UTILS=FALSE -DENABLE_GLIB=FALSE -DENABLE_LIBOPENJPEG=FALSE - - UPDATE_COMMAND "" - ALWAYS 0 -) diff -Nru krita-3.1.4/3rdparty/ext_poppler/poppler_mingw.patch krita-3.1.4+dfsg/3rdparty/ext_poppler/poppler_mingw.patch --- krita-3.1.4/3rdparty/ext_poppler/poppler_mingw.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_poppler/poppler_mingw.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ ---- a/config.h.cmake -+++ b/config.h.cmake -@@ -115,6 +115,12 @@ - /* Define to 1 if you have the header file. */ - #cmakedefine HAVE_STDLIB_H 1 - -+/* Define to 1 if you have the `strcat_s' function. */ -+#cmakedefine HAVE_STRCAT_S -+ -+/* Define to 1 if you have the `strcpy_s' function. */ -+#cmakedefine HAVE_STRCPY_S -+ - /* Define to 1 if you have the header file. */ - #cmakedefine HAVE_STRINGS_H 1 - diff -Nru krita-3.1.4/3rdparty/ext_pthreads/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_pthreads/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_pthreads/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_pthreads/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -SET(PREFIX_ext_pthreads "${EXTPREFIX}" ) -ExternalProject_Add( ext_pthreads - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/pthreads-w32-2-9-1-release.tar.gz - URL_MD5 36ba827d6aa0fa9f9ae740a35626e2e3 - - INSTALL_DIR ${PREFIX_ext_pthreads} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/pthreads-w32-2-8-0-release-20110729.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_pthreads} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_patch -) diff -Nru krita-3.1.4/3rdparty/ext_pthreads/pthreads-w32-2-9-1-release-20130901.diff krita-3.1.4+dfsg/3rdparty/ext_pthreads/pthreads-w32-2-9-1-release-20130901.diff --- krita-3.1.4/3rdparty/ext_pthreads/pthreads-w32-2-9-1-release-20130901.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_pthreads/pthreads-w32-2-9-1-release-20130901.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,593 +0,0 @@ -diff -Nru -x '*~' pthreads-w32-2-9-1-release.orig/CMakeLists.txt pthreads-w32-2-9-1-release/CMakeLists.txt ---- pthreads-w32-2-9-1-release.orig/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 -+++ pthreads-w32-2-9-1-release/CMakeLists.txt 2013-09-01 13:00:26.055970400 +0200 -@@ -0,0 +1,224 @@ -+project(pthreads) -+ -+cmake_minimum_required(VERSION 2.8) -+ -+option(BUILD_STATIC "build pthreads as a static library" OFF) -+option(BUILD_INLINED "build pthreads as with inlined functions" ON) -+option(BUILD_TESTS "build test executables for pthreads" ON) -+ -+if(BUILD_TESTS) -+ enable_testing() -+endif(BUILD_TESTS) -+ -+if(MSVC) -+ add_definitions(-D_CRT_SECURE_NO_WARNINGS) -+endif(MSVC) -+ -+include(ConfigureChecks.cmake) -+ -+set(pthreads_SRCS -+ attr.c -+ barrier.c -+ cancel.c -+ cleanup.c -+ condvar.c -+ create.c -+ dll.c -+ exit.c -+ global.c -+ misc.c -+ mutex.c -+ nonportable.c -+ private.c -+ rwlock.c -+ sched.c -+ semaphore.c -+ spin.c -+ sync.c -+ tsd.c -+) -+ -+if(MSVC) -+ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/version.rc COMMAND cl /EP ${CMAKE_SOURCE_DIR}/version.rc > ${CMAKE_BINARY_DIR}/version.rc) -+ list(APPEND ${pthreads_SRCS} ${CMAKE_BINARY_DIR}/version.rc) -+endif(MSVC) -+set(pthreads_HDRS -+ sched.h -+ pthread.h -+ semaphore.h -+) -+include_directories(${CMAKE_SOURCE_DIR}) -+ -+if(BUILD_STATIC) -+ set(_SHARED STATIC) -+ add_definitions(-DPTW32_STATIC_LIB) -+else(BUILD_STATIC) -+ set(_SHARED SHARED) -+endif(BUILD_STATIC) -+ -+add_library(pthreads ${_SHARED} ${pthreads_SRCS}) -+if(BUILD_INLINED) -+ set_target_properties(pthreads PROPERTIES COMPILE_FLAGS -DPTW32_BUILD_INLINED) -+endif(BUILD_INLINED) -+target_link_libraries(pthreads ws2_32) -+ -+############################################################################### -+if(BUILD_TESTS) -+set(pthreads_TESTS -+ loadfree -+ self1 -+ mutex5 -+ mutex1 -+ mutex1n -+ mutex1e -+ mutex1r -+ semaphore1 -+ semaphore2 -+ semaphore3 -+ mutex2 -+ mutex3 -+ mutex2r -+ mutex2e -+ mutex3r -+ mutex3e -+ condvar1 -+ condvar1_1 -+ condvar1_2 -+ condvar2 -+ condvar2_1 -+ exit1 -+ create1 -+ create2 -+ reuse1 -+ reuse2 -+ equal1 -+ kill1 -+ valid1 -+ valid2 -+ exit2 -+ exit3 -+ exit4 -+ exit5 -+ join0 -+ join1 -+ detach1 -+ join2 -+ join3 -+ mutex4 -+ mutex6 -+ mutex6n -+ mutex6e -+ mutex6r -+ mutex6s -+ mutex6es -+ mutex6rs -+ mutex7 -+ mutex7n -+ mutex7e -+ mutex7r -+ mutex8 -+ mutex8n -+ mutex8e -+ mutex8r -+ count1 -+ once1 -+ once2 -+ once3 -+ once4 -+ self2 -+ cancel1 -+ cancel2 -+ semaphore4 -+ semaphore4t -+# semaphore5 -+ barrier1 -+ barrier2 -+ barrier3 -+ barrier4 -+ barrier5 -+ tsd1 -+ tsd2 -+ delay1 -+ delay2 -+ eyal1 -+ condvar3 -+ condvar3_1 -+ condvar3_2 -+ condvar3_3 -+ condvar4 -+ condvar5 -+ condvar6 -+ condvar7 -+ condvar8 -+ condvar9 -+ errno1 -+ rwlock1 -+ rwlock2 -+ rwlock3 -+ rwlock4 -+ rwlock5 -+ rwlock6 -+ rwlock7 -+ rwlock8 -+ rwlock2_t -+ rwlock3_t -+ rwlock4_t -+ rwlock5_t -+ rwlock6_t -+ rwlock6_t2 -+ context1 -+ cancel3 -+ cancel4 -+ cancel5 -+ cancel6a -+ cancel6d -+ cancel7 -+ cancel8 -+ cleanup0 -+ cleanup1 -+ cleanup2 -+ cleanup3 -+ priority1 -+ priority2 -+ inherit1 -+ spin1 -+ spin2 -+ spin3 -+ spin4 -+ exception1 -+ exception2 -+ exception3 -+ cancel9 -+ create3 -+ stress1 -+) -+ -+foreach(_test ${pthreads_TESTS}) -+ add_executable(${_test} tests/${_test}.c) -+ target_link_libraries(${_test} pthreads) -+ add_test(${_test} ${_test}) -+endforeach(_test ${pthreads_TESTS}) -+ -+set(pthreads_ADD_TESTS -+ benchtest1 -+ benchtest2 -+ benchtest3 -+ benchtest4 -+ benchtest5 -+) -+ -+add_library(bench STATIC tests/benchlib.c) -+foreach(_test ${pthreads_ADD_TESTS}) -+ add_executable(${_test} tests/${_test}.c) -+ target_link_libraries(${_test} pthreads bench) -+ add_test(${_test} ${_test}) -+endforeach(_test ${pthreads_ADD_TESTS}) -+ -+endif(BUILD_TESTS) -+ -+############################################################################### -+install(TARGETS pthreads RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+install(FILES ${pthreads_HDRS} DESTINATION include) -\ Kein Zeilenumbruch am Dateiende. -diff -Nru -x '*~' pthreads-w32-2-9-1-release.orig/config.h pthreads-w32-2-9-1-release/config.h ---- pthreads-w32-2-9-1-release.orig/config.h 2011-05-30 02:31:00.000000000 +0200 -+++ pthreads-w32-2-9-1-release/config.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,153 +0,0 @@ --/* config.h */ -- --#ifndef PTW32_CONFIG_H --#define PTW32_CONFIG_H -- --/********************************************************************* -- * Defaults: see target specific redefinitions below. -- *********************************************************************/ -- --/* We're building the pthreads-win32 library */ --#define PTW32_BUILD -- --/* Do we know about the C type sigset_t? */ --#undef HAVE_SIGSET_T -- --/* Define if you have the header file. */ --#undef HAVE_SIGNAL_H -- --/* Define if you have the Borland TASM32 or compatible assembler. */ --#undef HAVE_TASM32 -- --/* Define if you don't have Win32 DuplicateHandle. (eg. WinCE) */ --#undef NEED_DUPLICATEHANDLE -- --/* Define if you don't have Win32 _beginthreadex. (eg. WinCE) */ --#undef NEED_CREATETHREAD -- --/* Define if you don't have Win32 errno. (eg. WinCE) */ --#undef NEED_ERRNO -- --/* Define if you don't have Win32 calloc. (eg. WinCE) */ --#undef NEED_CALLOC -- --/* Define if you don't have Win32 ftime. (eg. WinCE) */ --#undef NEED_FTIME -- --/* Define if you don't have Win32 semaphores. (eg. WinCE 2.1 or earlier) */ --#undef NEED_SEM -- --/* Define if you need to convert string parameters to unicode. (eg. WinCE) */ --#undef NEED_UNICODE_CONSTS -- --/* Define if your C (not C++) compiler supports "inline" functions. */ --#undef HAVE_C_INLINE -- --/* Do we know about type mode_t? */ --#undef HAVE_MODE_T -- --/* -- * Define if GCC has atomic builtins, i.e. __sync_* intrinsics -- * __sync_lock_* is implemented in mingw32 gcc 4.5.2 at least -- * so this define does not turn those on or off. If you get an -- * error from __sync_lock* then consider upgrading your gcc. -- */ --#undef HAVE_GCC_ATOMIC_BUILTINS -- --/* Define if you have the timespec struct */ --#undef HAVE_STRUCT_TIMESPEC -- --/* Define if you don't have the GetProcessAffinityMask() */ --#undef NEED_PROCESS_AFFINITY_MASK -- --/* Define if your version of Windows TLSGetValue() clears WSALastError -- * and calling SetLastError() isn't enough restore it. You'll also need to -- * link against wsock32.lib (or libwsock32.a for MinGW). -- */ --#undef RETAIN_WSALASTERROR -- --/* --# ---------------------------------------------------------------------- --# The library can be built with some alternative behaviour to better --# facilitate development of applications on Win32 that will be ported --# to other POSIX systems. --# --# Nothing described here will make the library non-compliant and strictly --# compliant applications will not be affected in any way, but --# applications that make assumptions that POSIX does not guarantee are --# not strictly compliant and may fail or misbehave with some settings. --# --# PTW32_THREAD_ID_REUSE_INCREMENT --# Purpose: --# POSIX says that applications should assume that thread IDs can be --# recycled. However, Solaris (and some other systems) use a [very large] --# sequence number as the thread ID, which provides virtual uniqueness. --# This provides a very high but finite level of safety for applications --# that are not meticulous in tracking thread lifecycles e.g. applications --# that call functions which target detached threads without some form of --# thread exit synchronisation. --# --# Usage: --# Set to any value in the range: 0 <= value < 2^wordsize. --# Set to 0 to emulate reusable thread ID behaviour like Linux or *BSD. --# Set to 1 for unique thread IDs like Solaris (this is the default). --# Set to some factor of 2^wordsize to emulate smaller word size types --# (i.e. will wrap sooner). This might be useful to emulate some embedded --# systems. --# --# define PTW32_THREAD_ID_REUSE_INCREMENT 0 --# --# ---------------------------------------------------------------------- -- */ --#undef PTW32_THREAD_ID_REUSE_INCREMENT -- -- --/********************************************************************* -- * Target specific groups -- * -- * If you find that these are incorrect or incomplete please report it -- * to the pthreads-win32 maintainer. Thanks. -- *********************************************************************/ --#if defined(WINCE) --#define NEED_DUPLICATEHANDLE --#define NEED_CREATETHREAD --#define NEED_ERRNO --#define NEED_CALLOC --#define NEED_FTIME --/* #define NEED_SEM */ --#define NEED_UNICODE_CONSTS --#define NEED_PROCESS_AFFINITY_MASK --/* This may not be needed */ --#define RETAIN_WSALASTERROR --#endif -- --#if defined(_UWIN) --#define HAVE_MODE_T --#define HAVE_STRUCT_TIMESPEC --#endif -- --#if defined(__GNUC__) --#define HAVE_C_INLINE --#endif -- --#if defined(__MINGW64__) --#define HAVE_MODE_T --#define HAVE_STRUCT_TIMESPEC --#elif defined(__MINGW32__) --#define HAVE_MODE_T --#endif -- --#if defined(__BORLANDC__) --#endif -- --#if defined(__WATCOMC__) --#endif -- --#if defined(__DMC__) --#define HAVE_SIGNAL_H --#define HAVE_C_INLINE --#endif -- -- -- --#endif -diff -Nru -x '*~' pthreads-w32-2-9-1-release.orig/config.h.cmake pthreads-w32-2-9-1-release/config.h.cmake ---- pthreads-w32-2-9-1-release.orig/config.h.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ pthreads-w32-2-9-1-release/config.h.cmake 2013-09-01 13:19:57.134952300 +0200 -@@ -0,0 +1,148 @@ -+/* config.h */ -+ -+#ifndef PTW32_CONFIG_H -+#define PTW32_CONFIG_H -+ -+/********************************************************************* -+ * Defaults: see target specific redefinitions below. -+ *********************************************************************/ -+ -+/* We're building the pthreads-win32 library */ -+#define PTW32_BUILD -+ -+/* Do we know about the C type sigset_t? */ -+#undef HAVE_SIGSET_T -+ -+/* Define if you have the header file. */ -+#undef HAVE_SIGNAL_H -+ -+/* Define if you have the Borland TASM32 or compatible assembler. */ -+#undef HAVE_TASM32 -+ -+/* Define if you don't have Win32 DuplicateHandle. (eg. WinCE) */ -+#undef NEED_DUPLICATEHANDLE -+ -+/* Define if you don't have Win32 _beginthreadex. (eg. WinCE) */ -+#undef NEED_CREATETHREAD -+ -+/* Define if you don't have Win32 errno. (eg. WinCE) */ -+#undef NEED_ERRNO -+ -+/* Define if you don't have Win32 calloc. (eg. WinCE) */ -+#undef NEED_CALLOC -+ -+/* Define if you don't have Win32 ftime. (eg. WinCE) */ -+#undef NEED_FTIME -+ -+/* Define if you don't have Win32 semaphores. (eg. WinCE 2.1 or earlier) */ -+#undef NEED_SEM -+ -+/* Define if you need to convert string parameters to unicode. (eg. WinCE) */ -+#undef NEED_UNICODE_CONSTS -+ -+/* Define if your C (not C++) compiler supports "inline" functions. */ -+#undef HAVE_C_INLINE -+ -+/* Do we know about type mode_t? */ -+#undef HAVE_MODE_T -+ -+/* -+ * Define if GCC has atomic builtins, i.e. __sync_* intrinsics -+ * __sync_lock_* is implemented in mingw32 gcc 4.5.2 at least -+ * so this define does not turn those on or off. If you get an -+ * error from __sync_lock* then consider upgrading your gcc. -+ */ -+#undef HAVE_GCC_ATOMIC_BUILTINS -+ -+/* Define if you have the timespec struct */ -+#cmakedefine HAVE_STRUCT_TIMESPEC -+ -+/* Define if you don't have the GetProcessAffinityMask() */ -+#undef NEED_PROCESS_AFFINITY_MASK -+ -+/* Define if your version of Windows TLSGetValue() clears WSALastError -+ * and calling SetLastError() isn't enough restore it. You'll also need to -+ * link against wsock32.lib (or libwsock32.a for MinGW). -+ */ -+#undef RETAIN_WSALASTERROR -+ -+/* -+# ---------------------------------------------------------------------- -+# The library can be built with some alternative behaviour to better -+# facilitate development of applications on Win32 that will be ported -+# to other POSIX systems. -+# -+# Nothing described here will make the library non-compliant and strictly -+# compliant applications will not be affected in any way, but -+# applications that make assumptions that POSIX does not guarantee are -+# not strictly compliant and may fail or misbehave with some settings. -+# -+# PTW32_THREAD_ID_REUSE_INCREMENT -+# Purpose: -+# POSIX says that applications should assume that thread IDs can be -+# recycled. However, Solaris (and some other systems) use a [very large] -+# sequence number as the thread ID, which provides virtual uniqueness. -+# This provides a very high but finite level of safety for applications -+# that are not meticulous in tracking thread lifecycles e.g. applications -+# that call functions which target detached threads without some form of -+# thread exit synchronisation. -+# -+# Usage: -+# Set to any value in the range: 0 <= value < 2^wordsize. -+# Set to 0 to emulate reusable thread ID behaviour like Linux or *BSD. -+# Set to 1 for unique thread IDs like Solaris (this is the default). -+# Set to some factor of 2^wordsize to emulate smaller word size types -+# (i.e. will wrap sooner). This might be useful to emulate some embedded -+# systems. -+# -+# define PTW32_THREAD_ID_REUSE_INCREMENT 0 -+# -+# ---------------------------------------------------------------------- -+ */ -+#undef PTW32_THREAD_ID_REUSE_INCREMENT -+ -+ -+/********************************************************************* -+ * Target specific groups -+ * -+ * If you find that these are incorrect or incomplete please report it -+ * to the pthreads-win32 maintainer. Thanks. -+ *********************************************************************/ -+#ifdef WINCE -+#define NEED_DUPLICATEHANDLE -+#define NEED_CREATETHREAD -+#define NEED_ERRNO -+#define NEED_CALLOC -+#define NEED_FTIME -+//#define NEED_SEM -+#define NEED_UNICODE_CONSTS -+#define NEED_PROCESS_AFFINITY_MASK -+#endif -+ -+#ifdef _UWIN -+#define HAVE_MODE_T -+#define HAVE_STRUCT_TIMESPEC -+#endif -+ -+#ifdef __GNUC__ -+#define HAVE_C_INLINE -+#endif -+ -+#ifdef __MINGW32__ -+#define HAVE_MODE_T -+#endif -+ -+#ifdef __BORLANDC__ -+#endif -+ -+#ifdef __WATCOMC__ -+#endif -+ -+#ifdef __DMC__ -+#define HAVE_SIGNAL_H -+#define HAVE_C_INLINE -+#endif -+ -+ -+ -+#endif -diff -Nru -x '*~' pthreads-w32-2-9-1-release.orig/ConfigureChecks.cmake pthreads-w32-2-9-1-release/ConfigureChecks.cmake ---- pthreads-w32-2-9-1-release.orig/ConfigureChecks.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ pthreads-w32-2-9-1-release/ConfigureChecks.cmake 2013-09-01 13:39:02.982491000 +0200 -@@ -0,0 +1,16 @@ -+# Configure checks for the config.h -+ -+include(CheckIncludeFile) -+include(CheckFunctionExists) -+include(CheckSymbolExists) -+INCLUDE (CheckTypeSize) -+ -+SET(CMAKE_EXTRA_INCLUDE_FILES time.h) -+CHECK_TYPE_SIZE("struct timespec" STRUCT_TIMESPEC) -+SET(CMAKE_EXTRA_INCLUDE_FILES) -+ -+ -+add_definitions(-DHAVE_PTW32_CONFIG_H) -+ -+configure_file(config.h.cmake ${CMAKE_SOURCE_DIR}/config.h) -+ -diff -Nru -x '*~' pthreads-w32-2-9-1-release.orig/create.c pthreads-w32-2-9-1-release/create.c ---- pthreads-w32-2-9-1-release.orig/create.c 2012-03-18 06:11:43.000000000 +0100 -+++ pthreads-w32-2-9-1-release/create.c 2013-09-01 13:00:26.086972100 +0200 -@@ -94,6 +94,11 @@ - int priority; - pthread_t self; - -+ if(!tid) -+ { -+ result = EINVAL; -+ goto FAIL0; -+ } - /* - * Before doing anything, check that tid can be stored through - * without invoking a memory protection error (segfault). -diff -Nru -x '*~' pthreads-w32-2-9-1-release.orig/implement.h pthreads-w32-2-9-1-release/implement.h ---- pthreads-w32-2-9-1-release.orig/implement.h 2012-03-18 06:11:43.000000000 +0100 -+++ pthreads-w32-2-9-1-release/implement.h 2013-09-01 13:00:26.098972800 +0200 -@@ -55,6 +55,7 @@ - * note: ETIMEDOUT is correctly defined in winsock.h - */ - #include -+#include - - /* - * In case ETIMEDOUT hasn't been defined above somehow. -@@ -78,6 +79,8 @@ - /* use local include files during development */ - #include "semaphore.h" - #include "sched.h" -+#include "pthread.h" -+ - - #if defined(HAVE_C_INLINE) || defined(__cplusplus) - #define INLINE inline diff -Nru krita-3.1.4/3rdparty/ext_qt/0001-Don-t-request-the-MIME-image-every-time-Windows-asks.patch krita-3.1.4+dfsg/3rdparty/ext_qt/0001-Don-t-request-the-MIME-image-every-time-Windows-asks.patch --- krita-3.1.4/3rdparty/ext_qt/0001-Don-t-request-the-MIME-image-every-time-Windows-asks.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_qt/0001-Don-t-request-the-MIME-image-every-time-Windows-asks.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -From 674cfce97c4972176d2bcb55d7013c0ac2190029 Mon Sep 17 00:00:00 2001 -From: Dmitry Kazakov -Date: Tue, 21 Jun 2016 14:50:07 +0300 -Subject: [PATCH 1/2] Don't request the MIME image every time Windows asks for - the list of supported types - -Change-Id: I05516d83dc4e0f192bc94f92cefc722f25dae4d4 ---- - qtbase/src/plugins/platforms/windows/qwindowsmime.cpp | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/qtbase/src/plugins/platforms/windows/qwindowsmime.cpp b/qtbase/src/plugins/platforms/windows/qwindowsmime.cpp -index a8264b5..90d646b 100644 ---- a/qtbase/src/plugins/platforms/windows/qwindowsmime.cpp -+++ b/qtbase/src/plugins/platforms/windows/qwindowsmime.cpp -@@ -1081,12 +1081,15 @@ bool QWindowsMimeImage::canConvertToMime(const QString &mimeType, IDataObject *p - bool QWindowsMimeImage::canConvertFromMime(const FORMATETC &formatetc, const QMimeData *mimeData) const - { - int cf = getCf(formatetc); -+ -+ if (cf != CF_DIBV5 && cf != CF_DIB && cf != CF_PNG) -+ return false; -+ - if (!mimeData->hasImage()) - return false; -+ - const QImage image = qvariant_cast(mimeData->imageData()); -- if (image.isNull()) -- return false; -- return cf == CF_DIBV5 || (cf == CF_DIB) || cf == int(CF_PNG); -+ return !image.isNull(); - } - - bool QWindowsMimeImage::convertFromMime(const FORMATETC &formatetc, const QMimeData *mimeData, STGMEDIUM * pmedium) const --- -2.6.4 - diff -Nru krita-3.1.4/3rdparty/ext_qt/0002-Hack-always-return-we-support-DIBV5.patch krita-3.1.4+dfsg/3rdparty/ext_qt/0002-Hack-always-return-we-support-DIBV5.patch --- krita-3.1.4/3rdparty/ext_qt/0002-Hack-always-return-we-support-DIBV5.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_qt/0002-Hack-always-return-we-support-DIBV5.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -From 5e5026beb420018266d3d00fdb530bb714a841a6 Mon Sep 17 00:00:00 2001 -From: Dmitry Kazakov -Date: Tue, 21 Jun 2016 14:50:47 +0300 -Subject: [PATCH 2/2] Hack: always return we support DIBV5 - -Asking for the entire image may be too expensive - -Change-Id: I44c38fad73f1bb5859eb58b941054eeb6c3c6b66 ---- - qtbase/src/plugins/platforms/windows/qwindowsmime.cpp | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/qtbase/src/plugins/platforms/windows/qwindowsmime.cpp b/qtbase/src/plugins/platforms/windows/qwindowsmime.cpp -index 90d646b..ef97db7 100644 ---- a/qtbase/src/plugins/platforms/windows/qwindowsmime.cpp -+++ b/qtbase/src/plugins/platforms/windows/qwindowsmime.cpp -@@ -1052,9 +1052,7 @@ QVector QWindowsMimeImage::formatsForMime(const QString &mimeType, co - QVector formatetcs; - if (mimeData->hasImage() && mimeType == QLatin1String("application/x-qt-image")) { - //add DIBV5 if image has alpha channel. Do not add CF_PNG here as it will confuse MS Office (QTBUG47656). -- QImage image = qvariant_cast(mimeData->imageData()); -- if (!image.isNull() && image.hasAlphaChannel()) -- formatetcs += setCf(CF_DIBV5); -+ formatetcs += setCf(CF_DIBV5); - formatetcs += setCf(CF_DIB); - } - if (!formatetcs.isEmpty()) --- -2.6.4 - diff -Nru krita-3.1.4/3rdparty/ext_qt/0003-Hack-for-fullscreen-workaround.patch krita-3.1.4+dfsg/3rdparty/ext_qt/0003-Hack-for-fullscreen-workaround.patch --- krita-3.1.4/3rdparty/ext_qt/0003-Hack-for-fullscreen-workaround.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_qt/0003-Hack-for-fullscreen-workaround.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -From 84a774e00e9d2535fdb8c798d7789130a9a008f6 Mon Sep 17 00:00:00 2001 -From: Michael Abrahams -Date: Wed, 22 Jun 2016 13:37:06 -0400 -Subject: [PATCH 3/4] Hack for fullscreen workaround - -https://bugreports.qt.io/browse/QTBUG-41309 ---- - qtbase/src/plugins/platforms/windows/qwindowswindow.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/qtbase/src/plugins/platforms/windows/qwindowswindow.cpp b/qtbase/src/plugins/platforms/windows/qwindowswindow.cpp -index 9c6cb53..d0829e3 100644 ---- a/qtbase/src/plugins/platforms/windows/qwindowswindow.cpp -+++ b/qtbase/src/plugins/platforms/windows/qwindowswindow.cpp -@@ -1769,7 +1769,7 @@ void QWindowsWindow::setWindowState_sys(Qt::WindowState newState) - const UINT swpf = SWP_FRAMECHANGED | SWP_NOACTIVATE; - const bool wasSync = testFlag(SynchronousGeometryChangeEvent); - setFlag(SynchronousGeometryChangeEvent); -- SetWindowPos(m_data.hwnd, HWND_TOP, r.left(), r.top(), r.width(), r.height(), swpf); -+ SetWindowPos(m_data.hwnd, HWND_TOP, r.left()-1, r.top()-1, r.width()+2, r.height()+2, swpf); - if (!wasSync) - clearFlag(SynchronousGeometryChangeEvent); - QWindowSystemInterface::handleGeometryChange(window(), r); --- -2.7.4.windows.1 - diff -Nru krita-3.1.4/3rdparty/ext_qt/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_qt/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_qt/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_qt/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,186 +0,0 @@ -SET(EXTPREFIX_qt "${EXTPREFIX}") -if (WIN32) - ExternalProject_Add( - ext_qt - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL https://download.qt.io/official_releases/qt/5.6/5.6.1-1/single/qt-everywhere-opensource-src-5.6.1-1.zip - URL_MD5 9d7ea0cadcec7b5a63e8e83686756978 - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/disable-wintab.diff - COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/qtgui-private-headers.diff - COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/0001-Don-t-request-the-MIME-image-every-time-Windows-asks.patch - COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/0002-Hack-always-return-we-support-DIBV5.patch - COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/0003-Hack-for-fullscreen-workaround.patch - - INSTALL_DIR ${EXTPREFIX_qt} - CONFIGURE_COMMAND /configure.bat -skip qt3d -skip qtactiveqt -skip qtcanvas3d -skip qtconnectivity -skip qtdoc -skip qtenginio -skip qtgraphicaleffects -skip qtlocation -skip qtsensors -skip qtserialport -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtxmlpatterns -no-sql-sqlite -nomake examples -nomake tools -no-compile-examples -no-dbus -no-iconv -no-angle -no-ssl -no-openssl -no-wmf-backend -no-qml-debug -no-libproxy -no-system-proxies -no-nis -no-icu -no-mtdev -opensource -confirm-license -release -opengl desktop -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -prefix ${EXTPREFIX_qt} -platform win32-g++ - - # use this line for building Qt with debugging info enabled - #CONFIGURE_COMMAND /configure.bat -release -force-debug-info -skip qt3d -skip qtactiveqt -skip qtcanvas3d -skip qtconnectivity -skip qtdoc -skip qtenginio -skip qtgraphicaleffects -skip qtlocation -skip qtsensors -skip qtserialport -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtxmlpatterns -no-sql-sqlite -nomake examples -nomake tools -no-compile-examples -no-dbus -no-iconv -no-angle -no-ssl -no-openssl -no-wmf-backend -no-qml-debug -no-libproxy -no-system-proxies -no-nis -no-icu -no-mtdev -opensource -confirm-license -release -opengl desktop -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -prefix ${EXTPREFIX_qt} -platform win32-g++ - - BUILD_COMMAND mingw32-make - INSTALL_COMMAND mingw32-make install - UPDATE_COMMAND "" - BUILD_IN_SOURCE 1 - ALWAYS 0 - DEPENDS ext_patch - ) -elseif (NOT APPLE) - ExternalProject_Add( - ext_qt - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL https://download.qt.io/official_releases/qt/5.6/5.6.1-1/single/qt-everywhere-opensource-src-5.6.1-1.tar.gz - URL_MD5 8fdec6d657bc370bd3183d8fe8e9c47a - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/qt-no-motion-compression.diff - - INSTALL_DIR ${EXTPREFIX_qt} - CONFIGURE_COMMAND /configure -prefix ${EXTPREFIX_qt} -opensource -confirm-license -nomake examples -no-sql-sqlite -no-openssl -no-qml-debug -no-mtdev -no-journald -no-syslog -no-nis -no-cups -no-tslib -no-directfb -no-linuxfb -no-libproxy -no-pch -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-harfbuzz -qt-freetype -qt-xcb -qt-xkbcommon-x11 -optimized-qmake -skip qt3d -skip qtactiveqt -skip qtcanvas3d -skip qtconnectivity -skip qtenginio -skip qtgraphicaleffects -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtandroidextras -skip qtserialport - - BUILD_COMMAND $(MAKE) - INSTALL_COMMAND $(MAKE) install - UPDATE_COMMAND "" - BUILD_IN_SOURCE 1 - ALWAYS 0 - ) -else( APPLE ) - - # XCODE_VERSION is set by CMake when using the Xcode generator, otherwise we need - # to detect it manually here. - if (NOT XCODE_VERSION) - execute_process( - COMMAND xcodebuild -version - OUTPUT_VARIABLE xcodebuild_version - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_FILE /dev/null - ) - string(REGEX MATCH "Xcode ([0-9]([.][0-9])+)" version_match ${xcodebuild_version}) - if (version_match) - message(STATUS "${EXTPREFIX_qt}:Identified Xcode Version: ${CMAKE_MATCH_1}") - set(XCODE_VERSION ${CMAKE_MATCH_1}) - else() - # If detecting Xcode version failed, set a crazy high version so we default - # to the newest. - set(XCODE_VERSION 99) - message(WARNING "${EXTPREFIX_qt}:Failed to detect the version of an installed copy of Xcode, falling back to highest supported version. Set XCODE_VERSION to override.") - endif(version_match) - endif(NOT XCODE_VERSION) - - # ------------------------------------------------------------------------------- - # Verify the Xcode installation on Mac OS like Qt5.7 does/will - # If not stop now, the system isn't configured correctly for Qt. - # No reason to even proceed. - # ------------------------------------------------------------------------------- - set(XCSELECT_OUTPUT) - find_program(XCSELECT_PROGRAM "xcode-select") - if(XCSELECT_PROGRAM) - message(STATUS "${EXTPREFIX_qt}:Found XCSELECT_PROGRAM as ${XCSELECT_PROGRAM}") - set(XCSELECT_COMMAND ${XCSELECT_PROGRAM} - "--print-path") - execute_process( - COMMAND ${XCSELECT_COMMAND} - RESULT_VARIABLE XCSELECT_COMMAND_RESULT - OUTPUT_VARIABLE XCSELECT_COMMAND_OUTPUT - ERROR_FILE /dev/null - ) - if(NOT XCSELECT_COMMAND_RESULT) - # returned 0, we're ok. - string(REGEX REPLACE - "[ \t]*[\r\n]+[ \t]*" ";" - XCSELECT_COMMAND_OUTPUT ${XCSELECT_COMMAND_OUTPUT}) - else() - string(REPLACE ";" " " XCSELECT_COMMAND_STR "${XCSELECT_COMMAND}") - # message(STATUS "${XCSELECT_COMMAND_STR}") - message(FATAL_ERROR "${EXTPREFIX_qt}:${XCSELECT_PROGRAM} test failed with status ${XCSELECT_COMMAND_RESULT}") - endif() - else() - message(FATAL_ERROR "${EXTPREFIX_qt}:${XCSELECT_PROGRAM} not found. No Xcode is selected. Use xcode-select -switch to choose an Xcode version") - endif() - - # Belts and suspenders - # Beyond all the Xcode and Qt version checking, the proof of the pudding - # lies in the success/failure of this command: xcrun --find xcrun. - # On failure a patch is necessary, otherwise we're ok - # So hard check xcrun now... - set(XCRUN_OUTPUT) - find_program(XCRUN_PROGRAM "xcrun") - if(XCRUN_PROGRAM) - message(STATUS "${EXTPREFIX_qt}:Found XCRUN_PROGRAM as ${XCRUN_PROGRAM}") - set(XCRUN_COMMAND ${XCRUN_PROGRAM} - "--find xcrun") - execute_process( - COMMAND ${XCRUN_COMMAND} - RESULT_VARIABLE XCRUN_COMMAND_RESULT - OUTPUT_VARIABLE XCRUN_COMMAND_OUTPUT - ERROR_FILE /dev/null - ) - if(NOT XCRUN_COMMAND_RESULT) - # returned 0, we're ok. - string(REGEX REPLACE - "[ \t]*[\r\n]+[ \t]*" ";" - XCRUN_COMMAND_OUTPUT ${XCRUN_COMMAND_OUTPUT}) - else() - string(REPLACE ";" " " XCRUN_COMMAND_STR "${XCRUN_COMMAND}") - # message(STATUS "${XCRUN_COMMAND_STR}") - message(STATUS "${EXTPREFIX_qt}:xcrun test failed with status ${XCRUN_COMMAND_RESULT}") - endif() - else() - message(STATUS "${EXTPREFIX_qt}:xcrun not found -- ${XCRUN_PROGRAM}") - endif() - # - # Now configure ext_qt accordingly - # - if ((XCRUN_COMMAND_RESULT) AND (NOT (XCODE_VERSION VERSION_LESS 8.0.0))) - # Fix Xcode xcrun related issue. - # NOTE: This should be fixed by Qt 5.7.1 see here: http://code.qt.io/cgit/qt/qtbase.git/commit/?h=dev&id=77a71c32c9d19b87f79b208929e71282e8d8b5d9 - # NOTE: but no one's holding their breath. - set(ext_qt_PATCH_COMMAND $${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/gerrit-166202.diff - COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/macdeploy-qt.diff - COMMAND ${PATCH_COMMAND} -p1 -b -d /qtbase -i ${CMAKE_CURRENT_SOURCE_DIR}/qtbase-configure.patch - COMMAND ${PATCH_COMMAND} -p1 -b -d /qtbase/mkspecs/features/mac -i ${CMAKE_CURRENT_SOURCE_DIR}/mac-default.patch) - message(STATUS "${EXTPREFIX_qt}:Additional patches injected.") - else() - # No extra patches will be applied - # NOTE: defaults for some untested scenarios like xcrun fails and xcode_version < 8. - # NOTE: that is uncharted territory and (hopefully) a very unlikely scenario... - set(ext_qt_PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/gerrit-166202.diff - COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/macdeploy-qt.diff) - endif() - - # Qt is big - try and parallelize if at all possible - include(ProcessorCount) - ProcessorCount(NUM_CORES) - if(NOT NUM_CORES EQUAL 0) - if (NUM_CORES GREATER 2) - # be nice... - MATH( EXPR NUM_CORES "${NUM_CORES} - 2" ) - endif() - set(PARALLEL_MAKE "make;-j${NUM_CORES}") - message(STATUS "${EXTPREFIX_qt}:Parallelized make: ${PARALLEL_MAKE}") - else() - set(PARALLEL_MAKE "make") - endif() - - ExternalProject_Add(ext_qt - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - - LOG_DOWNLOAD ON - LOG_UPDATE ON - LOG_CONFIGURE ON - LOG_BUILD ON - LOG_TEST ON - LOG_INSTALL ON - BUILD_IN_SOURCE ON - - URL https://download.qt.io/official_releases/qt/5.7/5.7.0/single/qt-everywhere-opensource-src-5.7.0.tar.gz - URL_MD5 9a46cce61fc64c20c3ac0a0e0fa41b42 - - PATCH_COMMAND ${ext_qt_PATCH_COMMAND} - - INSTALL_DIR ${EXTPREFIX_qt} - CONFIGURE_COMMAND /configure -confirm-license -opensource -nomake examples -no-openssl -no-compile-examples -qt-freetype -qt-harfbuzz -opengl desktop -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -skip qt3d -skip qtactiveqt -skip qtcanvas3d -skip qtconnectivity -skip qtgraphicaleffects -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtxmlpatterns -prefix ${EXTPREFIX_qt} - BUILD_COMMAND ${PARALLEL_MAKE} - INSTALL_COMMAND make install - UPDATE_COMMAND "" - BUILD_IN_SOURCE 1 - ALWAYS 0 - ) -endif() diff -Nru krita-3.1.4/3rdparty/ext_qt/disable-wintab.diff krita-3.1.4+dfsg/3rdparty/ext_qt/disable-wintab.diff --- krita-3.1.4/3rdparty/ext_qt/disable-wintab.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_qt/disable-wintab.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ -diff --git a/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp b/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp -index 4934b6c..613e8fe 100644 ---- a/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp -+++ b/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp -@@ -299,9 +299,6 @@ struct QWindowsContextPrivate { - QWindowsMimeConverter m_mimeConverter; - QWindowsScreenManager m_screenManager; - QSharedPointer m_creationContext; --#if !defined(QT_NO_TABLETEVENT) && !defined(Q_OS_WINCE) -- QScopedPointer m_tabletSupport; --#endif - const HRESULT m_oleInitializeResult; - const QByteArray m_eventType; - QWindow *m_lastActiveWindow; -@@ -346,17 +343,10 @@ QWindowsContext::QWindowsContext() : - const QByteArray bv = qgetenv("QT_QPA_VERBOSE"); - if (!bv.isEmpty()) - QLoggingCategory::setFilterRules(QString::fromLocal8Bit(bv)); --#if !defined(QT_NO_TABLETEVENT) && !defined(Q_OS_WINCE) -- d->m_tabletSupport.reset(QWindowsTabletSupport::create()); -- qCDebug(lcQpaTablet) << "Tablet support: " << (d->m_tabletSupport.isNull() ? QStringLiteral("None") : d->m_tabletSupport->description()); --#endif - } - - QWindowsContext::~QWindowsContext() - { --#if !defined(QT_NO_TABLETEVENT) && !defined(Q_OS_WINCE) -- d->m_tabletSupport.reset(); // Destroy internal window before unregistering classes. --#endif - unregisterWindowClasses(); - if (d->m_oleInitializeResult == S_OK || d->m_oleInitializeResult == S_FALSE) - OleUninitialize(); -@@ -397,12 +387,7 @@ bool QWindowsContext::initTouch(unsigned integrationOptions) - - void QWindowsContext::setTabletAbsoluteRange(int a) - { --#if !defined(QT_NO_TABLETEVENT) && !defined(Q_OS_WINCE) -- if (!d->m_tabletSupport.isNull()) -- d->m_tabletSupport->setAbsoluteRange(a); --#else - Q_UNUSED(a) --#endif - } - - int QWindowsContext::processDpiAwareness() -@@ -792,11 +777,7 @@ QWindowsScreenManager &QWindowsContext::screenManager() - - QWindowsTabletSupport *QWindowsContext::tabletSupport() const - { --#if !defined(QT_NO_TABLETEVENT) && !defined(Q_OS_WINCE) -- return d->m_tabletSupport.data(); --#else - return 0; --#endif - } - - /*! -@@ -1166,10 +1147,6 @@ bool QWindowsContext::windowsProc(HWND hwnd, UINT message, - *result = LRESULT(MA_NOACTIVATE); - return true; - } --#ifndef QT_NO_TABLETEVENT -- if (!d->m_tabletSupport.isNull()) -- d->m_tabletSupport->notifyActivate(); --#endif // !QT_NO_TABLETEVENT - if (platformWindow->testFlag(QWindowsWindow::BlockedByModal)) - if (const QWindow *modalWindow = QGuiApplication::modalWindow()) - QWindowsWindow::baseWindowOf(modalWindow)->alertWindow(); diff -Nru krita-3.1.4/3rdparty/ext_qt/gerrit-166202.diff krita-3.1.4+dfsg/3rdparty/ext_qt/gerrit-166202.diff --- krita-3.1.4/3rdparty/ext_qt/gerrit-166202.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_qt/gerrit-166202.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,1067 +0,0 @@ -diff --git a/qtbase/src/gui/opengl/qopenglengineshadermanager.cpp b/qtbase/src/gui/opengl/qopenglengineshadermanager.cpp -index 4e3d14b..c633236 100644 ---- a/qtbase/src/gui/opengl/qopenglengineshadermanager.cpp -+++ b/qtbase/src/gui/opengl/qopenglengineshadermanager.cpp -@@ -131,58 +131,116 @@ QOpenGLEngineSharedShaders::QOpenGLEngineSharedShaders(QOpenGLContext* context) - - const char** code = qShaderSnippets; // shortcut - -- code[MainVertexShader] = qopenglslMainVertexShader; -- code[MainWithTexCoordsVertexShader] = qopenglslMainWithTexCoordsVertexShader; -- code[MainWithTexCoordsAndOpacityVertexShader] = qopenglslMainWithTexCoordsAndOpacityVertexShader; -- -- code[UntransformedPositionVertexShader] = qopenglslUntransformedPositionVertexShader; -- code[PositionOnlyVertexShader] = qopenglslPositionOnlyVertexShader; -- code[ComplexGeometryPositionOnlyVertexShader] = qopenglslComplexGeometryPositionOnlyVertexShader; -- code[PositionWithPatternBrushVertexShader] = qopenglslPositionWithPatternBrushVertexShader; -- code[PositionWithLinearGradientBrushVertexShader] = qopenglslPositionWithLinearGradientBrushVertexShader; -- code[PositionWithConicalGradientBrushVertexShader] = qopenglslPositionWithConicalGradientBrushVertexShader; -- code[PositionWithRadialGradientBrushVertexShader] = qopenglslPositionWithRadialGradientBrushVertexShader; -- code[PositionWithTextureBrushVertexShader] = qopenglslPositionWithTextureBrushVertexShader; -- code[AffinePositionWithPatternBrushVertexShader] = qopenglslAffinePositionWithPatternBrushVertexShader; -- code[AffinePositionWithLinearGradientBrushVertexShader] = qopenglslAffinePositionWithLinearGradientBrushVertexShader; -- code[AffinePositionWithConicalGradientBrushVertexShader] = qopenglslAffinePositionWithConicalGradientBrushVertexShader; -- code[AffinePositionWithRadialGradientBrushVertexShader] = qopenglslAffinePositionWithRadialGradientBrushVertexShader; -- code[AffinePositionWithTextureBrushVertexShader] = qopenglslAffinePositionWithTextureBrushVertexShader; -- -- code[MainFragmentShader_CMO] = qopenglslMainFragmentShader_CMO; -- code[MainFragmentShader_CM] = qopenglslMainFragmentShader_CM; -- code[MainFragmentShader_MO] = qopenglslMainFragmentShader_MO; -- code[MainFragmentShader_M] = qopenglslMainFragmentShader_M; -- code[MainFragmentShader_CO] = qopenglslMainFragmentShader_CO; -- code[MainFragmentShader_C] = qopenglslMainFragmentShader_C; -- code[MainFragmentShader_O] = qopenglslMainFragmentShader_O; -- code[MainFragmentShader] = qopenglslMainFragmentShader; -- code[MainFragmentShader_ImageArrays] = qopenglslMainFragmentShader_ImageArrays; -- -- code[ImageSrcFragmentShader] = qopenglslImageSrcFragmentShader; -- code[ImageSrcWithPatternFragmentShader] = qopenglslImageSrcWithPatternFragmentShader; -- code[NonPremultipliedImageSrcFragmentShader] = qopenglslNonPremultipliedImageSrcFragmentShader; -- code[GrayscaleImageSrcFragmentShader] = qopenglslGrayscaleImageSrcFragmentShader; -- code[AlphaImageSrcFragmentShader] = qopenglslAlphaImageSrcFragmentShader; -- code[CustomImageSrcFragmentShader] = qopenglslCustomSrcFragmentShader; // Calls "customShader", which must be appended -- code[SolidBrushSrcFragmentShader] = qopenglslSolidBrushSrcFragmentShader; -- if (context->isOpenGLES()) -- code[TextureBrushSrcFragmentShader] = qopenglslTextureBrushSrcFragmentShader_ES; -- else -- code[TextureBrushSrcFragmentShader] = qopenglslTextureBrushSrcFragmentShader_desktop; -- code[TextureBrushSrcWithPatternFragmentShader] = qopenglslTextureBrushSrcWithPatternFragmentShader; -- code[PatternBrushSrcFragmentShader] = qopenglslPatternBrushSrcFragmentShader; -- code[LinearGradientBrushSrcFragmentShader] = qopenglslLinearGradientBrushSrcFragmentShader; -- code[RadialGradientBrushSrcFragmentShader] = qopenglslRadialGradientBrushSrcFragmentShader; -- code[ConicalGradientBrushSrcFragmentShader] = qopenglslConicalGradientBrushSrcFragmentShader; -- code[ShockingPinkSrcFragmentShader] = qopenglslShockingPinkSrcFragmentShader; -- -- code[NoMaskFragmentShader] = ""; -- code[MaskFragmentShader] = qopenglslMaskFragmentShader; -- code[RgbMaskFragmentShaderPass1] = qopenglslRgbMaskFragmentShaderPass1; -- code[RgbMaskFragmentShaderPass2] = qopenglslRgbMaskFragmentShaderPass2; -- code[RgbMaskWithGammaFragmentShader] = ""; //### -+ // Check if the user has requested an OpenGL 3.2 Core Profile or higher -+ // and if so use GLSL 1.5 core shaders instead of legacy ones. -+ const QSurfaceFormat &fmt = context->format(); -+ if (fmt.profile() == QSurfaceFormat::CoreProfile && fmt.version() >= qMakePair(3,2)) { -+ code[MainVertexShader] = qopenglslMainVertexShader_core; -+ code[MainWithTexCoordsVertexShader] = qopenglslMainWithTexCoordsVertexShader_core; -+ code[MainWithTexCoordsAndOpacityVertexShader] = qopenglslMainWithTexCoordsAndOpacityVertexShader_core; -+ -+ code[UntransformedPositionVertexShader] = qopenglslUntransformedPositionVertexShader_core; -+ code[PositionOnlyVertexShader] = qopenglslPositionOnlyVertexShader_core; -+ code[ComplexGeometryPositionOnlyVertexShader] = qopenglslComplexGeometryPositionOnlyVertexShader_core; -+ code[PositionWithPatternBrushVertexShader] = qopenglslPositionWithPatternBrushVertexShader_core; -+ code[PositionWithLinearGradientBrushVertexShader] = qopenglslPositionWithLinearGradientBrushVertexShader_core; -+ code[PositionWithConicalGradientBrushVertexShader] = qopenglslPositionWithConicalGradientBrushVertexShader_core; -+ code[PositionWithRadialGradientBrushVertexShader] = qopenglslPositionWithRadialGradientBrushVertexShader_core; -+ code[PositionWithTextureBrushVertexShader] = qopenglslPositionWithTextureBrushVertexShader_core; -+ code[AffinePositionWithPatternBrushVertexShader] = qopenglslAffinePositionWithPatternBrushVertexShader_core; -+ code[AffinePositionWithLinearGradientBrushVertexShader] = qopenglslAffinePositionWithLinearGradientBrushVertexShader_core; -+ code[AffinePositionWithConicalGradientBrushVertexShader] = qopenglslAffinePositionWithConicalGradientBrushVertexShader_core; -+ code[AffinePositionWithRadialGradientBrushVertexShader] = qopenglslAffinePositionWithRadialGradientBrushVertexShader_core; -+ code[AffinePositionWithTextureBrushVertexShader] = qopenglslAffinePositionWithTextureBrushVertexShader_core; -+ -+ code[MainFragmentShader_CMO] = qopenglslMainFragmentShader_CMO_core; -+ code[MainFragmentShader_CM] = qopenglslMainFragmentShader_CM_core; -+ code[MainFragmentShader_MO] = qopenglslMainFragmentShader_MO_core; -+ code[MainFragmentShader_M] = qopenglslMainFragmentShader_M_core; -+ code[MainFragmentShader_CO] = qopenglslMainFragmentShader_CO_core; -+ code[MainFragmentShader_C] = qopenglslMainFragmentShader_C_core; -+ code[MainFragmentShader_O] = qopenglslMainFragmentShader_O_core; -+ code[MainFragmentShader] = qopenglslMainFragmentShader_core; -+ code[MainFragmentShader_ImageArrays] = qopenglslMainFragmentShader_ImageArrays_core; -+ -+ code[ImageSrcFragmentShader] = qopenglslImageSrcFragmentShader_core; -+ code[ImageSrcWithPatternFragmentShader] = qopenglslImageSrcWithPatternFragmentShader_core; -+ code[NonPremultipliedImageSrcFragmentShader] = qopenglslNonPremultipliedImageSrcFragmentShader_core; -+ code[GrayscaleImageSrcFragmentShader] = qopenglslGrayscaleImageSrcFragmentShader_core; -+ code[AlphaImageSrcFragmentShader] = qopenglslAlphaImageSrcFragmentShader_core; -+ code[CustomImageSrcFragmentShader] = qopenglslCustomSrcFragmentShader_core; // Calls "customShader", which must be appended -+ code[SolidBrushSrcFragmentShader] = qopenglslSolidBrushSrcFragmentShader_core; -+ -+ code[TextureBrushSrcFragmentShader] = qopenglslTextureBrushSrcFragmentShader_desktop_core; -+ code[TextureBrushSrcWithPatternFragmentShader] = qopenglslTextureBrushSrcWithPatternFragmentShader_core; -+ code[PatternBrushSrcFragmentShader] = qopenglslPatternBrushSrcFragmentShader_core; -+ code[LinearGradientBrushSrcFragmentShader] = qopenglslLinearGradientBrushSrcFragmentShader_core; -+ code[RadialGradientBrushSrcFragmentShader] = qopenglslRadialGradientBrushSrcFragmentShader_core; -+ code[ConicalGradientBrushSrcFragmentShader] = qopenglslConicalGradientBrushSrcFragmentShader_core; -+ code[ShockingPinkSrcFragmentShader] = qopenglslShockingPinkSrcFragmentShader_core; -+ -+ code[NoMaskFragmentShader] = ""; -+ code[MaskFragmentShader] = qopenglslMaskFragmentShader_core; -+ code[RgbMaskFragmentShaderPass1] = qopenglslRgbMaskFragmentShaderPass1_core; -+ code[RgbMaskFragmentShaderPass2] = qopenglslRgbMaskFragmentShaderPass2_core; -+ code[RgbMaskWithGammaFragmentShader] = ""; //### -+ } else { -+ code[MainVertexShader] = qopenglslMainVertexShader; -+ code[MainWithTexCoordsVertexShader] = qopenglslMainWithTexCoordsVertexShader; -+ code[MainWithTexCoordsAndOpacityVertexShader] = qopenglslMainWithTexCoordsAndOpacityVertexShader; -+ -+ code[UntransformedPositionVertexShader] = qopenglslUntransformedPositionVertexShader; -+ code[PositionOnlyVertexShader] = qopenglslPositionOnlyVertexShader; -+ code[ComplexGeometryPositionOnlyVertexShader] = qopenglslComplexGeometryPositionOnlyVertexShader; -+ code[PositionWithPatternBrushVertexShader] = qopenglslPositionWithPatternBrushVertexShader; -+ code[PositionWithLinearGradientBrushVertexShader] = qopenglslPositionWithLinearGradientBrushVertexShader; -+ code[PositionWithConicalGradientBrushVertexShader] = qopenglslPositionWithConicalGradientBrushVertexShader; -+ code[PositionWithRadialGradientBrushVertexShader] = qopenglslPositionWithRadialGradientBrushVertexShader; -+ code[PositionWithTextureBrushVertexShader] = qopenglslPositionWithTextureBrushVertexShader; -+ code[AffinePositionWithPatternBrushVertexShader] = qopenglslAffinePositionWithPatternBrushVertexShader; -+ code[AffinePositionWithLinearGradientBrushVertexShader] = qopenglslAffinePositionWithLinearGradientBrushVertexShader; -+ code[AffinePositionWithConicalGradientBrushVertexShader] = qopenglslAffinePositionWithConicalGradientBrushVertexShader; -+ code[AffinePositionWithRadialGradientBrushVertexShader] = qopenglslAffinePositionWithRadialGradientBrushVertexShader; -+ code[AffinePositionWithTextureBrushVertexShader] = qopenglslAffinePositionWithTextureBrushVertexShader; -+ -+ code[MainFragmentShader_CMO] = qopenglslMainFragmentShader_CMO; -+ code[MainFragmentShader_CM] = qopenglslMainFragmentShader_CM; -+ code[MainFragmentShader_MO] = qopenglslMainFragmentShader_MO; -+ code[MainFragmentShader_M] = qopenglslMainFragmentShader_M; -+ code[MainFragmentShader_CO] = qopenglslMainFragmentShader_CO; -+ code[MainFragmentShader_C] = qopenglslMainFragmentShader_C; -+ code[MainFragmentShader_O] = qopenglslMainFragmentShader_O; -+ code[MainFragmentShader] = qopenglslMainFragmentShader; -+ code[MainFragmentShader_ImageArrays] = qopenglslMainFragmentShader_ImageArrays; -+ -+ code[ImageSrcFragmentShader] = qopenglslImageSrcFragmentShader; -+ code[ImageSrcWithPatternFragmentShader] = qopenglslImageSrcWithPatternFragmentShader; -+ code[NonPremultipliedImageSrcFragmentShader] = qopenglslNonPremultipliedImageSrcFragmentShader; -+ code[GrayscaleImageSrcFragmentShader] = qopenglslGrayscaleImageSrcFragmentShader; -+ code[AlphaImageSrcFragmentShader] = qopenglslAlphaImageSrcFragmentShader; -+ code[CustomImageSrcFragmentShader] = qopenglslCustomSrcFragmentShader; // Calls "customShader", which must be appended -+ code[SolidBrushSrcFragmentShader] = qopenglslSolidBrushSrcFragmentShader; -+ if (context->isOpenGLES()) -+ code[TextureBrushSrcFragmentShader] = qopenglslTextureBrushSrcFragmentShader_ES; -+ else -+ code[TextureBrushSrcFragmentShader] = qopenglslTextureBrushSrcFragmentShader_desktop; -+ code[TextureBrushSrcWithPatternFragmentShader] = qopenglslTextureBrushSrcWithPatternFragmentShader; -+ code[PatternBrushSrcFragmentShader] = qopenglslPatternBrushSrcFragmentShader; -+ code[LinearGradientBrushSrcFragmentShader] = qopenglslLinearGradientBrushSrcFragmentShader; -+ code[RadialGradientBrushSrcFragmentShader] = qopenglslRadialGradientBrushSrcFragmentShader; -+ code[ConicalGradientBrushSrcFragmentShader] = qopenglslConicalGradientBrushSrcFragmentShader; -+ code[ShockingPinkSrcFragmentShader] = qopenglslShockingPinkSrcFragmentShader; -+ -+ code[NoMaskFragmentShader] = ""; -+ code[MaskFragmentShader] = qopenglslMaskFragmentShader; -+ code[RgbMaskFragmentShaderPass1] = qopenglslRgbMaskFragmentShaderPass1; -+ code[RgbMaskFragmentShaderPass2] = qopenglslRgbMaskFragmentShaderPass2; -+ code[RgbMaskWithGammaFragmentShader] = ""; //### -+ } - -+ // These shaders are not implemented yet and therefore are the same -+ // for all profiles. Implementations should make a version for both -+ // profiles and put the appropriate lines in the if-statement above. - code[NoCompositionModeFragmentShader] = ""; - code[MultiplyCompositionModeFragmentShader] = ""; //### - code[ScreenCompositionModeFragmentShader] = ""; //### -diff --git a/qtbase/src/gui/opengl/qopenglengineshadersource_p.h b/qtbase/src/gui/opengl/qopenglengineshadersource_p.h -index 876d277..73aeb79 100644 ---- a/qtbase/src/gui/opengl/qopenglengineshadersource_p.h -+++ b/qtbase/src/gui/opengl/qopenglengineshadersource_p.h -@@ -56,8 +56,6 @@ - - QT_BEGIN_NAMESPACE - -- -- - static const char* const qopenglslMainVertexShader = "\n\ - void setPosition(); \n\ - void main(void) \n\ -@@ -531,40 +529,498 @@ static const char* const qopenglslRgbMaskFragmentShaderPass2 = "\n\ - ExclusionCompositionModeFragmentShader, - */ - --// OpenGL 3.2 core profile versions of shaders that are used by QOpenGLTextureGlyphCache -+/* -+ OpenGL 3.2+ Core Profile shaders -+ The following shader snippets are copies of the snippets above -+ but use the modern GLSL 1.5 keywords. New shaders should make -+ a snippet for both profiles and add them appropriately in the -+ shader manager. -+*/ -+static const char* const qopenglslMainVertexShader_core = -+ "#version 150 core\n\ -+ void setPosition(); \n\ -+ void main(void) \n\ -+ { \n\ -+ setPosition(); \n\ -+ }\n"; -+ -+static const char* const qopenglslMainWithTexCoordsVertexShader_core = -+ "#version 150 core\n\ -+ in vec2 textureCoordArray; \n\ -+ out vec2 textureCoords; \n\ -+ void setPosition(); \n\ -+ void main(void) \n\ -+ { \n\ -+ setPosition(); \n\ -+ textureCoords = textureCoordArray; \n\ -+ }\n"; - --static const char* const qopenglslMainWithTexCoordsVertexShader_core = "#version 150 core \n\ -- in vec2 textureCoordArray; \n\ -- out vec2 textureCoords; \n\ -- void setPosition(); \n\ -- void main(void) \n\ -- { \n\ -- setPosition(); \n\ -- textureCoords = textureCoordArray; \n\ -- }\n"; -+static const char* const qopenglslMainWithTexCoordsAndOpacityVertexShader_core = -+ "#version 150 core\n\ -+ in vec2 textureCoordArray; \n\ -+ in float opacityArray; \n\ -+ out vec2 textureCoords; \n\ -+ out float opacity; \n\ -+ void setPosition(); \n\ -+ void main(void) \n\ -+ { \n\ -+ setPosition(); \n\ -+ textureCoords = textureCoordArray; \n\ -+ opacity = opacityArray; \n\ -+ }\n"; -+ -+// NOTE: We let GL do the perspective correction so texture lookups in the fragment -+// shader are also perspective corrected. -+static const char* const qopenglslPositionOnlyVertexShader_core = "\n\ -+ in vec2 vertexCoordsArray; \n\ -+ in vec3 pmvMatrix1; \n\ -+ in vec3 pmvMatrix2; \n\ -+ in vec3 pmvMatrix3; \n\ -+ void setPosition(void) \n\ -+ { \n\ -+ mat3 pmvMatrix = mat3(pmvMatrix1, pmvMatrix2, pmvMatrix3); \n\ -+ vec3 transformedPos = pmvMatrix * vec3(vertexCoordsArray.xy, 1.0); \n\ -+ gl_Position = vec4(transformedPos.xy, 0.0, transformedPos.z); \n\ -+ }\n"; -+ -+static const char* const qopenglslComplexGeometryPositionOnlyVertexShader_core = "\n\ -+ in vec2 vertexCoordsArray; \n\ -+ uniform mat3 matrix; \n\ -+ void setPosition(void) \n\ -+ { \n\ -+ gl_Position = vec4(matrix * vec3(vertexCoordsArray, 1), 1);\n\ -+ } \n"; - - static const char* const qopenglslUntransformedPositionVertexShader_core = "\n\ -- in vec4 vertexCoordsArray; \n\ -- void setPosition(void) \n\ -- { \n\ -- gl_Position = vertexCoordsArray; \n\ -- }\n"; -- --static const char* const qopenglslMainFragmentShader_core = "#version 150 core \n\ -- vec4 srcPixel(); \n\ -- out vec4 fragColor; \n\ -- void main() \n\ -- { \n\ -- fragColor = srcPixel(); \n\ -- }\n"; -+ in vec4 vertexCoordsArray; \n\ -+ void setPosition(void) \n\ -+ { \n\ -+ gl_Position = vertexCoordsArray; \n\ -+ }\n"; -+ -+// Pattern Brush - This assumes the texture size is 8x8 and thus, the inverted size is 0.125 -+static const char* const qopenglslPositionWithPatternBrushVertexShader_core = "\n\ -+ in vec2 vertexCoordsArray; \n\ -+ in vec3 pmvMatrix1; \n\ -+ in vec3 pmvMatrix2; \n\ -+ in vec3 pmvMatrix3; \n\ -+ out vec2 patternTexCoords; \n\ -+ uniform vec2 halfViewportSize; \n\ -+ uniform vec2 invertedTextureSize; \n\ -+ uniform mat3 brushTransform; \n\ -+ void setPosition(void) \n\ -+ { \n\ -+ mat3 pmvMatrix = mat3(pmvMatrix1, pmvMatrix2, pmvMatrix3); \n\ -+ vec3 transformedPos = pmvMatrix * vec3(vertexCoordsArray.xy, 1.0); \n\ -+ gl_Position.xy = transformedPos.xy / transformedPos.z; \n\ -+ vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \n\ -+ vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1.0); \n\ -+ float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \n\ -+ gl_Position = vec4(gl_Position.xy * invertedHTexCoordsZ, 0.0, invertedHTexCoordsZ); \n\ -+ patternTexCoords.xy = (hTexCoords.xy * 0.125) * invertedHTexCoordsZ; \n\ -+ }\n"; -+ -+static const char* const qopenglslAffinePositionWithPatternBrushVertexShader_core -+ = qopenglslPositionWithPatternBrushVertexShader_core; -+ -+static const char* const qopenglslPatternBrushSrcFragmentShader_core = "\n\ -+ in vec2 patternTexCoords;\n\ -+ uniform sampler2D brushTexture; \n\ -+ uniform vec4 patternColor; \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ return patternColor * (1.0 - texture(brushTexture, patternTexCoords).r); \n\ -+ }\n"; -+ -+ -+// Linear Gradient Brush -+static const char* const qopenglslPositionWithLinearGradientBrushVertexShader_core = "\n\ -+ in vec2 vertexCoordsArray; \n\ -+ in vec3 pmvMatrix1; \n\ -+ in vec3 pmvMatrix2; \n\ -+ in vec3 pmvMatrix3; \n\ -+ out float index; \n\ -+ uniform vec2 halfViewportSize; \n\ -+ uniform vec3 linearData; \n\ -+ uniform mat3 brushTransform; \n\ -+ void setPosition() \n\ -+ { \n\ -+ mat3 pmvMatrix = mat3(pmvMatrix1, pmvMatrix2, pmvMatrix3); \n\ -+ vec3 transformedPos = pmvMatrix * vec3(vertexCoordsArray.xy, 1.0); \n\ -+ gl_Position.xy = transformedPos.xy / transformedPos.z; \n\ -+ vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \n\ -+ vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \n\ -+ float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \n\ -+ gl_Position = vec4(gl_Position.xy * invertedHTexCoordsZ, 0.0, invertedHTexCoordsZ); \n\ -+ index = (dot(linearData.xy, hTexCoords.xy) * linearData.z) * invertedHTexCoordsZ; \n\ -+ }\n"; -+ -+static const char* const qopenglslAffinePositionWithLinearGradientBrushVertexShader_core -+ = qopenglslPositionWithLinearGradientBrushVertexShader_core; -+ -+static const char* const qopenglslLinearGradientBrushSrcFragmentShader_core = "\n\ -+ uniform sampler2D brushTexture; \n\ -+ in float index; \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ vec2 val = vec2(index, 0.5); \n\ -+ return texture(brushTexture, val); \n\ -+ }\n"; -+ -+ -+// Conical Gradient Brush -+static const char* const qopenglslPositionWithConicalGradientBrushVertexShader_core = "\n\ -+ in vec2 vertexCoordsArray; \n\ -+ in vec3 pmvMatrix1; \n\ -+ in vec3 pmvMatrix2; \n\ -+ in vec3 pmvMatrix3; \n\ -+ out vec2 A; \n\ -+ uniform vec2 halfViewportSize; \n\ -+ uniform mat3 brushTransform; \n\ -+ void setPosition(void) \n\ -+ { \n\ -+ mat3 pmvMatrix = mat3(pmvMatrix1, pmvMatrix2, pmvMatrix3); \n\ -+ vec3 transformedPos = pmvMatrix * vec3(vertexCoordsArray.xy, 1.0); \n\ -+ gl_Position.xy = transformedPos.xy / transformedPos.z; \n\ -+ vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \n\ -+ vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \n\ -+ float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \n\ -+ gl_Position = vec4(gl_Position.xy * invertedHTexCoordsZ, 0.0, invertedHTexCoordsZ); \n\ -+ A = hTexCoords.xy * invertedHTexCoordsZ; \n\ -+ }\n"; -+ -+static const char* const qopenglslAffinePositionWithConicalGradientBrushVertexShader_core -+ = qopenglslPositionWithConicalGradientBrushVertexShader_core; -+ -+static const char* const qopenglslConicalGradientBrushSrcFragmentShader_core = "\n\ -+ #define INVERSE_2PI 0.1591549430918953358 \n\ -+ in vec2 A; \n\ -+ uniform sampler2D brushTexture; \n\ -+ uniform float angle; \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ float t; \n\ -+ if (abs(A.y) == abs(A.x)) \n\ -+ t = (atan(-A.y + 0.002, A.x) + angle) * INVERSE_2PI; \n\ -+ else \n\ -+ t = (atan(-A.y, A.x) + angle) * INVERSE_2PI; \n\ -+ return texture(brushTexture, vec2(t - floor(t), 0.5)); \n\ -+ }\n"; -+ -+ -+// Radial Gradient Brush -+static const char* const qopenglslPositionWithRadialGradientBrushVertexShader_core = "\n\ -+ in vec2 vertexCoordsArray;\n\ -+ in vec3 pmvMatrix1; \n\ -+ in vec3 pmvMatrix2; \n\ -+ in vec3 pmvMatrix3; \n\ -+ out float b; \n\ -+ out vec2 A; \n\ -+ uniform vec2 halfViewportSize; \n\ -+ uniform mat3 brushTransform; \n\ -+ uniform vec2 fmp; \n\ -+ uniform vec3 bradius; \n\ -+ void setPosition(void) \n\ -+ {\n\ -+ mat3 pmvMatrix = mat3(pmvMatrix1, pmvMatrix2, pmvMatrix3); \n\ -+ vec3 transformedPos = pmvMatrix * vec3(vertexCoordsArray.xy, 1.0); \n\ -+ gl_Position.xy = transformedPos.xy / transformedPos.z; \n\ -+ vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \n\ -+ vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \n\ -+ float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \n\ -+ gl_Position = vec4(gl_Position.xy * invertedHTexCoordsZ, 0.0, invertedHTexCoordsZ); \n\ -+ A = hTexCoords.xy * invertedHTexCoordsZ; \n\ -+ b = bradius.x + 2.0 * dot(A, fmp); \n\ -+ }\n"; -+ -+static const char* const qopenglslAffinePositionWithRadialGradientBrushVertexShader_core -+ = qopenglslPositionWithRadialGradientBrushVertexShader_core; -+ -+static const char* const qopenglslRadialGradientBrushSrcFragmentShader_core = "\n\ -+ in float b; \n\ -+ in vec2 A; \n\ -+ uniform sampler2D brushTexture; \n\ -+ uniform float fmp2_m_radius2; \n\ -+ uniform float inverse_2_fmp2_m_radius2; \n\ -+ uniform float sqrfr; \n\ -+ uniform vec3 bradius; \n\ -+ \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ float c = sqrfr-dot(A, A); \n\ -+ float det = b*b - 4.0*fmp2_m_radius2*c; \n\ -+ vec4 result = vec4(0.0); \n\ -+ if (det >= 0.0) { \n\ -+ float detSqrt = sqrt(det); \n\ -+ float w = max((-b - detSqrt) * inverse_2_fmp2_m_radius2, (-b + detSqrt) * inverse_2_fmp2_m_radius2); \n\ -+ if (bradius.y + w * bradius.z >= 0.0) \n\ -+ result = texture(brushTexture, vec2(w, 0.5)); \n\ -+ } \n\ -+ return result; \n\ -+ }\n"; -+ -+ -+// Texture Brush -+static const char* const qopenglslPositionWithTextureBrushVertexShader_core = "\n\ -+ in vec2 vertexCoordsArray; \n\ -+ in vec3 pmvMatrix1; \n\ -+ in vec3 pmvMatrix2; \n\ -+ in vec3 pmvMatrix3; \n\ -+ out vec2 brushTextureCoords; \n\ -+ uniform vec2 halfViewportSize; \n\ -+ uniform vec2 invertedTextureSize; \n\ -+ uniform mat3 brushTransform; \n\ -+ \n\ -+ void setPosition(void) \n\ -+ { \n\ -+ mat3 pmvMatrix = mat3(pmvMatrix1, pmvMatrix2, pmvMatrix3); \n\ -+ vec3 transformedPos = pmvMatrix * vec3(vertexCoordsArray.xy, 1.0); \n\ -+ gl_Position.xy = transformedPos.xy / transformedPos.z; \n\ -+ vec2 viewportCoords = (gl_Position.xy + 1.0) * halfViewportSize; \n\ -+ vec3 hTexCoords = brushTransform * vec3(viewportCoords, 1); \n\ -+ float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \n\ -+ gl_Position = vec4(gl_Position.xy * invertedHTexCoordsZ, 0.0, invertedHTexCoordsZ); \n\ -+ brushTextureCoords.xy = (hTexCoords.xy * invertedTextureSize) * gl_Position.w; \n\ -+ }\n"; -+ -+static const char* const qopenglslAffinePositionWithTextureBrushVertexShader_core -+ = qopenglslPositionWithTextureBrushVertexShader_core; -+ -+static const char* const qopenglslTextureBrushSrcFragmentShader_desktop_core = "\n\ -+ in vec2 brushTextureCoords; \n\ -+ uniform sampler2D brushTexture; \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ return texture(brushTexture, brushTextureCoords); \n\ -+ }\n"; -+ -+static const char* const qopenglslTextureBrushSrcWithPatternFragmentShader_core = "\n\ -+ in vec2 brushTextureCoords; \n\ -+ uniform vec4 patternColor; \n\ -+ uniform sampler2D brushTexture; \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ return patternColor * (1.0 - texture(brushTexture, brushTextureCoords).r); \n\ -+ }\n"; -+ -+// Solid Fill Brush -+static const char* const qopenglslSolidBrushSrcFragmentShader_core = "\n\ -+ uniform vec4 fragmentColor; \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ return fragmentColor; \n\ -+ }\n"; - - static const char* const qopenglslImageSrcFragmentShader_core = "\n\ -- in vec2 textureCoords; \n\ -- uniform sampler2D imageTexture; \n\ -- vec4 srcPixel() \n\ -- { \n" -- "return texture(imageTexture, textureCoords); \n" -- "}\n"; -+ in vec2 textureCoords; \n\ -+ uniform sampler2D imageTexture; \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ return texture(imageTexture, textureCoords); \n\ -+ }\n"; -+ -+static const char* const qopenglslCustomSrcFragmentShader_core = "\n\ -+ in vec2 textureCoords; \n\ -+ uniform sampler2D imageTexture; \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ return customShader(imageTexture, textureCoords); \n\ -+ }\n"; -+ -+static const char* const qopenglslImageSrcWithPatternFragmentShader_core = "\n\ -+ in vec2 textureCoords; \n\ -+ uniform vec4 patternColor; \n\ -+ uniform sampler2D imageTexture; \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ return patternColor * (1.0 - texture(imageTexture, textureCoords).r); \n\ -+ }\n"; -+ -+static const char* const qopenglslNonPremultipliedImageSrcFragmentShader_core = "\n\ -+ in vec2 textureCoords; \n\ -+ uniform sampler2D imageTexture; \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ vec4 sample = texture(imageTexture, textureCoords); \n\ -+ sample.rgb = sample.rgb * sample.a; \n\ -+ return sample; \n\ -+ }\n"; -+ -+static const char* const qopenglslGrayscaleImageSrcFragmentShader_core = "\n\ -+ in vec2 textureCoords; \n\ -+ uniform sampler2D imageTexture; \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ return texture(imageTexture, textureCoords).rrra; \n\ -+ }\n"; -+ -+static const char* const qopenglslAlphaImageSrcFragmentShader_core = "\n\ -+ in vec2 textureCoords; \n\ -+ uniform sampler2D imageTexture; \n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ return vec4(0, 0, 0, texture(imageTexture, textureCoords).r); \n\ -+ }\n"; -+ -+static const char* const qopenglslShockingPinkSrcFragmentShader_core = "\n\ -+ vec4 srcPixel() \n\ -+ { \n\ -+ return vec4(0.98, 0.06, 0.75, 1.0); \n\ -+ }\n"; -+ -+static const char* const qopenglslMainFragmentShader_ImageArrays_core = -+ "#version 150 core\n\ -+ in float opacity; \n\ -+ out vec4 fragColor; \n\ -+ vec4 srcPixel(); \n\ -+ void main() \n\ -+ { \n\ -+ fragColor = srcPixel() * opacity; \n\ -+ }\n"; -+ -+static const char* const qopenglslMainFragmentShader_CMO_core = -+ "#version 150 core\n\ -+ out vec4 fragColor; \n\ -+ uniform float globalOpacity; \n\ -+ vec4 srcPixel(); \n\ -+ vec4 applyMask(vec4); \n\ -+ vec4 compose(vec4); \n\ -+ void main() \n\ -+ { \n\ -+ fragColor = applyMask(compose(srcPixel()*globalOpacity))); \n\ -+ }\n"; -+ -+static const char* const qopenglslMainFragmentShader_CM_core = -+ "#version 150 core\n\ -+ out vec4 fragColor; \n\ -+ vec4 srcPixel(); \n\ -+ vec4 applyMask(vec4); \n\ -+ vec4 compose(vec4); \n\ -+ void main() \n\ -+ { \n\ -+ fragColor = applyMask(compose(srcPixel())); \n\ -+ }\n"; -+ -+static const char* const qopenglslMainFragmentShader_MO_core = -+ "#version 150 core\n\ -+ out vec4 fragColor; \n\ -+ uniform float globalOpacity; \n\ -+ vec4 srcPixel(); \n\ -+ vec4 applyMask(vec4); \n\ -+ void main() \n\ -+ { \n\ -+ fragColor = applyMask(srcPixel()*globalOpacity); \n\ -+ }\n"; -+ -+static const char* const qopenglslMainFragmentShader_M_core = -+ "#version 150 core\n\ -+ out vec4 fragColor; \n\ -+ vec4 srcPixel(); \n\ -+ vec4 applyMask(vec4); \n\ -+ void main() \n\ -+ { \n\ -+ fragColor = applyMask(srcPixel()); \n\ -+ }\n"; -+ -+static const char* const qopenglslMainFragmentShader_CO_core = -+ "#version 150 core\n\ -+ out vec4 fragColor; \n\ -+ uniform float globalOpacity; \n\ -+ vec4 srcPixel(); \n\ -+ vec4 compose(vec4); \n\ -+ void main() \n\ -+ { \n\ -+ fragColor = compose(srcPixel()*globalOpacity); \n\ -+ }\n"; -+ -+static const char* const qopenglslMainFragmentShader_C_core = -+ "#version 150 core\n\ -+ out vec4 fragColor; \n\ -+ vec4 srcPixel(); \n\ -+ vec4 compose(vec4); \n\ -+ void main() \n\ -+ { \n\ -+ fragColor = compose(srcPixel()); \n\ -+ }\n"; -+ -+static const char* const qopenglslMainFragmentShader_O_core = -+ "#version 150 core\n\ -+ out vec4 fragColor; \n\ -+ uniform float globalOpacity; \n\ -+ vec4 srcPixel(); \n\ -+ void main() \n\ -+ { \n\ -+ fragColor = srcPixel()*globalOpacity; \n\ -+ }\n"; -+ -+static const char* const qopenglslMainFragmentShader_core = -+ "#version 150 core\n\ -+ out vec4 fragColor; \n\ -+ vec4 srcPixel(); \n\ -+ void main() \n\ -+ { \n\ -+ fragColor = srcPixel(); \n\ -+ }\n"; -+ -+static const char* const qopenglslMaskFragmentShader_core = "\n\ -+ in vec2 textureCoords;\n\ -+ uniform sampler2D maskTexture;\n\ -+ vec4 applyMask(vec4 src) \n\ -+ {\n\ -+ vec4 mask = texture(maskTexture, textureCoords); \n\ -+ return src * mask.a; \n\ -+ }\n"; -+ -+// For source over with subpixel antialiasing, the final color is calculated per component as follows -+// (.a is alpha component, .c is red, green or blue component): -+// alpha = src.a * mask.c * opacity -+// dest.c = dest.c * (1 - alpha) + src.c * alpha -+// -+// In the first pass, calculate: dest.c = dest.c * (1 - alpha) with blend funcs: zero, 1 - source color -+// In the second pass, calculate: dest.c = dest.c + src.c * alpha with blend funcs: one, one -+// -+// If source is a solid color (src is constant), only the first pass is needed, with blend funcs: constant, 1 - source color -+ -+// For source composition with subpixel antialiasing, the final color is calculated per component as follows: -+// alpha = src.a * mask.c * opacity -+// dest.c = dest.c * (1 - mask.c) + src.c * alpha -+// -+ -+static const char* const qopenglslRgbMaskFragmentShaderPass1_core = "\n\ -+ in vec2 textureCoords;\n\ -+ uniform sampler2D maskTexture;\n\ -+ vec4 applyMask(vec4 src) \n\ -+ { \n\ -+ vec4 mask = texture(maskTexture, textureCoords); \n\ -+ return src.a * mask; \n\ -+ }\n"; -+ -+static const char* const qopenglslRgbMaskFragmentShaderPass2_core = "\n\ -+ in vec2 textureCoords;\n\ -+ uniform sampler2D maskTexture;\n\ -+ vec4 applyMask(vec4 src) \n\ -+ { \n\ -+ vec4 mask = texture(maskTexture, textureCoords); \n\ -+ return src * mask; \n\ -+ }\n"; -+ -+/* -+ Left to implement: -+ RgbMaskFragmentShader_core, -+ RgbMaskWithGammaFragmentShader_core, -+ -+ MultiplyCompositionModeFragmentShader_core, -+ ScreenCompositionModeFragmentShader_core, -+ OverlayCompositionModeFragmentShader_core, -+ DarkenCompositionModeFragmentShader_core, -+ LightenCompositionModeFragmentShader_core, -+ ColorDodgeCompositionModeFragmentShader_core, -+ ColorBurnCompositionModeFragmentShader_core, -+ HardLightCompositionModeFragmentShader_core, -+ SoftLightCompositionModeFragmentShader_core, -+ DifferenceCompositionModeFragmentShader_core, -+ ExclusionCompositionModeFragmentShader_core, -+*/ - - QT_END_NAMESPACE - -diff --git a/qtbase/src/gui/opengl/qopenglpaintengine.cpp b/qtbase/src/gui/opengl/qopenglpaintengine.cpp -index d93871c..4cc4218 100644 ---- a/qtbase/src/gui/opengl/qopenglpaintengine.cpp -+++ b/qtbase/src/gui/opengl/qopenglpaintengine.cpp -@@ -99,6 +99,10 @@ QOpenGL2PaintEngineExPrivate::~QOpenGL2PaintEngineExPrivate() - { - delete shaderManager; - -+ vertexBuffer.destroy(); -+ texCoordBuffer.destroy(); -+ vao.destroy(); -+ - if (elementIndicesVBOId != 0) { - funcs.glDeleteBuffers(1, &elementIndicesVBOId); - elementIndicesVBOId = 0; -@@ -578,6 +582,12 @@ void QOpenGL2PaintEngineExPrivate::drawTexture(const QOpenGLRect& dest, const QO - setCoords(staticVertexCoordinateArray, dest); - setCoords(staticTextureCoordinateArray, srcTextureRect); - -+ setVertexAttribArrayEnabled(QT_VERTEX_COORDS_ATTR, true); -+ setVertexAttribArrayEnabled(QT_TEXTURE_COORDS_ATTR, true); -+ -+ uploadData(QT_VERTEX_COORDS_ATTR, staticVertexCoordinateArray, 8); -+ uploadData(QT_TEXTURE_COORDS_ATTR, staticTextureCoordinateArray, 8); -+ - funcs.glDrawArrays(GL_TRIANGLE_FAN, 0, 4); - } - -@@ -664,6 +674,8 @@ void QOpenGL2PaintEngineExPrivate::resetGLState() - float color[] = { 1.0f, 1.0f, 1.0f, 1.0f }; - funcs.glVertexAttrib4fv(3, color); - } -+ if (vao.isCreated()) -+ vao.release(); - } - - void QOpenGL2PaintEngineEx::endNativePainting() -@@ -696,16 +708,16 @@ void QOpenGL2PaintEngineExPrivate::transferMode(EngineMode newMode) - } - - if (newMode == ImageDrawingMode) { -- setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, staticVertexCoordinateArray); -- setVertexAttributePointer(QT_TEXTURE_COORDS_ATTR, staticTextureCoordinateArray); -+ uploadData(QT_VERTEX_COORDS_ATTR, staticVertexCoordinateArray, 8); -+ uploadData(QT_TEXTURE_COORDS_ATTR, staticTextureCoordinateArray, 8); - } - - if (newMode == ImageArrayDrawingMode || newMode == ImageOpacityArrayDrawingMode) { -- setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, (GLfloat*)vertexCoordinateArray.data()); -- setVertexAttributePointer(QT_TEXTURE_COORDS_ATTR, (GLfloat*)textureCoordinateArray.data()); -+ uploadData(QT_VERTEX_COORDS_ATTR, (GLfloat*)vertexCoordinateArray.data(), vertexCoordinateArray.vertexCount() * 2); -+ uploadData(QT_TEXTURE_COORDS_ATTR, (GLfloat*)textureCoordinateArray.data(), textureCoordinateArray.vertexCount() * 2); - - if (newMode == ImageOpacityArrayDrawingMode) -- setVertexAttributePointer(QT_OPACITY_ATTR, (GLfloat*)opacityArray.data()); -+ uploadData(QT_OPACITY_ATTR, (GLfloat*)opacityArray.data(), opacityArray.size()); - } - - // This needs to change when we implement high-quality anti-aliasing... -@@ -824,9 +836,10 @@ void QOpenGL2PaintEngineExPrivate::fill(const QVectorPath& path) - prepareForDraw(currentBrush.isOpaque()); - #ifdef QT_OPENGL_CACHE_AS_VBOS - funcs.glBindBuffer(GL_ARRAY_BUFFER, cache->vbo); -+ uploadData(QT_VERTEX_COORD_ATTR, 0, cache->vertexCount); - setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, 0); - #else -- setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, cache->vertices); -+ uploadData(QT_VERTEX_COORDS_ATTR, cache->vertices, cache->vertexCount * 2); - #endif - funcs.glDrawArrays(cache->primitiveType, 0, cache->vertexCount); - -@@ -920,6 +933,7 @@ void QOpenGL2PaintEngineExPrivate::fill(const QVectorPath& path) - #ifdef QT_OPENGL_CACHE_AS_VBOS - funcs.glBindBuffer(GL_ARRAY_BUFFER, cache->vbo); - funcs.glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, cache->ibo); -+ uploadData(QT_VERTEX_COORDS_ATTR, 0, cache->vertexCount); - setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, 0); - if (cache->indexType == QVertexIndexVector::UnsignedInt) - funcs.glDrawElements(cache->primitiveType, cache->indexCount, GL_UNSIGNED_INT, 0); -@@ -928,7 +942,7 @@ void QOpenGL2PaintEngineExPrivate::fill(const QVectorPath& path) - funcs.glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); - funcs.glBindBuffer(GL_ARRAY_BUFFER, 0); - #else -- setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, cache->vertices); -+ uploadData(QT_VERTEX_COORDS_ATTR, cache->vertices, cache->vertexCount * 2); - if (cache->indexType == QVertexIndexVector::UnsignedInt) - funcs.glDrawElements(cache->primitiveType, cache->indexCount, GL_UNSIGNED_INT, (qint32 *)cache->indices); - else -@@ -957,7 +971,7 @@ void QOpenGL2PaintEngineExPrivate::fill(const QVectorPath& path) - vertices[i] = float(inverseScale * polys.vertices.at(i)); - - prepareForDraw(currentBrush.isOpaque()); -- setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, vertices.constData()); -+ uploadData(QT_VERTEX_COORDS_ATTR, vertices.constData(), vertices.size()); - if (funcs.hasOpenGLExtension(QOpenGLExtensions::ElementIndexUint)) - funcs.glDrawElements(GL_TRIANGLES, polys.indices.size(), GL_UNSIGNED_INT, polys.indices.data()); - else -@@ -1075,7 +1089,6 @@ void QOpenGL2PaintEngineExPrivate::fillStencilWithVertexArray(const float *data, - setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, data); - funcs.glDrawArrays(GL_TRIANGLE_STRIP, 0, count); - #else -- - funcs.glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE); - if (q->state()->clipTestEnabled) { - funcs.glStencilFunc(GL_LEQUAL, q->state()->currentClip | GL_STENCIL_HIGH_BIT, -@@ -1083,7 +1096,8 @@ void QOpenGL2PaintEngineExPrivate::fillStencilWithVertexArray(const float *data, - } else { - funcs.glStencilFunc(GL_ALWAYS, GL_STENCIL_HIGH_BIT, 0xff); - } -- setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, data); -+ -+ uploadData(QT_VERTEX_COORDS_ATTR, data, count * 2); - funcs.glDrawArrays(GL_TRIANGLE_STRIP, 0, count); - #endif - } -@@ -1213,7 +1227,8 @@ bool QOpenGL2PaintEngineExPrivate::prepareForDraw(bool srcPixelsAreOpaque) - void QOpenGL2PaintEngineExPrivate::composite(const QOpenGLRect& boundingRect) - { - setCoords(staticVertexCoordinateArray, boundingRect); -- setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, staticVertexCoordinateArray); -+ -+ uploadData(QT_VERTEX_COORDS_ATTR, staticVertexCoordinateArray, 8); - funcs.glDrawArrays(GL_TRIANGLE_FAN, 0, 4); - } - -@@ -1222,16 +1237,12 @@ void QOpenGL2PaintEngineExPrivate::drawVertexArrays(const float *data, int *stop - GLenum primitive) - { - // Now setup the pointer to the vertex array: -- setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, data); -+ uploadData(QT_VERTEX_COORDS_ATTR, data, stops[stopCount-1] * 2); - - int previousStop = 0; - for (int i=0; i %d:", previousStop, stop-1); -- for (int i=previousStop; isetBrush(penBrush); - d->stroke(path, pen); -@@ -1320,17 +1331,12 @@ void QOpenGL2PaintEngineExPrivate::stroke(const QVectorPath &path, const QPen &p - - if (!stroker.vertexCount()) - return; -- -+ funcs.glEnableVertexAttribArray(QT_VERTEX_COORDS_ATTR); - if (opaque) { - prepareForDraw(opaque); -- setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, stroker.vertices()); -- funcs.glDrawArrays(GL_TRIANGLE_STRIP, 0, stroker.vertexCount() / 2); -- --// QBrush b(Qt::green); --// d->setBrush(&b); --// d->prepareForDraw(true); --// glDrawArrays(GL_LINE_STRIP, 0, d->stroker.vertexCount() / 2); - -+ uploadData(QT_VERTEX_COORDS_ATTR, stroker.vertices(), stroker.vertexCount()); -+ funcs.glDrawArrays(GL_TRIANGLE_STRIP, 0, stroker.vertexCount() / 2); - } else { - qreal width = qpen_widthf(pen) / 2; - if (width == 0) -@@ -1839,8 +1845,8 @@ void QOpenGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngine::GlyphFormat gly - } - - if (glyphFormat != QFontEngine::Format_ARGB || recreateVertexArrays) { -- setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, (GLfloat*)vertexCoordinates->data()); -- setVertexAttributePointer(QT_TEXTURE_COORDS_ATTR, (GLfloat*)textureCoordinates->data()); -+ uploadData(QT_VERTEX_COORDS_ATTR, (GLfloat*)vertexCoordinates->data(), vertexCoordinates->vertexCount() * 2); -+ uploadData(QT_TEXTURE_COORDS_ATTR, (GLfloat*)textureCoordinates->data(), textureCoordinates->vertexCount() * 2); - } - - if (!snapToPixelGrid) { -@@ -2081,6 +2087,29 @@ bool QOpenGL2PaintEngineEx::begin(QPaintDevice *pdev) - - d->funcs.initializeOpenGLFunctions(); - -+ // Generate a new Vertex Array Object if we don't have one already -+ if (!d->vao.isCreated()) { -+ bool created = d->vao.create(); -+ -+ // If we managed to create it then we have a profile that supports VAOs -+ if (created) { -+ d->vao.bind(); -+ -+ // Generate a new Vertex Buffer Object if we don't have one already -+ if (!d->vertexBuffer.isCreated()) { -+ d->vertexBuffer.create(); -+ // Set its usage to StreamDraw, we will use this buffer only a few times before refilling it -+ d->vertexBuffer.setUsagePattern(QOpenGLBuffer::StreamDraw); -+ } -+ // Generate a new Texture Buffer Object if we don't have one already -+ if (!d->texCoordBuffer.isCreated()) { -+ d->texCoordBuffer.create(); -+ // Set its usage to StreamDraw, we will use this buffer only a few times before refilling it -+ d->texCoordBuffer.setUsagePattern(QOpenGLBuffer::StreamDraw); -+ } -+ } -+ } -+ - for (int i = 0; i < QT_GL_VERTEX_ARRAY_TRACKED_COUNT; ++i) - d->vertexAttributeArraysEnabledState[i] = false; - -@@ -2162,6 +2191,10 @@ void QOpenGL2PaintEngineEx::ensureActive() - Q_D(QOpenGL2PaintEngineEx); - QOpenGLContext *ctx = d->ctx; - -+ if (d->vao.isCreated()) { -+ d->vao.bind(); -+ } -+ - if (isActive() && ctx->d_func()->active_engine != this) { - ctx->d_func()->active_engine = this; - d->needsSync = true; -diff --git a/qtbase/src/gui/opengl/qopenglpaintengine_p.h b/qtbase/src/gui/opengl/qopenglpaintengine_p.h -index c9f3282..fe63747 100644 ---- a/qtbase/src/gui/opengl/qopenglpaintengine_p.h -+++ b/qtbase/src/gui/opengl/qopenglpaintengine_p.h -@@ -64,6 +64,9 @@ - - #include - -+#include -+#include -+ - enum EngineMode { - ImageDrawingMode, - TextDrawingMode, -@@ -192,7 +195,9 @@ public: - snapToPixelGrid(false), - nativePaintingActive(false), - inverseScale(1), -- lastTextureUnitUsed(QT_UNKNOWN_TEXTURE_UNIT) -+ lastTextureUnitUsed(QT_UNKNOWN_TEXTURE_UNIT), -+ vertexBuffer(QOpenGLBuffer::VertexBuffer), -+ texCoordBuffer(QOpenGLBuffer::VertexBuffer) - { } - - ~QOpenGL2PaintEngineExPrivate(); -@@ -221,7 +226,7 @@ public: - void drawCachedGlyphs(QFontEngine::GlyphFormat glyphFormat, QStaticTextItem *staticTextItem); - - // Calls glVertexAttributePointer if the pointer has changed -- inline void setVertexAttributePointer(unsigned int arrayIndex, const GLfloat *pointer); -+ inline void uploadData(unsigned int arrayIndex, const GLfloat *data, const GLuint count); - - // draws whatever is in the vertex array: - void drawVertexArrays(const float *data, int *stops, int stopCount, GLenum primitive); -@@ -312,6 +317,10 @@ public: - GLenum lastTextureUnitUsed; - GLuint lastTextureUsed; - -+ QOpenGLVertexArrayObject vao; -+ QOpenGLBuffer vertexBuffer; -+ QOpenGLBuffer texCoordBuffer; -+ - bool needsSync; - bool multisamplingAlwaysEnabled; - -@@ -325,17 +334,38 @@ public: - }; - - --void QOpenGL2PaintEngineExPrivate::setVertexAttributePointer(unsigned int arrayIndex, const GLfloat *pointer) -+void QOpenGL2PaintEngineExPrivate::uploadData(unsigned int arrayIndex, const GLfloat *data, const GLuint count) - { - Q_ASSERT(arrayIndex < 3); -- if (pointer == vertexAttribPointers[arrayIndex]) -- return; -- -- vertexAttribPointers[arrayIndex] = pointer; -- if (arrayIndex == QT_OPACITY_ATTR) -- funcs.glVertexAttribPointer(arrayIndex, 1, GL_FLOAT, GL_FALSE, 0, pointer); -- else -- funcs.glVertexAttribPointer(arrayIndex, 2, GL_FLOAT, GL_FALSE, 0, pointer); -+ -+ // If a vertex array object is created we have a profile that supports them -+ // and we will upload the data via a QOpenGLBuffer. Otherwise we will use -+ // the legacy way of uploading the data via glVertexAttribPointer. -+ if (vao.isCreated()) { -+ if (arrayIndex == QT_VERTEX_COORDS_ATTR) { -+ vertexBuffer.bind(); -+ vertexBuffer.allocate(data, count * sizeof(float)); -+ } -+ if (arrayIndex == QT_TEXTURE_COORDS_ATTR) { -+ texCoordBuffer.bind(); -+ texCoordBuffer.allocate(data, count * sizeof(float)); -+ } -+ if (arrayIndex == QT_OPACITY_ATTR) -+ funcs.glVertexAttribPointer(arrayIndex, 1, GL_FLOAT, GL_FALSE, 0, 0); -+ else -+ funcs.glVertexAttribPointer(arrayIndex, 2, GL_FLOAT, GL_FALSE, 0, 0); -+ } else { -+ // If we already uploaded the data we don't have to do it again -+ if (data == vertexAttribPointers[arrayIndex]) -+ return; -+ -+ // Store the data in cache and upload it to the graphics card. -+ vertexAttribPointers[arrayIndex] = data; -+ if (arrayIndex == QT_OPACITY_ATTR) -+ funcs.glVertexAttribPointer(arrayIndex, 1, GL_FLOAT, GL_FALSE, 0, data); -+ else -+ funcs.glVertexAttribPointer(arrayIndex, 2, GL_FLOAT, GL_FALSE, 0, data); -+ } - } - - QT_END_NAMESPACE -diff --git a/qtbase/src/gui/opengl/qopengltextureglyphcache.cpp b/qtbase/src/gui/opengl/qopengltextureglyphcache.cpp -index 9a7b1eb..3a03989 100644 ---- a/qtbase/src/gui/opengl/qopengltextureglyphcache.cpp -+++ b/qtbase/src/gui/opengl/qopengltextureglyphcache.cpp -@@ -380,8 +380,8 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height) - blitProgram = m_blitProgram; - - } else { -- pex->setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, m_vertexCoordinateArray); -- pex->setVertexAttributePointer(QT_TEXTURE_COORDS_ATTR, m_textureCoordinateArray); -+ pex->uploadData(QT_VERTEX_COORDS_ATTR, m_vertexCoordinateArray, 8); -+ pex->uploadData(QT_TEXTURE_COORDS_ATTR, m_textureCoordinateArray, 8); - - pex->shaderManager->useBlitProgram(); - blitProgram = pex->shaderManager->blitProgram(); -diff --git a/qtbase/src/gui/opengl/qtriangulatingstroker.cpp b/qtbase/src/gui/opengl/qtriangulatingstroker.cpp -index d9a3231..a7ce6c8 100644 ---- a/qtbase/src/gui/opengl/qtriangulatingstroker.cpp -+++ b/qtbase/src/gui/opengl/qtriangulatingstroker.cpp -@@ -261,7 +261,7 @@ void QTriangulatingStroker::moveTo(const qreal *pts) - normalVector(m_cx, m_cy, x2, y2, &m_nvx, &m_nvy); - - -- // To acheive jumps we insert zero-area tringles. This is done by -+ // To achieve jumps we insert zero-area triangles. This is done by - // adding two identical points in both the end of previous strip - // and beginning of next strip - bool invisibleJump = m_vertices.size(); diff -Nru krita-3.1.4/3rdparty/ext_qt/mac-default.patch krita-3.1.4+dfsg/3rdparty/ext_qt/mac-default.patch --- krita-3.1.4/3rdparty/ext_qt/mac-default.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_qt/mac-default.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ ---- old/default_pre.prf 2016-06-10 02:48:56.000000000 -0400 -+++ new/default_pre.prf 2016-09-21 02:39:08.000000000 -0400 -@@ -12,7 +12,7 @@ - error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.") - - # Make sure Xcode is set up properly -- isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))): \ -+ isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null"))): \ - error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.") - } - diff -Nru krita-3.1.4/3rdparty/ext_qt/macdeploy-qt.diff krita-3.1.4+dfsg/3rdparty/ext_qt/macdeploy-qt.diff --- krita-3.1.4/3rdparty/ext_qt/macdeploy-qt.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_qt/macdeploy-qt.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,128 +0,0 @@ -diff --git a/qttools/src/macdeployqt/macdeployqt/main.cpp b/qttools/src/macdeployqt/macdeployqt/main.cpp -index 2e6ad0c..8a90c1a 100644 ---- a/qttools/src/macdeployqt/macdeployqt/main.cpp -+++ b/qttools/src/macdeployqt/macdeployqt/main.cpp -@@ -52,6 +52,7 @@ int main(int argc, char **argv) - qDebug() << " -always-overwrite : Copy files even if the target file exists"; - qDebug() << " -codesign= : Run codesign with the given identity on all executables"; - qDebug() << " -appstore-compliant: Skip deployment of components that use private API"; -+ qDebug() << " -extra-plugins= : Deploy plugins from given extra directory"; - qDebug() << ""; - qDebug() << "macdeployqt takes an application bundle as input and makes it"; - qDebug() << "self-contained by copying in the Qt frameworks and plugins that"; -@@ -92,6 +93,7 @@ int main(int argc, char **argv) - extern QString codesignIdentiy; - extern bool appstoreCompliant; - extern bool deployFramework; -+ QStringList extraPluginDirectories; - - for (int i = 2; i < argc; ++i) { - QByteArray argument = QByteArray(argv[i]); -@@ -153,6 +155,14 @@ int main(int argc, char **argv) - LogDebug() << "Argument found:" << argument; - deployFramework = true; - -+ } else if (argument.startsWith(QByteArray("-extra-plugins"))) { -+ LogDebug() << "Argument found:" << argument; -+ int index = argument.indexOf('='); -+ if (index == -1) -+ LogError() << "Missing extra plugins directory"; -+ else -+ extraPluginDirectories << argument.mid(index+1); -+ - } else if (argument.startsWith("-")) { - LogError() << "Unknown argument" << argument << "\n"; - return 1; -@@ -183,10 +193,13 @@ int main(int argc, char **argv) - deploymentInfo.deployedFrameworks = deploymentInfo.deployedFrameworks.toSet().toList(); - } - -- if (plugins && !deploymentInfo.qtPath.isEmpty()) { -+ if ((plugins && !deploymentInfo.qtPath.isEmpty()) || !extraPluginDirectories.isEmpty()) { - deploymentInfo.pluginPath = deploymentInfo.qtPath + "/plugins"; - LogNormal(); -- deployPlugins(appBundlePath, deploymentInfo, useDebugLibs); -+ if (plugins && !deploymentInfo.qtPath.isEmpty()) -+ deployPlugins(appBundlePath, deploymentInfo, useDebugLibs); -+ if (!extraPluginDirectories.isEmpty()) -+ deployExtraPlugins(appBundlePath, deploymentInfo, useDebugLibs, extraPluginDirectories); - createQtConf(appBundlePath); - } - -diff --git a/qttools/src/macdeployqt/shared/shared.cpp b/qttools/src/macdeployqt/shared/shared.cpp -index 5577265..a590039 100644 ---- a/qttools/src/macdeployqt/shared/shared.cpp -+++ b/qttools/src/macdeployqt/shared/shared.cpp -@@ -1070,6 +1070,43 @@ void deployPlugins(const ApplicationBundleInfo &appBundleInfo, const QString &pl - } - } - -+void deployExtraPlugins(const ApplicationBundleInfo &appBundleInfo, -+ const QString pluginDestinationPath, DeploymentInfo deploymentInfo, bool useDebugLibs, const QStringList &extraPluginDirectories) -+{ -+ foreach (const QString &extraPluginDir, extraPluginDirectories) { -+ LogNormal() << "Deploying plugins from" << extraPluginDir; -+ -+ // search for dylib and so files, both work as plugins on mac os -+ QDir dir(extraPluginDir); -+ dir.setFilter(QDir::Files); -+ dir.setNameFilters(QStringList() << "*.dylib" << "*.so"); -+ QDirIterator dirIterator(dir, QDirIterator::Subdirectories); -+ QStringList pluginList; -+ while (dirIterator.hasNext()) { -+ dirIterator.next(); -+ if (!QFileInfo(dirIterator.filePath()).isFile()) -+ continue; -+ pluginList.append(dir.relativeFilePath(dirIterator.filePath())); -+ } -+ -+ // deploy all found plugins -+ foreach (const QString &plugin, pluginList) { -+ QString sourcePath = extraPluginDir + "/" + plugin; -+ const QString destinationPath = pluginDestinationPath + "/" + plugin; -+ QDir dir; -+ dir.mkpath(QFileInfo(destinationPath).path()); -+ -+ if (copyFilePrintStatus(sourcePath, destinationPath)) { -+ runStrip(destinationPath); -+ -+ QList frameworks = getQtFrameworks(destinationPath, appBundleInfo.path, deploymentInfo.rpathsUsed, useDebugLibs); -+ deployQtFrameworks(frameworks, appBundleInfo.path, QStringList() << destinationPath, useDebugLibs, deploymentInfo.useLoaderPath); -+ -+ } -+ } -+ } -+} -+ - void createQtConf(const QString &appBundlePath) - { - // Set Plugins and imports paths. These are relative to App.app/Contents. -@@ -1111,6 +1148,16 @@ void deployPlugins(const QString &appBundlePath, DeploymentInfo deploymentInfo, - deployPlugins(applicationBundle, deploymentInfo.pluginPath, pluginDestinationPath, deploymentInfo, useDebugLibs); - } - -+void deployExtraPlugins(const QString &appBundlePath, DeploymentInfo deploymentInfo, bool useDebugLibs, const QStringList &extraPluginDirectories) -+{ -+ ApplicationBundleInfo applicationBundle; -+ applicationBundle.path = appBundlePath; -+ applicationBundle.binaryPath = findAppBinary(appBundlePath); -+ -+ const QString pluginDestinationPath = appBundlePath + "/" + "Contents/PlugIns"; -+ deployExtraPlugins(applicationBundle, pluginDestinationPath, deploymentInfo, useDebugLibs, extraPluginDirectories); -+} -+ - void deployQmlImport(const QString &appBundlePath, const QSet &rpaths, const QString &importSourcePath, const QString &importName) - { - QString importDestinationPath = appBundlePath + "/Contents/Resources/qml/" + importName; -diff --git a/qttools/src/macdeployqt/shared/shared.h b/qttools/src/macdeployqt/shared/shared.h -index c173846..cceac3a 100644 ---- a/qttools/src/macdeployqt/shared/shared.h -+++ b/qttools/src/macdeployqt/shared/shared.h -@@ -116,6 +116,7 @@ DeploymentInfo deployQtFrameworks(const QString &appBundlePath, const QStringLis - DeploymentInfo deployQtFrameworks(QList frameworks,const QString &bundlePath, const QStringList &binaryPaths, bool useDebugLibs, bool useLoaderPath); - void createQtConf(const QString &appBundlePath); - void deployPlugins(const QString &appBundlePath, DeploymentInfo deploymentInfo, bool useDebugLibs); -+void deployExtraPlugins(const QString &appBundlePath, DeploymentInfo deploymentInfo, bool useDebugLibs, const QStringList &extraPluginDirectories); - bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInfo, QStringList &qmlDirs); - void changeIdentification(const QString &id, const QString &binaryPath); - void changeInstallName(const QString &oldName, const QString &newName, const QString &binaryPath); diff -Nru krita-3.1.4/3rdparty/ext_qt/qtbase-configure.patch krita-3.1.4+dfsg/3rdparty/ext_qt/qtbase-configure.patch --- krita-3.1.4/3rdparty/ext_qt/qtbase-configure.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_qt/qtbase-configure.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ ---- old/configure 2016-06-10 02:48:56.000000000 -0400 -+++ new/configure 2016-09-21 02:26:34.000000000 -0400 -@@ -548,7 +548,7 @@ - exit 2 - fi - -- if ! /usr/bin/xcrun -find xcrun >/dev/null 2>&1; then -+ if ! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1; then - echo >&2 - echo " Xcode not set up properly. You may need to confirm the license" >&2 - echo " agreement by running /usr/bin/xcodebuild without arguments." >&2 diff -Nru krita-3.1.4/3rdparty/ext_qt/qtgui-private-headers.diff krita-3.1.4+dfsg/3rdparty/ext_qt/qtgui-private-headers.diff --- krita-3.1.4/3rdparty/ext_qt/qtgui-private-headers.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_qt/qtgui-private-headers.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -diff --git a/qtbase/mkspecs/features/create_cmake.prf b/qtbase/mkspecs/features/create_cmake.prf -index 11fb52a..aec9ea9 100644 ---- a/qtbase/mkspecs/features/create_cmake.prf -+++ b/qtbase/mkspecs/features/create_cmake.prf -@@ -30,7 +30,6 @@ CMAKE_MODULE_NAME = $$cmakeModuleName($${MODULE}) - - split_incpath { - CMAKE_ADD_SOURCE_INCLUDE_DIRS = true -- CMAKE_NO_PRIVATE_INCLUDES = true # Don't add private includes in the build dir which don't exist - CMAKE_SOURCE_INCLUDES = \ - $$cmakeTargetPaths($$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/Qt$${CMAKE_MODULE_NAME}) - CMAKE_SOURCE_PRIVATE_INCLUDES = \ diff -Nru krita-3.1.4/3rdparty/ext_qt/qt-no-motion-compression.diff krita-3.1.4+dfsg/3rdparty/ext_qt/qt-no-motion-compression.diff --- krita-3.1.4/3rdparty/ext_qt/qt-no-motion-compression.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_qt/qt-no-motion-compression.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -diff --git a/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp b/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp -index 05c0224..8fa9345 100644 ---- a/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp -+++ b/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp -@@ -1687,8 +1687,13 @@ void QXcbConnection::processXcbEvents() - continue; - } - -- if (compressEvent(event, i, eventqueue)) -- continue; -+ -+ /** -+ * (Krita) Do *NOT* compress any motion events! This is the -+ * most weird thing one can do for a painting application! -+ */ -+ // if (compressEvent(event, i, eventqueue)) -+ // continue; - - bool accepted = false; - if (clipboard()->processIncr()) diff -Nru krita-3.1.4/3rdparty/ext_tiff/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_tiff/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_tiff/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_tiff/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -SET(EXTPREFIX_tiff "${EXTPREFIX}" ) -if (MSVC OR MINGW) -ExternalProject_Add( ext_tiff - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/tiff-4.0.3.tar.gz - URL_MD5 051c1068e6a0627f461948c365290410 - - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/tiff-4.0.3-20130124.diff - INSTALL_DIR ${EXTPREFIX_tiff} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_tiff} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_patch ext_zlib ext_jpeg -) -else (MSVC OR MINGW) -ExternalProject_Add( ext_tiff - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/tiff-4.0.6.tar.gz - URL_MD5 d1d2e940dea0b5ad435f21f03d96dd72 - - CONFIGURE_COMMAND /configure -prefix ${EXTPREFIX_tiff} ${GLOBAL_AUTOMAKE_PROFILE} - BUILD_COMMAND make - INSTALL_COMMAND make install - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_zlib ext_jpeg -) -endif (MSVC OR MINGW) diff -Nru krita-3.1.4/3rdparty/ext_tiff/tiff-4.0.3-20130124.diff krita-3.1.4+dfsg/3rdparty/ext_tiff/tiff-4.0.3-20130124.diff --- krita-3.1.4/3rdparty/ext_tiff/tiff-4.0.3-20130124.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_tiff/tiff-4.0.3-20130124.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,1458 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -new file mode 100644 -index 0000000..f4ef285 ---- /dev/null -+++ b/CMakeLists.txt -@@ -0,0 +1,45 @@ -+project(libtiff) -+ -+cmake_minimum_required(VERSION 2.6) -+ -+option(BUILD_TOOLS "build the tools" OFF) -+option(BUILD_TESTS "build the tests" OFF) -+ -+if(BUILD_TESTS) -+ enable_testing() -+endif(BUILD_TESTS) -+ -+include_directories( -+ ${CMAKE_SOURCE_DIR}/libtiff -+ ${CMAKE_SOURCE_DIR}/port -+ ${CMAKE_BINARY_DIR} -+ ${CMAKE_BINARY_DIR}/libtiff -+) -+ -+include(ConfigureChecks.cmake) -+ -+if(MSVC) -+ add_definitions(-D_CRT_SECURE_NO_WARNINGS) -+ add_definitions(-D_CRT_SECURE_NO_DEPRECATE) -+ if(NOT MSVC60) -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4996") -+ endif(NOT MSVC60) -+endif(MSVC) -+ -+include_directories( -+ ${CMAKE_SOURCE_DIR}/libtiff -+ ${CMAKE_BINARY_DIR} -+ ${CMAKE_BINARY_DIR}/libtiff -+) -+ -+add_subdirectory(libtiff) -+add_subdirectory(man) -+if(BUILD_TOOLS) -+ add_subdirectory(port) -+ add_subdirectory(tools) -+endif(BUILD_TOOLS) -+ -+if(BUILD_TESTS) -+ add_subdirectory(tests) -+endif(BUILD_TESTS) -diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake -new file mode 100644 -index 0000000..ee25058 ---- /dev/null -+++ b/ConfigureChecks.cmake -@@ -0,0 +1,199 @@ -+# configure checks. -+find_package(OpenGL) -+ -+include_directories(${CMAKE_BINARY_DIR}) -+ -+# options -+if(APPLE) -+ set(AC_APPLE_UNIVERSAL_BUILD 1) -+endif(APPLE) -+ -+option(CCITT_SUPPORT "CCITT Group 3 & 4 algorithms" ON) -+option(LOGLUV_SUPPORT "LogLuv high dynamic range encoding" ON) -+option(CXX_SUPPORT "C++ stream API (requires C++ compiler)" OFF) -+option(LZW_SUPPORT "LZW algorithm" ON) -+option(JBIG_SUPPORT "ISO JBIG compression (requires JBIG-KIT library)" OFF) -+option(MDI_SUPPORT "Microsoft Document Imaging format" OFF) -+option(NEXT_SUPPORT "NeXT 2-bit RLE algorithm" ON) -+option(SUBIFD_SUPPORT "SubIFD tag (330) support" ON) -+option(THUNDER_SUPPORT "ThunderScan 4-bit RLE algorithm" ON) -+option(OJPEG_SUPPORT "Old JPEG compresson (read-only)" OFF) -+option(PACKBITS_SUPPORT "Macintosh PackBits algorithm" ON) -+ -+option(CHECK_JPEG_YCBCR_SUBSAMPLING 1) -+option(DEFAULT_EXTRASAMPLE_AS_ALPHA "Treat extra sample as alpha" ON) -+ -+ -+if(WIN32) -+ set(X_DISPLAY_MISSING 1) -+else(WIN32) -+ set(STDC_HEADERS 1) -+ set(HAVE_LIBC 1) -+ set(HAVE_LIBM 1) -+ set(HAVE_PTHREAD 1) -+endif(WIN32) -+ -+if(NOT WINCE) -+ set(HAVE_IEEEFP 1) -+endif(NOT WINCE) -+ -+if(MSVC) -+ set(inline "__inline") -+else(MSVC) -+ set(inline "inline") -+endif(MSVC) -+ -+include(CheckIncludeFiles) -+include(CheckFunctionExists) -+include(CheckLibraryExists) -+include(CheckSymbolExists) -+include(CheckTypeSize) -+include(TestBigEndian) -+ -+test_big_endian(HOST_BIGENDIAN) -+ -+if(HOST_BIGENDIAN) -+ set(HOST_FILLORDER "FILLORDER_MSB2LSB") -+else(HOST_BIGENDIAN) -+ set(HOST_FILLORDER "FILLORDER_LSB2MSB") -+endif(HOST_BIGENDIAN) -+ -+ -+ -+check_include_files("assert.h" HAVE_ASSERT_H) -+check_include_files("dlfcn.h" HAVE_DLFCN_H) -+check_include_files("fcntl.h" HAVE_FCNTL_H) -+check_include_files("inttypes.h" HAVE_INTTYPES_H) -+check_include_files("io.h" HAVE_IO_H) -+check_include_files("limits.h" HAVE_LIMITS_H) -+check_include_files("malloc.h" HAVE_MALLOC_H) -+check_include_files("memory.h" HAVE_MEMORY_H) -+check_include_files("search.h" HAVE_SEARCH_H) -+check_include_files("stdint.h" HAVE_STDINT_H) -+check_include_files("stdlib.h" HAVE_STDLIB_H) -+check_include_files("strings.h" HAVE_STRINGS_H) -+check_include_files("string.h" HAVE_STRING_H) -+check_include_files("sys/stat.h" HAVE_SYS_STAT_H) -+check_include_files("sys/time.h" HAVE_SYS_TIME_H) -+check_include_files("sys/types.h" HAVE_SYS_TYPES_H) -+check_include_files("unistd.h" HAVE_UNISTD_H) -+check_include_files("windows.h" HAVE_WINDOWS_H) -+ -+check_function_exists("floor" HAVE_FLOOR) -+check_function_exists("getopt" HAVE_GETOPT) -+check_function_exists("isascii" HAVE_ISASCII) -+check_function_exists("jbg_newlen" HAVE_JBG_NEWLEN) -+check_function_exists("lfind" HAVE_LFIND) -+check_function_exists("memmove" HAVE_MEMMOVE) -+check_function_exists("memset" HAVE_MEMSET) -+check_function_exists("mmap" HAVE_MMAP) -+check_function_exists("pow" HAVE_POW) -+check_function_exists("setmode" HAVE_SETMODE) -+check_function_exists("sqrt" HAVE_SQRT) -+check_function_exists("strcasecmp" HAVE_STRCASECMP) -+check_function_exists("strchr" HAVE_STRCHR) -+check_function_exists("strrchr" HAVE_STRRCHR) -+check_function_exists("strstr" HAVE_STRSTR) -+check_function_exists("strtol" HAVE_STRTOL) -+check_function_exists("strtoul" HAVE_STRTOUL) -+ -+check_symbol_exists("int8" "stdint.h" HAVE_INT8) -+check_symbol_exists("int16" "stdint.h" HAVE_INT16) -+check_symbol_exists("int32" "stdint.h" HAVE_INT32) -+check_symbol_exists("int64" "stdint.h" HAVE_INT64) -+ -+ -+set(PACKAGE "tiff") -+set(PACKAGE_BUGREPORT "kde-windows@kde.org") -+set(PACKAGE_NAME "LibTIFF Software") -+set(PACKAGE_STRING "LibTIFF Software 4.0.3") -+set(PACKAGE_TARNAME "tiff") -+set(PACKAGE_URL "http://www.libtiff.org/") -+set(PACKAGE_VERSION "4.0.3") -+set(VERSION "4.0.3") -+ -+ -+find_package(JPEG) -+find_package(ZLIB) -+ -+if(HAVE_JPEG) -+ include_directories(${JPEG_INCLUDE_DIR}) -+ option(JPEG_SUPPORT "JPEG compression" ON) -+endif(HAVE_JPEG) -+ -+if(ZLIB_FOUND) -+ include_directories(${ZLIB_INCLUDE_DIR}) -+ option(PIXARLOG_SUPPORT "Deflate compression" ON) -+ option(ZIP_SUPPORT "Pixar log-format algorithm" ON) -+endif(ZLIB_FOUND) -+ -+CHECK_TYPE_SIZE("int" SIZEOF_INT) -+CHECK_TYPE_SIZE("long" SIZEOF_LONG) -+CHECK_TYPE_SIZE("signed long" SIZEOF_SIGNED_LONG) -+CHECK_TYPE_SIZE("signed long long" SIZEOF_SIGNED_LONG_LONG) -+CHECK_TYPE_SIZE("unsigned long" SIZEOF_UNSIGNED_LONG) -+CHECK_TYPE_SIZE("unsigned long long" SIZEOF_UNSIGNED_LONG_LONG) -+ -+set(STRIPCHOP_DEFAULT "TIFF_STRIPCHOP") -+ -+if(STRIPCHOP_DEFAULT AND NOT WIN32) -+ set(STRIP_SIZE_DEFAULT 8192) -+endif(STRIPCHOP_DEFAULT AND NOT WIN32) -+ -+if(MSVC) -+ set(TIFF_INT8_T "signed char") -+ set(TIFF_UINT8_T "unsigned char") -+ set(TIFF_INT16_T "signed short") -+ set(TIFF_UINT16_T "unsigned short") -+ set(TIFF_INT32_T "signed int") -+ set(TIFF_UINT32_T "unsigned int") -+ set(TIFF_INT64_FORMAT "\"%I64d\"") -+ set(TIFF_INT64_T "signed __int64") -+ set(TIFF_UINT64_FORMAT "\"%I64u\"") -+ set(TIFF_UINT64_T "unsigned __int64") -+elseif(MINGW) -+ set(TIFF_INT8_T "signed char") -+ set(TIFF_UINT8_T "unsigned char") -+ set(TIFF_INT16_T "signed short") -+ set(TIFF_UINT16_T "unsigned short") -+ set(TIFF_INT32_T "signed int") -+ set(TIFF_UINT32_T "unsigned int") -+ set(TIFF_INT64_FORMAT "\"%lld\"") -+ set(TIFF_INT64_T "signed long long") -+ set(TIFF_UINT64_FORMAT "\"%llu\"") -+ set(TIFF_UINT64_T "unsigned long long") -+endif() -+ -+check_symbol_exists("tm" "sys/time.h" TM_IN_SYS_TIME) -+ -+check_symbol_exists("off_t" "sys/types.h" HAVE_OFF_T) -+if(NOT HAVE_OFF_T) -+ set(OFF_T "long int") -+endif(NOT HAVE_OFF_T) -+ -+check_symbol_exists("size_t" "sys/types.h" HAVE_SIZE_T) -+if(NOT HAVE_SIZE_T) -+ set(SIZE_T "unsigned int") -+endif(NOT HAVE_SIZE_T) -+ -+#*************************************************************************************** -+# still to fix later -+#/* Define to necessary symbol if this constant uses a non-standard name on -+# your system. */ -+#cmakedefine PTHREAD_CREATE_JOINABLE -+ -+#/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -+#cmakedefine NO_MINUS_C_MINUS_O -+ -+#/* Number of bits in a file offset, on hosts where this is settable. */ -+#cmakedefine _FILE_OFFSET_BITS -+ -+#/* Define for large files, on AIX-style hosts. */ -+#cmakedefine _LARGE_FILES -+#*************************************************************************************** -+ -+#configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libtiff/tif_config.vc.h ${CMAKE_CURRENT_BINARY_DIR}/tif_config.h @COPYONLY) -+#configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libtiff/tiffconf.vc.h ${CMAKE_CURRENT_BINARY_DIR}/tiffconf.h @COPYONLY) -+configure_file(${CMAKE_SOURCE_DIR}/libtiff/tif_config.h.cmake ${CMAKE_BINARY_DIR}/tif_config.h) -+configure_file(${CMAKE_SOURCE_DIR}/libtiff/tiffconf.h.cmake ${CMAKE_BINARY_DIR}/tiffconf.h) -+ -diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt -new file mode 100644 -index 0000000..6d27cb9 ---- /dev/null -+++ b/libtiff/CMakeLists.txt -@@ -0,0 +1,63 @@ -+set(tiff_SRCS -+ tif_aux.c -+ tif_close.c -+ tif_codec.c -+ tif_color.c -+ tif_compress.c -+ tif_dir.c -+ tif_dirinfo.c -+ tif_dirread.c -+ tif_dirwrite.c -+ tif_dumpmode.c -+ tif_error.c -+ tif_extension.c -+ tif_fax3.c -+ tif_fax3sm.c -+ tif_flush.c -+ tif_getimage.c -+ tif_jbig.c -+ tif_jpeg.c -+ tif_jpeg_12.c -+ tif_luv.c -+ tif_lzma.c -+ tif_lzw.c -+ tif_next.c -+ tif_ojpeg.c -+ tif_open.c -+ tif_packbits.c -+ tif_pixarlog.c -+ tif_predict.c -+ tif_print.c -+ tif_read.c -+ tif_strip.c -+ tif_swab.c -+ tif_thunder.c -+ tif_tile.c -+ tif_version.c -+ tif_warning.c -+ tif_write.c -+ tif_zip.c -+) -+ -+if(WIN32) -+ set(tiff_SRCS ${tiff_SRCS} tif_win32.c libtiff.def) -+else(WIN32) -+ set(tiff_SRCS ${tiff_SRCS} tif_unix.c) -+endif(WIN32) -+ -+add_library(tiff SHARED ${tiff_SRCS}) -+set_target_properties(tiff PROPERTIES OUTPUT_NAME "tiff3") -+ -+if(JPEG_FOUND) -+ target_link_libraries(tiff ${JPEG_LIBRARIES}) -+endif(JPEG_FOUND) -+ -+if(ZLIB_FOUND) -+ target_link_libraries(tiff ${ZLIB_LIBRARY}) -+endif(ZLIB_FOUND) -+ -+install(TARGETS tiff RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+install(FILES tiffvers.h tiff.h ${CMAKE_BINARY_DIR}/tiffconf.h tiffio.h DESTINATION include) -\ No newline at end of file -diff --git a/libtiff/tif_config.h.cmake b/libtiff/tif_config.h.cmake -new file mode 100644 -index 0000000..d3e8f98 ---- /dev/null -+++ b/libtiff/tif_config.h.cmake -@@ -0,0 +1,323 @@ -+/* libtiff/tif_config.h.in. Generated from configure.ac by autoheader. */ -+#ifndef TIF_CONFIG_H -+#define TIF_CONFIG_H -+ -+/* Define if building universal (internal helper macro) */ -+#cmakedefine AC_APPLE_UNIVERSAL_BUILD -+ -+/* Support CCITT Group 3 & 4 algorithms */ -+#cmakedefine CCITT_SUPPORT -+ -+/* Pick up YCbCr subsampling info from the JPEG data stream to support files -+ lacking the tag (default enabled). */ -+#cmakedefine CHECK_JPEG_YCBCR_SUBSAMPLING -+ -+/* Support C++ stream API (requires C++ compiler) */ -+#cmakedefine CXX_SUPPORT -+ -+/* Treat extra sample as alpha (default enabled). The RGBA interface will -+ treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many -+ packages produce RGBA files but don't mark the alpha properly. */ -+#cmakedefine DEFAULT_EXTRASAMPLE_AS_ALPHA -+ -+/* Use the Apple OpenGL framework. */ -+#cmakedefine HAVE_APPLE_OPENGL_FRAMEWORK -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_ASSERT_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_DLFCN_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_FCNTL_H @HAVE_FCNTL_H@ -+ -+/* Define to 1 if you have the `floor' function. */ -+#cmakedefine HAVE_FLOOR -+ -+/* Define to 1 if you have the `getopt' function. */ -+#cmakedefine HAVE_GETOPT -+ -+/* Define as 0 or 1 according to the floating point format suported by the -+ machine */ -+#cmakedefine HAVE_IEEEFP -+ -+/* Define to 1 if the system has the type `int16'. */ -+#cmakedefine HAVE_INT16 -+ -+/* Define to 1 if the system has the type `int32'. */ -+#cmakedefine HAVE_INT32 -+ -+/* Define to 1 if the system has the type `int64'. */ -+#cmakedefine HAVE_INT64 -+ -+/* Define to 1 if the system has the type `int8'. */ -+#cmakedefine HAVE_INT8 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_INTTYPES_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_IO_H @HAVE_IO_H@ -+ -+/* Define to 1 if you have the `isascii' function. */ -+#cmakedefine HAVE_ISASCII -+ -+/* Define to 1 if you have the `jbg_newlen' function. */ -+#cmakedefine HAVE_JBG_NEWLEN -+ -+/* Define to 1 if you have the `lfind' function. */ -+#cmakedefine HAVE_LFIND -+ -+/* Define to 1 if you have the `c' library (-lc). */ -+#cmakedefine HAVE_LIBC -+ -+/* Define to 1 if you have the `m' library (-lm). */ -+#cmakedefine HAVE_LIBM -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_LIMITS_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MALLOC_H -+ -+/* Define to 1 if you have the `memmove' function. */ -+#cmakedefine HAVE_MEMMOVE -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_MEMORY_H -+ -+/* Define to 1 if you have the `memset' function. */ -+#cmakedefine HAVE_MEMSET -+ -+/* Define to 1 if you have the `mmap' function. */ -+#cmakedefine HAVE_MMAP -+ -+/* Define to 1 if you have the `pow' function. */ -+#cmakedefine HAVE_POW -+ -+/* Define if you have POSIX threads libraries and header files. */ -+#cmakedefine HAVE_PTHREAD -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SEARCH_H -+ -+/* Define to 1 if you have the `setmode' function. */ -+#cmakedefine HAVE_SETMODE -+ -+/* Define to 1 if you have the `sqrt' function. */ -+#cmakedefine HAVE_SQRT -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDINT_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STDLIB_H -+ -+/* Define to 1 if you have the `strcasecmp' function. */ -+#cmakedefine HAVE_STRCASECMP -+ -+/* Define to 1 if you have the `strchr' function. */ -+#cmakedefine HAVE_STRCHR -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STRINGS_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_STRING_H -+ -+/* Define to 1 if you have the `strrchr' function. */ -+#cmakedefine HAVE_STRRCHR -+ -+/* Define to 1 if you have the `strstr' function. */ -+#cmakedefine HAVE_STRSTR -+ -+/* Define to 1 if you have the `strtol' function. */ -+#cmakedefine HAVE_STRTOL -+ -+/* Define to 1 if you have the `strtoul' function. */ -+#cmakedefine HAVE_STRTOUL -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_STAT_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TIME_H -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_SYS_TYPES_H @HAVE_SYS_TYPES_H@ -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_UNISTD_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#cmakedefine HAVE_WINDOWS_H -+ -+/* Native cpu byte order: 1 if big-endian (Motorola) or 0 if little-endian -+ (Intel) */ -+#cmakedefine01 HOST_BIGENDIAN -+ -+/* Set the native cpu bit order (FILLORDER_LSB2MSB or FILLORDER_MSB2LSB) */ -+#cmakedefine HOST_FILLORDER @HOST_FILLORDER@ -+ -+/* Support ISO JBIG compression (requires JBIG-KIT library) */ -+#cmakedefine JBIG_SUPPORT -+ -+/* Support JPEG compression (requires IJG JPEG library) */ -+#cmakedefine JPEG_SUPPORT -+ -+/* Support LogLuv high dynamic range encoding */ -+#cmakedefine LOGLUV_SUPPORT -+ -+/* Define to the sub-directory in which libtool stores uninstalled libraries. -+ */ -+#cmakedefine LT_OBJDIR -+ -+/* Support LZW algorithm */ -+#cmakedefine LZW_SUPPORT -+ -+/* Support Microsoft Document Imaging format */ -+#cmakedefine MDI_SUPPORT -+ -+/* Support NeXT 2-bit RLE algorithm */ -+#cmakedefine NEXT_SUPPORT -+ -+/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -+#cmakedefine NO_MINUS_C_MINUS_O -+ -+/* Support Old JPEG compresson (read-only) */ -+#cmakedefine OJPEG_SUPPORT -+ -+/* Name of package */ -+#cmakedefine PACKAGE @PACKAGE@ -+ -+/* Define to the address where bug reports for this package should be sent. */ -+#cmakedefine PACKAGE_BUGREPORT @PACKAGE_BUGREPORT@ -+ -+/* Define to the full name of this package. */ -+#cmakedefine PACKAGE_NAME @PACKAGE_NAME@ -+ -+/* Define to the full name and version of this package. */ -+#cmakedefine PACKAGE_STRING @PACKAGE_STRING@ -+ -+/* Define to the one symbol short name of this package. */ -+#cmakedefine PACKAGE_TARNAME @PACKAGE_TARNAME@ -+ -+/* Define to the home page for this package. */ -+#cmakedefine PACKAGE_URL @PACKAGE_URL@ -+ -+/* Define to the version of this package. */ -+#cmakedefine PACKAGE_VERSION @PACKAGE_VERSION@ -+ -+/* Support Macintosh PackBits algorithm */ -+#cmakedefine PACKBITS_SUPPORT -+ -+/* Support Pixar log-format algorithm (requires Zlib) */ -+#cmakedefine PIXARLOG_SUPPORT -+ -+/* Define to necessary symbol if this constant uses a non-standard name on -+ your system. */ -+#cmakedefine PTHREAD_CREATE_JOINABLE -+ -+/* The size of `int', as computed by sizeof. */ -+#cmakedefine SIZEOF_INT @SIZEOF_INT@ -+ -+/* The size of `long', as computed by sizeof. */ -+#cmakedefine SIZEOF_LONG @SIZEOF_LONG@ -+ -+/* The size of `signed long', as computed by sizeof. */ -+#cmakedefine SIZEOF_SIGNED_LONG @SIZEOF_SIGNED_LONG@ -+ -+/* The size of `signed long long', as computed by sizeof. */ -+#cmakedefine SIZEOF_SIGNED_LONG_LONG @SIZEOF_SIGNED_LONG_LONG@ -+ -+/* The size of `unsigned long', as computed by sizeof. */ -+#cmakedefine SIZEOF_UNSIGNED_LONG @SIZEOF_UNSIGNED_LONG@ -+ -+/* The size of `unsigned long long', as computed by sizeof. */ -+#cmakedefine SIZEOF_UNSIGNED_LONG_LONG @SIZEOF_UNSIGNED_LONG_LONG@ -+ -+/* Define to 1 if you have the ANSI C header files. */ -+#cmakedefine STDC_HEADERS -+ -+/* Support strip chopping (whether or not to convert single-strip uncompressed -+ images to mutiple strips of specified size to reduce memory usage) */ -+#cmakedefine STRIPCHOP_DEFAULT @STRIPCHOP_DEFAULT@ -+ -+/* Default size of the strip in bytes (when strip chopping enabled) */ -+#cmakedefine STRIP_SIZE_DEFAULT @STRIP_SIZE_DEFAULT@ -+ -+/* Enable SubIFD tag (330) support */ -+#cmakedefine SUBIFD_SUPPORT -+ -+/* Support ThunderScan 4-bit RLE algorithm */ -+#cmakedefine THUNDER_SUPPORT -+ -+/* Signed 64-bit type formatter */ -+#cmakedefine TIFF_INT64_FORMAT @TIFF_INT64_FORMAT@ -+ -+/* Signed 64-bit type */ -+#cmakedefine TIFF_INT64_T @TIFF_INT64_T@ -+ -+/* Unsigned 64-bit type formatter */ -+#cmakedefine TIFF_UINT64_FORMAT @TIFF_UINT64_FORMAT@ -+ -+/* Unsigned 64-bit type */ -+#cmakedefine TIFF_UINT64_T @TIFF_UINT64_T@ -+ -+/* Define to 1 if you can safely include both and . */ -+#cmakedefine TIME_WITH_SYS_TIME -+ -+/* Define to 1 if your declares `struct tm'. */ -+#cmakedefine TM_IN_SYS_TIME -+ -+/* Version number of package */ -+#cmakedefine VERSION @VERSION@ -+ -+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most -+ significant byte first (like Motorola and SPARC, unlike Intel). */ -+#if defined AC_APPLE_UNIVERSAL_BUILD -+# if defined __BIG_ENDIAN__ -+# define WORDS_BIGENDIAN 1 -+# endif -+#else -+# ifndef WORDS_BIGENDIAN -+# undef WORDS_BIGENDIAN -+# endif -+#endif -+ -+/* Define to 1 if the X Window System is missing or not being used. */ -+#cmakedefine X_DISPLAY_MISSING -+ -+/* Support Deflate compression */ -+#cmakedefine ZIP_SUPPORT -+ -+/* Number of bits in a file offset, on hosts where this is settable. */ -+#cmakedefine _FILE_OFFSET_BITS -+ -+/* Define for large files, on AIX-style hosts. */ -+#cmakedefine _LARGE_FILES -+ -+/* Define to empty if `const' does not conform to ANSI C. */ -+#cmakedefine const -+ -+/* Define to `__inline__' or `__inline' if that's what the C compiler -+ calls it, or to nothing if 'inline' is not supported under any name. */ -+#ifndef __cplusplus -+#cmakedefine inline @inline@ -+#endif -+ -+/* Define to `long int' if does not define. */ -+#cmakedefine off_t @off_t@ -+ -+/* Define to `unsigned int' if does not define. */ -+#cmakedefine size_t @size_t@ -+ -+#ifdef _MSC_VER -+#define lfind _lfind -+#endif -+ -+#if !defined(HAVE_GETOPT) && !defined(HAVE_STRCASECMP) -+ #include "libport.h" -+#endif -+#endif -\ No newline at end of file -diff --git a/libtiff/tif_config.vc.h b/libtiff/tif_config.vc.h -index c297cf3..2e10246 100644 ---- a/libtiff/tif_config.vc.h -+++ b/libtiff/tif_config.vc.h -@@ -47,7 +47,7 @@ - /* Set the native cpu bit order */ - #define HOST_FILLORDER FILLORDER_LSB2MSB - --#define snprintf _snprintf -+//#define snprintf _snprintf - - /* Define to 1 if your processor stores words with the most significant byte - first (like Motorola and SPARC, unlike Intel and VAX). */ -diff --git a/libtiff/tif_win32.c b/libtiff/tif_win32.c -index 2cf1de9..e07ca59 100644 ---- a/libtiff/tif_win32.c -+++ b/libtiff/tif_win32.c -@@ -365,7 +365,7 @@ _TIFFmemcmp(const void* p1, const void* p2, tmsize_t c) - #ifndef _WIN32_WCE - - #if (_MSC_VER < 1500) --# define vsnprintf _vsnprintf -+//# define vsnprintf _vsnprintf - #endif - - static void -diff --git a/libtiff/tiffconf.h.cmake b/libtiff/tiffconf.h.cmake -new file mode 100644 -index 0000000..aef040b ---- /dev/null -+++ b/libtiff/tiffconf.h.cmake -@@ -0,0 +1,150 @@ -+/* -+ Configuration defines for installed libtiff. -+ This file maintained for backward compatibility. Do not use definitions -+ from this file in your programs. -+*/ -+ -+#ifndef _TIFFCONF_ -+#define _TIFFCONF_ -+ -+/* Define to 1 if the system has the type `int16'. */ -+#cmakedefine HAVE_INT16 -+ -+/* Define to 1 if the system has the type `int32'. */ -+#cmakedefine HAVE_INT32 -+ -+/* Define to 1 if the system has the type `int64'. */ -+#cmakedefine HAVE_INT64 -+ -+/* Define to 1 if the system has the type `int8'. */ -+#cmakedefine HAVE_INT8 -+ -+/* Signed 8-bit type */ -+#cmakedefine TIFF_INT8_T @TIFF_INT8_T@ -+ -+/* Unsigned 8-bit type */ -+#cmakedefine TIFF_UINT8_T @TIFF_UINT8_T@ -+ -+/* Signed 16-bit type */ -+#cmakedefine TIFF_INT16_T @TIFF_INT16_T@ -+ -+/* Unsigned 16-bit type */ -+#cmakedefine TIFF_UINT16_T @TIFF_UINT16_T@ -+ -+/* Signed 32-bit type */ -+#cmakedefine TIFF_INT32_T @TIFF_INT32_T@ -+ -+/* Unsigned 32-bit type */ -+#cmakedefine TIFF_UINT32_T @TIFF_UINT32_T@ -+ -+/* Signed 64-bit type formatter */ -+#cmakedefine TIFF_INT64_FORMAT @TIFF_INT64_FORMAT@ -+ -+/* Signed 64-bit type */ -+#cmakedefine TIFF_INT64_T @TIFF_INT64_T@ -+ -+/* Unsigned 64-bit type formatter */ -+#cmakedefine TIFF_UINT64_FORMAT @TIFF_UINT64_FORMAT@ -+ -+/* Unsigned 64-bit type */ -+#cmakedefine TIFF_UINT64_T @TIFF_UINT64_T@ -+ -+/* Signed size type */ -+#if defined(_WIN64) -+#define TIFF_SSIZE_T TIFF_INT64_T -+#else -+#define TIFF_SSIZE_T TIFF_INT32_T -+#endif -+ -+/* Signed size type formatter */ -+#if defined(_WIN64) -+#define TIFF_SSIZE_FORMAT TIFF_INT64_FORMAT -+#else -+#define TIFF_SSIZE_FORMAT "%ld" -+#endif -+ -+/* The size of a `int', as computed by sizeof. */ -+#cmakedefine SIZEOF_INT @SIZEOF_INT@ -+ -+/* The size of a `long', as computed by sizeof. */ -+#cmakedefine SIZEOF_LONG @SIZEOF_LONG@ -+ -+/* Compatibility stuff. */ -+ -+/* Define as 0 or 1 according to the floating point format suported by the -+ machine */ -+#cmakedefine HAVE_IEEEFP -+ -+/* Set the native cpu bit order (FILLORDER_LSB2MSB or FILLORDER_MSB2LSB) */ -+#cmakedefine HOST_FILLORDER @HOST_FILLORDER@ -+ -+/* Native cpu byte order: 1 if big-endian (Motorola) or 0 if little-endian -+ (Intel) */ -+#cmakedefine01 HOST_BIGENDIAN -+ -+/* Support CCITT Group 3 & 4 algorithms */ -+#cmakedefine CCITT_SUPPORT -+ -+/* Support JPEG compression (requires IJG JPEG library) */ -+#cmakedefine JPEG_SUPPORT -+ -+/* Support JBIG compression (requires JBIG-KIT library) */ -+#cmakedefine JBIG_SUPPORT -+ -+/* Support LogLuv high dynamic range encoding */ -+#cmakedefine LOGLUV_SUPPORT -+ -+/* Support LZW algorithm */ -+#cmakedefine LZW_SUPPORT -+ -+/* Support NeXT 2-bit RLE algorithm */ -+#cmakedefine NEXT_SUPPORT -+ -+/* Support Old JPEG compresson (read contrib/ojpeg/README first! Compilation -+ fails with unpatched IJG JPEG library) */ -+#cmakedefine OJPEG_SUPPORT -+ -+/* Support Macintosh PackBits algorithm */ -+#cmakedefine PACKBITS_SUPPORT -+ -+/* Support Pixar log-format algorithm (requires Zlib) */ -+#cmakedefine PIXARLOG_SUPPORT -+ -+/* Support ThunderScan 4-bit RLE algorithm */ -+#cmakedefine THUNDER_SUPPORT -+ -+/* Support Deflate compression */ -+#cmakedefine ZIP_SUPPORT -+ -+/* Support strip chopping (whether or not to convert single-strip uncompressed -+ images to mutiple strips of ~8Kb to reduce memory usage) */ -+#cmakedefine STRIPCHOP_DEFAULT @STRIPCHOP_DEFAULT@ -+ -+/* Enable SubIFD tag (330) support */ -+#cmakedefine SUBIFD_SUPPORT -+ -+/* Treat extra sample as alpha (default enabled). The RGBA interface will -+ treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many -+ packages produce RGBA files but don't mark the alpha properly. */ -+#cmakedefine DEFAULT_EXTRASAMPLE_AS_ALPHA -+ -+/* Pick up YCbCr subsampling info from the JPEG data stream to support files -+ lacking the tag (default enabled). */ -+#cmakedefine CHECK_JPEG_YCBCR_SUBSAMPLING -+ -+/* Support MS MDI magic number files as TIFF */ -+#cmakedefine MDI_SUPPORT -+ -+/* -+ * Feature support definitions. -+ * XXX: These macros are obsoleted. Don't use them in your apps! -+ * Macros stays here for backward compatibility and should be always defined. -+ */ -+#define COLORIMETRY_SUPPORT -+#define YCBCR_SUPPORT -+#define CMYK_SUPPORT -+#define ICC_SUPPORT -+#define PHOTOSHOP_SUPPORT -+#define IPTC_SUPPORT -+ -+#endif /* _TIFFCONF_ */ -diff --git a/libtiff/tiffconf.vc.h b/libtiff/tiffconf.vc.h -index 680f839..1d72692 100644 ---- a/libtiff/tiffconf.vc.h -+++ b/libtiff/tiffconf.vc.h -@@ -89,7 +89,7 @@ - #define CCITT_SUPPORT 1 - - /* Support JPEG compression (requires IJG JPEG library) */ --/* #undef JPEG_SUPPORT */ -+#define JPEG_SUPPORT 1 - - /* Support JBIG compression (requires JBIG-KIT library) */ - /* #undef JBIG_SUPPORT */ -@@ -117,7 +117,7 @@ - #define THUNDER_SUPPORT 1 - - /* Support Deflate compression */ --/* #undef ZIP_SUPPORT */ -+#define ZIP_SUPPORT - - /* Support strip chopping (whether or not to convert single-strip uncompressed - images to mutiple strips of ~8Kb to reduce memory usage) */ -diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt -new file mode 100644 -index 0000000..fe8f4c5 ---- /dev/null -+++ b/man/CMakeLists.txt -@@ -0,0 +1,73 @@ -+set(tiff1_FILES -+ bmp2tiff.1 -+ fax2ps.1 -+ fax2tiff.1 -+ gif2tiff.1 -+ pal2rgb.1 -+ ppm2tiff.1 -+ ras2tiff.1 -+ raw2tiff.1 -+ rgb2ycbcr.1 -+ sgi2tiff.1 -+ thumbnail.1 -+ tiff2bw.1 -+ tiff2pdf.1 -+ tiff2ps.1 -+ tiff2rgba.1 -+ tiffcmp.1 -+ tiffcp.1 -+ tiffcrop.1 -+ tiffdither.1 -+ tiffdump.1 -+ tiffgt.1 -+ tiffinfo.1 -+ tiffmedian.1 -+ tiffset.1 -+ tiffsplit.1 -+ tiffsv.1 -+) -+set(tiff3_FILES -+ libtiff.3tiff -+ TIFFbuffer.3tiff -+ TIFFClose.3tiff -+ TIFFcodec.3tiff -+ TIFFcolor.3tiff -+ TIFFDataWidth.3tiff -+ TIFFError.3tiff -+ TIFFFlush.3tiff -+ TIFFGetField.3tiff -+ TIFFmemory.3tiff -+ TIFFOpen.3tiff -+ TIFFPrintDirectory.3tiff -+ TIFFquery.3tiff -+ TIFFReadDirectory.3tiff -+ TIFFReadEncodedStrip.3tiff -+ TIFFReadEncodedTile.3tiff -+ TIFFReadRawStrip.3tiff -+ TIFFReadRawTile.3tiff -+ TIFFReadRGBAImage.3tiff -+ TIFFReadRGBAStrip.3tiff -+ TIFFReadRGBATile.3tiff -+ TIFFReadScanline.3tiff -+ TIFFReadTile.3tiff -+ TIFFRGBAImage.3tiff -+ TIFFSetDirectory.3tiff -+ TIFFSetField.3tiff -+ TIFFsize.3tiff -+ TIFFstrip.3tiff -+ TIFFswab.3tiff -+ TIFFtile.3tiff -+ TIFFWarning.3tiff -+ TIFFWriteDirectory.3tiff -+ TIFFWriteEncodedStrip.3tiff -+ TIFFWriteEncodedTile.3tiff -+ TIFFWriteRawStrip.3tiff -+ TIFFWriteRawTile.3tiff -+ TIFFWriteScanline.3tiff -+ TIFFWriteTile.3tiff -+) -+ -+if(BUILD_TOOLS) -+ install(FILES ${tiff1_FILES} DESTINATION share/man/man1) -+endif(BUILD_TOOLS) -+install(FILES ${tiff3_FILES} DESTINATION share/man/man3) -\ No newline at end of file -diff --git a/port/CMakeLists.txt b/port/CMakeLists.txt -new file mode 100644 -index 0000000..c3dca62 ---- /dev/null -+++ b/port/CMakeLists.txt -@@ -0,0 +1,19 @@ -+if(NOT WIN32) -+ set(port_SRCS -+ dummy.c -+ ) -+else(NOT WIN32) -+ set(port_SRCS -+ strcasecmp.c -+ getopt.c -+ ) -+endif(NOT WIN32) -+ -+if(NOT HAVE_LFIND) -+ set(port_SRCS ${port_SRCS} lfind.c) -+endif(NOT HAVE_LFIND) -+if(NOT HAVE_STRTOUL) -+ set(port_SRCS ${port_SRCS} strtoul.c) -+endif(NOT HAVE_STRTOUL) -+ -+add_library(port ${port_SRCS}) -\ No newline at end of file -diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt -new file mode 100644 -index 0000000..4ecc0bf ---- /dev/null -+++ b/tools/CMakeLists.txt -@@ -0,0 +1,137 @@ -+ -+#EXTRA_PROGRAMS = sgi2tiff sgisv ycbcr -+ -+#if HAVE_RPATH -+#AM_LDFLAGS = $(LIBDIR) -+#endif -+ -+include_directories(${CMAKE_BINARY_DIR}/libtiff ${CMAKE_SOURCE_DIR}/libtiff) -+ -+set(bmp2tiff_SRCS bmp2tiff.c) -+add_executable(bmp2tiff ${bmp2tiff_SRCS}) -+target_link_libraries(bmp2tiff tiff port) -+ -+set(fax2ps_SRCS fax2ps.c) -+add_executable(fax2ps ${fax2ps_SRCS}) -+target_link_libraries(fax2ps tiff port) -+ -+set(fax2tiff_SRCS fax2tiff.c) -+add_executable(fax2tiff ${fax2tiff_SRCS}) -+target_link_libraries(fax2tiff tiff port) -+ -+set(gif2tiff_SRCS gif2tiff.c) -+add_executable(gif2tiff ${gif2tiff_SRCS}) -+target_link_libraries(gif2tiff tiff port) -+ -+set(pal2rgb_SRCS pal2rgb.c) -+add_executable(pal2rgb ${pal2rgb_SRCS}) -+target_link_libraries(pal2rgb tiff port) -+ -+set(ppm2tiff_SRCS ppm2tiff.c) -+add_executable(ppm2tiff ${ppm2tiff_SRCS}) -+target_link_libraries(ppm2tiff tiff port) -+ -+set(ras2tiff_SRCS ras2tiff.c rasterfile.h) -+add_executable(ras2tiff ${ras2tiff_SRCS}) -+target_link_libraries(ras2tiff tiff port) -+ -+set(raw2tiff_SRCS raw2tiff.c) -+add_executable(raw2tiff ${raw2tiff_SRCS}) -+target_link_libraries(raw2tiff tiff port) -+ -+set(rgb2ycbcr_SRCS rgb2ycbcr.c ../libtiff/tif_aux.c) -+add_executable(rgb2ycbcr ${rgb2ycbcr_SRCS}) -+target_link_libraries(rgb2ycbcr tiff port) -+ -+set(thumbnail_SRCS thumbnail.c) -+add_executable(thumbnail ${thumbnail_SRCS}) -+target_link_libraries(thumbnail tiff port) -+ -+set(tiff2bw_SRCS tiff2bw.c) -+add_executable(tiff2bw ${tiff2bw_SRCS}) -+target_link_libraries(tiff2bw tiff port) -+ -+set(tiff2pdf_SRCS tiff2pdf.c) -+add_executable(tiff2pdf ${tiff2pdf_SRCS}) -+target_link_libraries(tiff2pdf tiff port) -+ -+set(tiff2ps_SRCS tiff2ps.c) -+add_executable(tiff2ps ${tiff2ps_SRCS}) -+target_link_libraries(tiff2ps tiff port) -+ -+set(tiff2rgba_SRCS tiff2rgba.c ../libtiff/tif_aux.c) -+add_executable(tiff2rgba ${tiff2rgba_SRCS}) -+target_link_libraries(tiff2rgba tiff port) -+ -+set(tiffcmp_SRCS tiffcmp.c) -+add_executable(tiffcmp ${tiffcmp_SRCS}) -+target_link_libraries(tiffcmp tiff port) -+ -+set(tiffcp_SRCS tiffcp.c) -+add_executable(tiffcp ${tiffcp_SRCS}) -+target_link_libraries(tiffcp tiff port) -+ -+set(tiffcrop_SRCS tiffcrop.c) -+add_executable(tiffcrop ${tiffcrop_SRCS}) -+target_link_libraries(tiffcrop tiff port) -+ -+set(tiffdither_SRCS tiffdither.c) -+add_executable(tiffdither ${tiffdither_SRCS}) -+target_link_libraries(tiffdither tiff port) -+ -+set(tiffdump_SRCS tiffdump.c) -+add_executable(tiffdump ${tiffdump_SRCS}) -+target_link_libraries(tiffdump tiff port) -+ -+set(tiffinfo_SRCS tiffinfo.c) -+add_executable(tiffinfo ${tiffinfo_SRCS}) -+target_link_libraries(tiffinfo tiff port) -+ -+set(tiffmedian_SRCS tiffmedian.c) -+add_executable(tiffmedian ${tiffmedian_SRCS}) -+target_link_libraries(tiffmedian tiff port) -+ -+set(tiffset_SRCS tiffset.c) -+add_executable(tiffset ${tiffset_SRCS}) -+target_link_libraries(tiffset tiff port) -+ -+set(tiffsplit_SRCS tiffsplit.c) -+add_executable(tiffsplit ${tiffsplit_SRCS}) -+target_link_libraries(tiffsplit tiff port) -+ -+if(HAVE_OPENGL) -+ set(tiffgt_SRCS tiffgt.c) -+# include_directories(${OpenGL_INCLUDE_DIR}) -+ add_executable(tiffgt ${tiffgt_SRCS}) -+ target_link_libraries(tiffgt tiff port ${OpenGL_LIBRARIES}) -+endif(HAVE_OPENGL) -+ -+set(tools -+bmp2tiff -+fax2ps -+fax2tiff -+gif2tiff -+pal2rgb -+ppm2tiff -+ras2tiff -+raw2tiff -+rgb2ycbcr -+thumbnail -+tiff2bw -+tiff2pdf -+tiff2ps -+tiff2rgba -+tiffcmp -+tiffcp -+tiffcrop -+tiffdither -+tiffdump -+tiffinfo -+tiffmedian -+tiffset -+tiffsplit -+) -+ -+install(TARGETS ${tools} RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -\ No newline at end of file -diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c -index 9cd5d86..b1d9874 100644 ---- a/tools/tiffcrop.c -+++ b/tools/tiffcrop.c -@@ -2931,9 +2931,9 @@ extractContigSamples24bits (uint8 *in, uint8 *out, uint32 cols, - } - else /* If we have a full buffer's worth, write it out */ - { -- bytebuff1 = (buff2 >> 24); -+ bytebuff1 = (uint8)(buff2 >> 24); - *dst++ = bytebuff1; -- bytebuff2 = (buff2 >> 16); -+ bytebuff2 = (uint8)(buff2 >> 16); - *dst++ = bytebuff2; - ready_bits -= 16; - -@@ -2947,7 +2947,7 @@ extractContigSamples24bits (uint8 *in, uint8 *out, uint32 cols, - /* catch any trailing bits at the end of the line */ - while (ready_bits > 0) - { -- bytebuff1 = (buff2 >> 24); -+ bytebuff1 = (uint8)(buff2 >> 24); - *dst++ = bytebuff1; - - buff2 = (buff2 << 8); -@@ -3031,13 +3031,13 @@ extractContigSamples32bits (uint8 *in, uint8 *out, uint32 cols, - /* If we have a full buffer's worth, write it out */ - if (ready_bits >= 32) - { -- bytebuff1 = (buff2 >> 56); -+ bytebuff1 = (uint8)(buff2 >> 56); - *dst++ = bytebuff1; -- bytebuff2 = (buff2 >> 48); -+ bytebuff2 = (uint8)(buff2 >> 48); - *dst++ = bytebuff2; -- bytebuff3 = (buff2 >> 40); -+ bytebuff3 = (uint8)(buff2 >> 40); - *dst++ = bytebuff3; -- bytebuff4 = (buff2 >> 32); -+ bytebuff4 = (uint8)(buff2 >> 32); - *dst++ = bytebuff4; - ready_bits -= 32; - -@@ -3054,7 +3054,7 @@ extractContigSamples32bits (uint8 *in, uint8 *out, uint32 cols, - } - while (ready_bits > 0) - { -- bytebuff1 = (buff2 >> 56); -+ bytebuff1 = (uint8)(buff2 >> 56); - *dst++ = bytebuff1; - buff2 = (buff2 << 8); - ready_bits -= 8; -@@ -3304,9 +3304,9 @@ extractContigSamplesShifted24bits (uint8 *in, uint8 *out, uint32 cols, - } - else /* If we have a full buffer's worth, write it out */ - { -- bytebuff1 = (buff2 >> 24); -+ bytebuff1 = (uint8)(buff2 >> 24); - *dst++ = bytebuff1; -- bytebuff2 = (buff2 >> 16); -+ bytebuff2 = (uint8)(buff2 >> 16); - *dst++ = bytebuff2; - ready_bits -= 16; - -@@ -3320,7 +3320,7 @@ extractContigSamplesShifted24bits (uint8 *in, uint8 *out, uint32 cols, - /* catch any trailing bits at the end of the line */ - while (ready_bits > 0) - { -- bytebuff1 = (buff2 >> 24); -+ bytebuff1 = (uint8)(buff2 >> 24); - *dst++ = bytebuff1; - - buff2 = (buff2 << 8); -@@ -3412,13 +3412,13 @@ extractContigSamplesShifted32bits (uint8 *in, uint8 *out, uint32 cols, - } - else /* If we have a full buffer's worth, write it out */ - { -- bytebuff1 = (buff2 >> 56); -+ bytebuff1 = (uint8)(buff2 >> 56); - *dst++ = bytebuff1; -- bytebuff2 = (buff2 >> 48); -+ bytebuff2 = (uint8)(buff2 >> 48); - *dst++ = bytebuff2; -- bytebuff3 = (buff2 >> 40); -+ bytebuff3 = (uint8)(buff2 >> 40); - *dst++ = bytebuff3; -- bytebuff4 = (buff2 >> 32); -+ bytebuff4 = (uint8)(buff2 >> 32); - *dst++ = bytebuff4; - ready_bits -= 32; - -@@ -3430,7 +3430,7 @@ extractContigSamplesShifted32bits (uint8 *in, uint8 *out, uint32 cols, - } - while (ready_bits > 0) - { -- bytebuff1 = (buff2 >> 56); -+ bytebuff1 = (uint8)(buff2 >> 56); - *dst++ = bytebuff1; - buff2 = (buff2 << 8); - ready_bits -= 8; -@@ -3944,9 +3944,9 @@ combineSeparateSamples24bits (uint8 *in[], uint8 *out, uint32 cols, - /* If we have a full buffer's worth, write it out */ - if (ready_bits >= 16) - { -- bytebuff1 = (buff2 >> 24); -+ bytebuff1 = (uint8)(buff2 >> 24); - *dst++ = bytebuff1; -- bytebuff2 = (buff2 >> 16); -+ bytebuff2 = (uint8)(buff2 >> 16); - *dst++ = bytebuff2; - ready_bits -= 16; - -@@ -3981,7 +3981,7 @@ combineSeparateSamples24bits (uint8 *in[], uint8 *out, uint32 cols, - /* catch any trailing bits at the end of the line */ - while (ready_bits > 0) - { -- bytebuff1 = (buff2 >> 24); -+ bytebuff1 = (uint8)(buff2 >> 24); - *dst++ = bytebuff1; - - buff2 = (buff2 << 8); -@@ -4077,13 +4077,13 @@ combineSeparateSamples32bits (uint8 *in[], uint8 *out, uint32 cols, - /* If we have a full buffer's worth, write it out */ - if (ready_bits >= 32) - { -- bytebuff1 = (buff2 >> 56); -+ bytebuff1 = (uint8)(buff2 >> 56); - *dst++ = bytebuff1; -- bytebuff2 = (buff2 >> 48); -+ bytebuff2 = (uint8)(buff2 >> 48); - *dst++ = bytebuff2; -- bytebuff3 = (buff2 >> 40); -+ bytebuff3 = (uint8)(buff2 >> 40); - *dst++ = bytebuff3; -- bytebuff4 = (buff2 >> 32); -+ bytebuff4 = (uint8)(buff2 >> 32); - *dst++ = bytebuff4; - ready_bits -= 32; - -@@ -4104,17 +4104,17 @@ combineSeparateSamples32bits (uint8 *in[], uint8 *out, uint32 cols, - dump_info (dumpfile, format, "", - "Row %3d, Col %3d, Sample %d, Src byte offset %3d bit offset %2d Dst offset %3d", - row + 1, col + 1, s, src_byte, src_bit, dst - out); -- dump_wide (dumpfile, format, "Match bits ", matchbits); -+ dump_wide (dumpfile, format, "Match bits ", (uint32)matchbits); - dump_data (dumpfile, format, "Src bits ", src, 8); -- dump_wide (dumpfile, format, "Buff1 bits ", buff1); -- dump_wide (dumpfile, format, "Buff2 bits ", buff2); -+ dump_wide (dumpfile, format, "Buff1 bits ", (uint32)buff1); -+ dump_wide (dumpfile, format, "Buff2 bits ", (uint32)buff2); - dump_info (dumpfile, format, "", "Ready bits: %d, %s", ready_bits, action); - } - } - } - while (ready_bits > 0) - { -- bytebuff1 = (buff2 >> 56); -+ bytebuff1 = (uint8)(buff2 >> 56); - *dst++ = bytebuff1; - buff2 = (buff2 << 8); - ready_bits -= 8; -@@ -4126,10 +4126,10 @@ combineSeparateSamples32bits (uint8 *in[], uint8 *out, uint32 cols, - "Row %3d, Col %3d, Src byte offset %3d bit offset %2d Dst offset %3d", - row + 1, col + 1, src_byte, src_bit, dst - out); - -- dump_long (dumpfile, format, "Match bits ", matchbits); -+ dump_long (dumpfile, format, "Match bits ", (uint32)matchbits); - dump_data (dumpfile, format, "Src bits ", src, 4); -- dump_long (dumpfile, format, "Buff1 bits ", buff1); -- dump_long (dumpfile, format, "Buff2 bits ", buff2); -+ dump_long (dumpfile, format, "Buff1 bits ", (uint32)buff1); -+ dump_long (dumpfile, format, "Buff2 bits ", (uint32)buff2); - dump_byte (dumpfile, format, "Write bits1", bytebuff1); - dump_byte (dumpfile, format, "Write bits2", bytebuff2); - dump_info (dumpfile, format, "", "Ready bits: %2d", ready_bits); -@@ -4468,9 +4468,9 @@ combineSeparateTileSamples24bits (uint8 *in[], uint8 *out, uint32 cols, - /* If we have a full buffer's worth, write it out */ - if (ready_bits >= 16) - { -- bytebuff1 = (buff2 >> 24); -+ bytebuff1 = (uint8)(buff2 >> 24); - *dst++ = bytebuff1; -- bytebuff2 = (buff2 >> 16); -+ bytebuff2 = (uint8)(buff2 >> 16); - *dst++ = bytebuff2; - ready_bits -= 16; - -@@ -4505,7 +4505,7 @@ combineSeparateTileSamples24bits (uint8 *in[], uint8 *out, uint32 cols, - /* catch any trailing bits at the end of the line */ - while (ready_bits > 0) - { -- bytebuff1 = (buff2 >> 24); -+ bytebuff1 = (uint8)(buff2 >> 24); - *dst++ = bytebuff1; - - buff2 = (buff2 << 8); -@@ -4602,13 +4602,13 @@ combineSeparateTileSamples32bits (uint8 *in[], uint8 *out, uint32 cols, - /* If we have a full buffer's worth, write it out */ - if (ready_bits >= 32) - { -- bytebuff1 = (buff2 >> 56); -+ bytebuff1 = (uint8)(buff2 >> 56); - *dst++ = bytebuff1; -- bytebuff2 = (buff2 >> 48); -+ bytebuff2 = (uint8)(buff2 >> 48); - *dst++ = bytebuff2; -- bytebuff3 = (buff2 >> 40); -+ bytebuff3 = (uint8)(buff2 >> 40); - *dst++ = bytebuff3; -- bytebuff4 = (buff2 >> 32); -+ bytebuff4 = (uint8)(buff2 >> 32); - *dst++ = bytebuff4; - ready_bits -= 32; - -@@ -4639,7 +4639,7 @@ combineSeparateTileSamples32bits (uint8 *in[], uint8 *out, uint32 cols, - } - while (ready_bits > 0) - { -- bytebuff1 = (buff2 >> 56); -+ bytebuff1 = (uint8)(buff2 >> 56); - *dst++ = bytebuff1; - buff2 = (buff2 << 8); - ready_bits -= 8; -@@ -4651,10 +4651,10 @@ combineSeparateTileSamples32bits (uint8 *in[], uint8 *out, uint32 cols, - "Row %3d, Col %3d, Src byte offset %3d bit offset %2d Dst offset %3d", - row + 1, col + 1, src_byte, src_bit, dst - out); - -- dump_long (dumpfile, format, "Match bits ", matchbits); -+ dump_long (dumpfile, format, "Match bits ", (uint32)matchbits); - dump_data (dumpfile, format, "Src bits ", src, 4); -- dump_long (dumpfile, format, "Buff1 bits ", buff1); -- dump_long (dumpfile, format, "Buff2 bits ", buff2); -+ dump_long (dumpfile, format, "Buff1 bits ", (uint32)buff1); -+ dump_long (dumpfile, format, "Buff2 bits ", (uint32)buff2); - dump_byte (dumpfile, format, "Write bits1", bytebuff1); - dump_byte (dumpfile, format, "Write bits2", bytebuff2); - dump_info (dumpfile, format, "", "Ready bits: %2d", ready_bits); -@@ -5548,12 +5548,12 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image, - if (page->width <= 0) - pwidth = iwidth; - else -- pwidth = page->width; -+ pwidth = (uint32)page->width; - - if (page->length <= 0) - plength = ilength; - else -- plength = page->length; -+ plength = (uint32)page->length; - - if (dump->debug) - { -@@ -8060,9 +8060,9 @@ rotateContigSamples24bits(uint16 rotation, uint16 spp, uint16 bps, uint32 width, - /* If we have a full buffer's worth, write it out */ - if (ready_bits >= 16) - { -- bytebuff1 = (buff2 >> 24); -+ bytebuff1 = (uint8)(buff2 >> 24); - *dst++ = bytebuff1; -- bytebuff2 = (buff2 >> 16); -+ bytebuff2 = (uint8)(buff2 >> 16); - *dst++ = bytebuff2; - ready_bits -= 16; - -@@ -8081,7 +8081,7 @@ rotateContigSamples24bits(uint16 rotation, uint16 spp, uint16 bps, uint32 width, - /* catch any trailing bits at the end of the line */ - while (ready_bits > 0) - { -- bytebuff1 = (buff2 >> 24); -+ bytebuff1 = (uint8)(buff2 >> 24); - *dst++ = bytebuff1; - - buff2 = (buff2 << 8); -@@ -8172,13 +8172,13 @@ rotateContigSamples32bits(uint16 rotation, uint16 spp, uint16 bps, uint32 width, - } - else /* If we have a full buffer's worth, write it out */ - { -- bytebuff1 = (buff2 >> 56); -+ bytebuff1 = (uint8)(buff2 >> 56); - *dst++ = bytebuff1; -- bytebuff2 = (buff2 >> 48); -+ bytebuff2 = (uint8)(buff2 >> 48); - *dst++ = bytebuff2; -- bytebuff3 = (buff2 >> 40); -+ bytebuff3 = (uint8)(buff2 >> 40); - *dst++ = bytebuff3; -- bytebuff4 = (buff2 >> 32); -+ bytebuff4 = (uint8)(buff2 >> 32); - *dst++ = bytebuff4; - ready_bits -= 32; - -@@ -8190,7 +8190,7 @@ rotateContigSamples32bits(uint16 rotation, uint16 spp, uint16 bps, uint32 width, - } - while (ready_bits > 0) - { -- bytebuff1 = (buff2 >> 56); -+ bytebuff1 = (uint8)(buff2 >> 56); - *dst++ = bytebuff1; - buff2 = (buff2 << 8); - ready_bits -= 8; -@@ -8679,9 +8679,9 @@ reverseSamples24bits (uint16 spp, uint16 bps, uint32 width, - } - else /* If we have a full buffer's worth, write it out */ - { -- bytebuff1 = (buff2 >> 24); -+ bytebuff1 = (uint8)(buff2 >> 24); - *dst++ = bytebuff1; -- bytebuff2 = (buff2 >> 16); -+ bytebuff2 = (uint8)(buff2 >> 16); - *dst++ = bytebuff2; - ready_bits -= 16; - -@@ -8695,7 +8695,7 @@ reverseSamples24bits (uint16 spp, uint16 bps, uint32 width, - /* catch any trailing bits at the end of the line */ - while (ready_bits > 0) - { -- bytebuff1 = (buff2 >> 24); -+ bytebuff1 = (uint8)(buff2 >> 24); - *dst++ = bytebuff1; - - buff2 = (buff2 << 8); -@@ -8780,13 +8780,13 @@ reverseSamples32bits (uint16 spp, uint16 bps, uint32 width, - } - else /* If we have a full buffer's worth, write it out */ - { -- bytebuff1 = (buff2 >> 56); -+ bytebuff1 = (uint8)(buff2 >> 56); - *dst++ = bytebuff1; -- bytebuff2 = (buff2 >> 48); -+ bytebuff2 = (uint8)(buff2 >> 48); - *dst++ = bytebuff2; -- bytebuff3 = (buff2 >> 40); -+ bytebuff3 = (uint8)(buff2 >> 40); - *dst++ = bytebuff3; -- bytebuff4 = (buff2 >> 32); -+ bytebuff4 = (uint8)(buff2 >> 32); - *dst++ = bytebuff4; - ready_bits -= 32; - -@@ -8798,7 +8798,7 @@ reverseSamples32bits (uint16 spp, uint16 bps, uint32 width, - } - while (ready_bits > 0) - { -- bytebuff1 = (buff2 >> 56); -+ bytebuff1 = (uint8)(buff2 >> 56); - *dst++ = bytebuff1; - buff2 = (buff2 << 8); - ready_bits -= 8; diff -Nru krita-3.1.4/3rdparty/ext_vc/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_vc/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_vc/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_vc/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -SET(PREFIX_ext_vc "${EXTPREFIX}" ) -ExternalProject_Add( ext_vc - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/Vc-1.2.0.tar.gz - URL_MD5 f2a213ae4bad0dcf4ec6469e4dad41c1 - - INSTALL_DIR ${PREFIX_ext_vc} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/vc1.2_malloc_free.patch - - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_vc} -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DCMAKE_SYSTEM_PROCESSOR=x86 - - UPDATE_COMMAND "" - ALWAYS 0 -) - diff -Nru krita-3.1.4/3rdparty/ext_vc/vc1.2_malloc_free.patch krita-3.1.4+dfsg/3rdparty/ext_vc/vc1.2_malloc_free.patch --- krita-3.1.4/3rdparty/ext_vc/vc1.2_malloc_free.patch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_vc/vc1.2_malloc_free.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ ---- a/common/malloc.h -+++ b/common/malloc.h -@@ -90,6 +90,12 @@ - { - #ifdef __MIC__ - _mm_free(p); -+#elif defined(_WIN32) -+# ifdef __GNUC__ -+ return __mingw_aligned_free(p); -+# else -+ return _aligned_free(p); -+# endif - #else - std::free(p); - #endif diff -Nru krita-3.1.4/3rdparty/ext_zlib/CMakeLists.txt krita-3.1.4+dfsg/3rdparty/ext_zlib/CMakeLists.txt --- krita-3.1.4/3rdparty/ext_zlib/CMakeLists.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_zlib/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -SET(PREFIX_ext_zlib "${EXTPREFIX}" ) -if (MSVC OR MINGW) -ExternalProject_Add( - ext_zlib - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/zlib-1.2.8.tar.gz - URL_MD5 44d667c142d7cda120332623eab69f40 - - INSTALL_DIR ${PREFIX_ext_zlib} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/zlib-1.2.8-20130901.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_zlib} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 - DEPENDS ext_patch -) -else () -ExternalProject_Add( ext_zlib - DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/zlib-1.2.8.tar.gz - URL_MD5 44d667c142d7cda120332623eab69f40 - - INSTALL_DIR ${PREFIX_ext_zlib} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/zlib-1.2.8-20130901.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_zlib} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} - - UPDATE_COMMAND "" - ALWAYS 0 -) -endif () diff -Nru krita-3.1.4/3rdparty/ext_zlib/zlib-1.2.8-20130901.diff krita-3.1.4+dfsg/3rdparty/ext_zlib/zlib-1.2.8-20130901.diff --- krita-3.1.4/3rdparty/ext_zlib/zlib-1.2.8-20130901.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/ext_zlib/zlib-1.2.8-20130901.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,673 +0,0 @@ -diff -Nru -x '*~' zlib-1.2.8.orig/cmake/modules/FindWcecompat.cmake zlib-1.2.8/cmake/modules/FindWcecompat.cmake ---- zlib-1.2.8.orig/cmake/modules/FindWcecompat.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ zlib-1.2.8/cmake/modules/FindWcecompat.cmake 2013-09-01 00:55:16.876062400 +0200 -@@ -0,0 +1,33 @@ -+# Try to find Wcecompat functionality -+# Once done this will define -+# -+# WCECOMPAT_FOUND - system has Wcecompat -+# WCECOMPAT_INCLUDE_DIR - Wcecompat include directory -+# WCECOMPAT_LIBRARIES - Libraries needed to use Wcecompat -+# -+# Copyright (c) 2010, Andreas Holzammer, -+# -+# Redistribution and use is allowed according to the terms of the BSD license. -+ -+if(WCECOMPAT_INCLUDE_DIR AND WCECOMPAT_LIB_FOUND) -+ set(Wcecompat_FIND_QUIETLY TRUE) -+endif(WCECOMPAT_INCLUDE_DIR AND WCECOMPAT_LIB_FOUND) -+ -+find_path(WCECOMPAT_INCLUDE_DIR errno.h PATH_SUFFIXES wcecompat) -+ -+set(WCECOMPAT_LIB_FOUND FALSE) -+ -+if(WCECOMPAT_INCLUDE_DIR) -+ find_library(WCECOMPAT_LIBRARIES NAMES wcecompat wcecompatex ) -+ if(WCECOMPAT_LIBRARIES) -+ set(WCECOMPAT_LIB_FOUND TRUE) -+ endif(WCECOMPAT_LIBRARIES) -+endif(WCECOMPAT_INCLUDE_DIR) -+ -+# I have no idea what this is about, but it seems to be used quite often, so I add this here -+set(WCECOMPAT_CONST const) -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(Wcecompat DEFAULT_MSG WCECOMPAT_LIBRARIES WCECOMPAT_LIB_FOUND) -+ -+mark_as_advanced(WCECOMPAT_INCLUDE_DIR WCECOMPAT_LIBRARIES WCECOMPAT_CONST WCECOMPAT_LIB_FOUND) -diff -Nru -x '*~' zlib-1.2.8.orig/CMakeLists.txt zlib-1.2.8/CMakeLists.txt ---- zlib-1.2.8.orig/CMakeLists.txt 2013-04-29 00:57:10.000000000 +0200 -+++ zlib-1.2.8/CMakeLists.txt 2013-09-01 00:58:02.253521400 +0200 -@@ -1,8 +1,15 @@ --cmake_minimum_required(VERSION 2.4.4) -+cmake_minimum_required(VERSION 2.6) - set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) - -+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) -+ - project(zlib C) - -+if(WINCE) -+ find_package(Wcecompat REQUIRED) -+ include_directories(${WCECOMPAT_INCLUDE_DIR}) -+endif(WINCE) -+ - set(VERSION "1.2.8") - - option(ASM686 "Enable building i686 assembly implementation") -@@ -14,6 +21,8 @@ - set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages") - set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/share/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files") - -+include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) -+ - include(CheckTypeSize) - include(CheckFunctionExists) - include(CheckIncludeFile) -@@ -24,6 +33,7 @@ - check_include_file(stdint.h HAVE_STDINT_H) - check_include_file(stddef.h HAVE_STDDEF_H) - -+set(CMAKE_DEBUG_POSTFIX) - # - # Check to see if we have large file support - # -@@ -60,7 +70,7 @@ - check_include_file(unistd.h Z_HAVE_UNISTD_H) - - if(MSVC) -- set(CMAKE_DEBUG_POSTFIX "d") -+# set(CMAKE_DEBUG_POSTFIX "d") - add_definitions(-D_CRT_SECURE_NO_DEPRECATE) - add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) - include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -@@ -188,6 +198,10 @@ - set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) - set_target_properties(zlib PROPERTIES SOVERSION 1) - -+if(WINCE) -+ target_link_libraries(zlib ${WCECOMPAT_LIBRARIES}) -+endif(WINCE) -+ - if(NOT CYGWIN) - # This property causes shared libraries on Linux to have the full version - # encoded into their final filename. We disable this on Cygwin because -@@ -199,7 +213,7 @@ - set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION}) - endif() - --if(UNIX) -+if(UNIX OR MINGW) - # On unix-like platforms the library is almost always called libz - set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z) - if(NOT APPLE) -@@ -230,12 +244,14 @@ - # Example binaries - #============================================================================ - -+if(NOT WINCE) - add_executable(example test/example.c) - target_link_libraries(example zlib) - add_test(example example) - - add_executable(minigzip test/minigzip.c) - target_link_libraries(minigzip zlib) -+endif(NOT WINCE) - - if(HAVE_OFF64_T) - add_executable(example64 test/example.c) -@@ -247,3 +263,7 @@ - target_link_libraries(minigzip64 zlib) - set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64") - endif() -+ -+ -+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/zlib.pc @ONLY) -+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zlib.pc DESTINATION lib/pkgconfig) -diff -Nru -x '*~' zlib-1.2.8.orig/win32/zlib1.rc zlib-1.2.8/win32/zlib1.rc ---- zlib-1.2.8.orig/win32/zlib1.rc 2013-04-29 00:57:11.000000000 +0200 -+++ zlib-1.2.8/win32/zlib1.rc 2013-09-01 00:59:54.116919600 +0200 -@@ -10,9 +10,9 @@ - PRODUCTVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - #ifdef _DEBUG -- FILEFLAGS 1 -+ FILEFLAGS 0x1L - #else -- FILEFLAGS 0 -+ FILEFLAGS 0x0L - #endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_DLL -diff -Nru -x '*~' zlib-1.2.8.orig/zconf.h zlib-1.2.8/zconf.h ---- zlib-1.2.8.orig/zconf.h 2013-04-29 00:57:11.000000000 +0200 -+++ zlib-1.2.8/zconf.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,511 +0,0 @@ --/* zconf.h -- configuration of the zlib compression library -- * Copyright (C) 1995-2013 Jean-loup Gailly. -- * For conditions of distribution and use, see copyright notice in zlib.h -- */ -- --/* @(#) $Id$ */ -- --#ifndef ZCONF_H --#define ZCONF_H -- --/* -- * If you *really* need a unique prefix for all types and library functions, -- * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. -- * Even better than compiling with -DZ_PREFIX would be to use configure to set -- * this permanently in zconf.h using "./configure --zprefix". -- */ --#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ --# define Z_PREFIX_SET -- --/* all linked symbols */ --# define _dist_code z__dist_code --# define _length_code z__length_code --# define _tr_align z__tr_align --# define _tr_flush_bits z__tr_flush_bits --# define _tr_flush_block z__tr_flush_block --# define _tr_init z__tr_init --# define _tr_stored_block z__tr_stored_block --# define _tr_tally z__tr_tally --# define adler32 z_adler32 --# define adler32_combine z_adler32_combine --# define adler32_combine64 z_adler32_combine64 --# ifndef Z_SOLO --# define compress z_compress --# define compress2 z_compress2 --# define compressBound z_compressBound --# endif --# define crc32 z_crc32 --# define crc32_combine z_crc32_combine --# define crc32_combine64 z_crc32_combine64 --# define deflate z_deflate --# define deflateBound z_deflateBound --# define deflateCopy z_deflateCopy --# define deflateEnd z_deflateEnd --# define deflateInit2_ z_deflateInit2_ --# define deflateInit_ z_deflateInit_ --# define deflateParams z_deflateParams --# define deflatePending z_deflatePending --# define deflatePrime z_deflatePrime --# define deflateReset z_deflateReset --# define deflateResetKeep z_deflateResetKeep --# define deflateSetDictionary z_deflateSetDictionary --# define deflateSetHeader z_deflateSetHeader --# define deflateTune z_deflateTune --# define deflate_copyright z_deflate_copyright --# define get_crc_table z_get_crc_table --# ifndef Z_SOLO --# define gz_error z_gz_error --# define gz_intmax z_gz_intmax --# define gz_strwinerror z_gz_strwinerror --# define gzbuffer z_gzbuffer --# define gzclearerr z_gzclearerr --# define gzclose z_gzclose --# define gzclose_r z_gzclose_r --# define gzclose_w z_gzclose_w --# define gzdirect z_gzdirect --# define gzdopen z_gzdopen --# define gzeof z_gzeof --# define gzerror z_gzerror --# define gzflush z_gzflush --# define gzgetc z_gzgetc --# define gzgetc_ z_gzgetc_ --# define gzgets z_gzgets --# define gzoffset z_gzoffset --# define gzoffset64 z_gzoffset64 --# define gzopen z_gzopen --# define gzopen64 z_gzopen64 --# ifdef _WIN32 --# define gzopen_w z_gzopen_w --# endif --# define gzprintf z_gzprintf --# define gzvprintf z_gzvprintf --# define gzputc z_gzputc --# define gzputs z_gzputs --# define gzread z_gzread --# define gzrewind z_gzrewind --# define gzseek z_gzseek --# define gzseek64 z_gzseek64 --# define gzsetparams z_gzsetparams --# define gztell z_gztell --# define gztell64 z_gztell64 --# define gzungetc z_gzungetc --# define gzwrite z_gzwrite --# endif --# define inflate z_inflate --# define inflateBack z_inflateBack --# define inflateBackEnd z_inflateBackEnd --# define inflateBackInit_ z_inflateBackInit_ --# define inflateCopy z_inflateCopy --# define inflateEnd z_inflateEnd --# define inflateGetHeader z_inflateGetHeader --# define inflateInit2_ z_inflateInit2_ --# define inflateInit_ z_inflateInit_ --# define inflateMark z_inflateMark --# define inflatePrime z_inflatePrime --# define inflateReset z_inflateReset --# define inflateReset2 z_inflateReset2 --# define inflateSetDictionary z_inflateSetDictionary --# define inflateGetDictionary z_inflateGetDictionary --# define inflateSync z_inflateSync --# define inflateSyncPoint z_inflateSyncPoint --# define inflateUndermine z_inflateUndermine --# define inflateResetKeep z_inflateResetKeep --# define inflate_copyright z_inflate_copyright --# define inflate_fast z_inflate_fast --# define inflate_table z_inflate_table --# ifndef Z_SOLO --# define uncompress z_uncompress --# endif --# define zError z_zError --# ifndef Z_SOLO --# define zcalloc z_zcalloc --# define zcfree z_zcfree --# endif --# define zlibCompileFlags z_zlibCompileFlags --# define zlibVersion z_zlibVersion -- --/* all zlib typedefs in zlib.h and zconf.h */ --# define Byte z_Byte --# define Bytef z_Bytef --# define alloc_func z_alloc_func --# define charf z_charf --# define free_func z_free_func --# ifndef Z_SOLO --# define gzFile z_gzFile --# endif --# define gz_header z_gz_header --# define gz_headerp z_gz_headerp --# define in_func z_in_func --# define intf z_intf --# define out_func z_out_func --# define uInt z_uInt --# define uIntf z_uIntf --# define uLong z_uLong --# define uLongf z_uLongf --# define voidp z_voidp --# define voidpc z_voidpc --# define voidpf z_voidpf -- --/* all zlib structs in zlib.h and zconf.h */ --# define gz_header_s z_gz_header_s --# define internal_state z_internal_state -- --#endif -- --#if defined(__MSDOS__) && !defined(MSDOS) --# define MSDOS --#endif --#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) --# define OS2 --#endif --#if defined(_WINDOWS) && !defined(WINDOWS) --# define WINDOWS --#endif --#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) --# ifndef WIN32 --# define WIN32 --# endif --#endif --#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) --# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) --# ifndef SYS16BIT --# define SYS16BIT --# endif --# endif --#endif -- --/* -- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more -- * than 64k bytes at a time (needed on systems with 16-bit int). -- */ --#ifdef SYS16BIT --# define MAXSEG_64K --#endif --#ifdef MSDOS --# define UNALIGNED_OK --#endif -- --#ifdef __STDC_VERSION__ --# ifndef STDC --# define STDC --# endif --# if __STDC_VERSION__ >= 199901L --# ifndef STDC99 --# define STDC99 --# endif --# endif --#endif --#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) --# define STDC --#endif --#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) --# define STDC --#endif --#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) --# define STDC --#endif --#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) --# define STDC --#endif -- --#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ --# define STDC --#endif -- --#ifndef STDC --# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ --# define const /* note: need a more gentle solution here */ --# endif --#endif -- --#if defined(ZLIB_CONST) && !defined(z_const) --# define z_const const --#else --# define z_const --#endif -- --/* Some Mac compilers merge all .h files incorrectly: */ --#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) --# define NO_DUMMY_DECL --#endif -- --/* Maximum value for memLevel in deflateInit2 */ --#ifndef MAX_MEM_LEVEL --# ifdef MAXSEG_64K --# define MAX_MEM_LEVEL 8 --# else --# define MAX_MEM_LEVEL 9 --# endif --#endif -- --/* Maximum value for windowBits in deflateInit2 and inflateInit2. -- * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files -- * created by gzip. (Files created by minigzip can still be extracted by -- * gzip.) -- */ --#ifndef MAX_WBITS --# define MAX_WBITS 15 /* 32K LZ77 window */ --#endif -- --/* The memory requirements for deflate are (in bytes): -- (1 << (windowBits+2)) + (1 << (memLevel+9)) -- that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) -- plus a few kilobytes for small objects. For example, if you want to reduce -- the default memory requirements from 256K to 128K, compile with -- make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" -- Of course this will generally degrade compression (there's no free lunch). -- -- The memory requirements for inflate are (in bytes) 1 << windowBits -- that is, 32K for windowBits=15 (default value) plus a few kilobytes -- for small objects. --*/ -- -- /* Type declarations */ -- --#ifndef OF /* function prototypes */ --# ifdef STDC --# define OF(args) args --# else --# define OF(args) () --# endif --#endif -- --#ifndef Z_ARG /* function prototypes for stdarg */ --# if defined(STDC) || defined(Z_HAVE_STDARG_H) --# define Z_ARG(args) args --# else --# define Z_ARG(args) () --# endif --#endif -- --/* The following definitions for FAR are needed only for MSDOS mixed -- * model programming (small or medium model with some far allocations). -- * This was tested only with MSC; for other MSDOS compilers you may have -- * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, -- * just define FAR to be empty. -- */ --#ifdef SYS16BIT --# if defined(M_I86SM) || defined(M_I86MM) -- /* MSC small or medium model */ --# define SMALL_MEDIUM --# ifdef _MSC_VER --# define FAR _far --# else --# define FAR far --# endif --# endif --# if (defined(__SMALL__) || defined(__MEDIUM__)) -- /* Turbo C small or medium model */ --# define SMALL_MEDIUM --# ifdef __BORLANDC__ --# define FAR _far --# else --# define FAR far --# endif --# endif --#endif -- --#if defined(WINDOWS) || defined(WIN32) -- /* If building or using zlib as a DLL, define ZLIB_DLL. -- * This is not mandatory, but it offers a little performance increase. -- */ --# ifdef ZLIB_DLL --# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) --# ifdef ZLIB_INTERNAL --# define ZEXTERN extern __declspec(dllexport) --# else --# define ZEXTERN extern __declspec(dllimport) --# endif --# endif --# endif /* ZLIB_DLL */ -- /* If building or using zlib with the WINAPI/WINAPIV calling convention, -- * define ZLIB_WINAPI. -- * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. -- */ --# ifdef ZLIB_WINAPI --# ifdef FAR --# undef FAR --# endif --# include -- /* No need for _export, use ZLIB.DEF instead. */ -- /* For complete Windows compatibility, use WINAPI, not __stdcall. */ --# define ZEXPORT WINAPI --# ifdef WIN32 --# define ZEXPORTVA WINAPIV --# else --# define ZEXPORTVA FAR CDECL --# endif --# endif --#endif -- --#if defined (__BEOS__) --# ifdef ZLIB_DLL --# ifdef ZLIB_INTERNAL --# define ZEXPORT __declspec(dllexport) --# define ZEXPORTVA __declspec(dllexport) --# else --# define ZEXPORT __declspec(dllimport) --# define ZEXPORTVA __declspec(dllimport) --# endif --# endif --#endif -- --#ifndef ZEXTERN --# define ZEXTERN extern --#endif --#ifndef ZEXPORT --# define ZEXPORT --#endif --#ifndef ZEXPORTVA --# define ZEXPORTVA --#endif -- --#ifndef FAR --# define FAR --#endif -- --#if !defined(__MACTYPES__) --typedef unsigned char Byte; /* 8 bits */ --#endif --typedef unsigned int uInt; /* 16 bits or more */ --typedef unsigned long uLong; /* 32 bits or more */ -- --#ifdef SMALL_MEDIUM -- /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ --# define Bytef Byte FAR --#else -- typedef Byte FAR Bytef; --#endif --typedef char FAR charf; --typedef int FAR intf; --typedef uInt FAR uIntf; --typedef uLong FAR uLongf; -- --#ifdef STDC -- typedef void const *voidpc; -- typedef void FAR *voidpf; -- typedef void *voidp; --#else -- typedef Byte const *voidpc; -- typedef Byte FAR *voidpf; -- typedef Byte *voidp; --#endif -- --#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) --# include --# if (UINT_MAX == 0xffffffffUL) --# define Z_U4 unsigned --# elif (ULONG_MAX == 0xffffffffUL) --# define Z_U4 unsigned long --# elif (USHRT_MAX == 0xffffffffUL) --# define Z_U4 unsigned short --# endif --#endif -- --#ifdef Z_U4 -- typedef Z_U4 z_crc_t; --#else -- typedef unsigned long z_crc_t; --#endif -- --#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ --# define Z_HAVE_UNISTD_H --#endif -- --#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ --# define Z_HAVE_STDARG_H --#endif -- --#ifdef STDC --# ifndef Z_SOLO --# include /* for off_t */ --# endif --#endif -- --#if defined(STDC) || defined(Z_HAVE_STDARG_H) --# ifndef Z_SOLO --# include /* for va_list */ --# endif --#endif -- --#ifdef _WIN32 --# ifndef Z_SOLO --# include /* for wchar_t */ --# endif --#endif -- --/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and -- * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even -- * though the former does not conform to the LFS document), but considering -- * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as -- * equivalently requesting no 64-bit operations -- */ --#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 --# undef _LARGEFILE64_SOURCE --#endif -- --#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H) --# define Z_HAVE_UNISTD_H --#endif --#ifndef Z_SOLO --# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE) --# include /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ --# ifdef VMS --# include /* for off_t */ --# endif --# ifndef z_off_t --# define z_off_t off_t --# endif --# endif --#endif -- --#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 --# define Z_LFS64 --#endif -- --#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64) --# define Z_LARGE64 --#endif -- --#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64) --# define Z_WANT64 --#endif -- --#if !defined(SEEK_SET) && !defined(Z_SOLO) --# define SEEK_SET 0 /* Seek from beginning of file. */ --# define SEEK_CUR 1 /* Seek from current position. */ --# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ --#endif -- --#ifndef z_off_t --# define z_off_t long --#endif -- --#if !defined(_WIN32) && defined(Z_LARGE64) --# define z_off64_t off64_t --#else --# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO) --# define z_off64_t __int64 --# else --# define z_off64_t z_off_t --# endif --#endif -- --/* MVS linker does not support external names larger than 8 bytes */ --#if defined(__MVS__) -- #pragma map(deflateInit_,"DEIN") -- #pragma map(deflateInit2_,"DEIN2") -- #pragma map(deflateEnd,"DEEND") -- #pragma map(deflateBound,"DEBND") -- #pragma map(inflateInit_,"ININ") -- #pragma map(inflateInit2_,"ININ2") -- #pragma map(inflateEnd,"INEND") -- #pragma map(inflateSync,"INSY") -- #pragma map(inflateSetDictionary,"INSEDI") -- #pragma map(compressBound,"CMBND") -- #pragma map(inflate_table,"INTABL") -- #pragma map(inflate_fast,"INFA") -- #pragma map(inflate_copyright,"INCOPY") --#endif -- --#endif /* ZCONF_H */ -diff -Nru -x '*~' zlib-1.2.8.orig/zlib.pc.cmake zlib-1.2.8/zlib.pc.cmake ---- zlib-1.2.8.orig/zlib.pc.cmake 1970-01-01 01:00:00.000000000 +0100 -+++ zlib-1.2.8/zlib.pc.cmake 2013-09-01 00:55:16.932065600 +0200 -@@ -0,0 +1,13 @@ -+prefix=@CMAKE_INSTALL_PREFIX@ -+exec_prefix=@CMAKE_INSTALL_PREFIX@ -+libdir=@CMAKE_INSTALL_PREFIX@/lib -+sharedlibdir=@CMAKE_INSTALL_PREFIX@/lib -+includedir=@CMAKE_INSTALL_PREFIX@/include -+ -+Name: zlib -+Description: zlib compression library -+Version: @ZLIB_FULL_VERSION@ -+ -+Requires: -+Libs: -L${libdir} -L${sharedlibdir} -lz -+Cflags: -I${includedir} diff -Nru krita-3.1.4/3rdparty/README.md krita-3.1.4+dfsg/3rdparty/README.md --- krita-3.1.4/3rdparty/README.md 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/3rdparty/README.md 1970-01-01 00:00:00.000000000 +0000 @@ -1,234 +0,0 @@ -= CMake external projects to build krita's dependencies on Linux, Windows or OSX = - -If you need to build Krita's dependencies for the following reasons: - -* you develop on Windows and aren't using Emerge -* you develop on OSX and aren't using Homebrew -* you want to build a generic, distro-agnostic version of Krita for Linux -* you develop on Linux, but some dependencies aren't available for your distribution - -and you know what you're doing, you can use the following guide to build -the dependencies that Krita needs. - -If you develop on Linux and your distribution has the dependencies available, - -YOU DO NOT NEED THIS GUIDE AND YOU SHOULD STOP READING NOW - -Otherwise you risk major confusion. - -== Prerequisites == - -Note: on all operating systems the entire procedure is done in a terminal window. - -1. git: https://git-scm.com/downloads. Make sure git is in your path -2. cmake 3.3.2: https://cmake.org/download/. Make sure cmake is in your path. -3. Make sure you have a compiler: - * Linux: gcc, minimum version 4.8 - * OSX: clang, you need to install xcode for this - * Windows: (http://tdm-gcc.tdragon.net/, version 5.1). MSVC cannot build G'Mic correctly. Remember to install the OpenMP plugin in tdm-gcc. Make sure mingw's bin folder is in your path. -4. If you compile Qt on Windows, you will also need Python: https://www.python.org. Make sure to have python.exe in your path. - -== Setup your environment == - - -== Prepare your directory layout == - -1. Make a toplevel build directory, say $HOME/dev or c:\dev. We'll refer to this directory as BUILDROOT. You can use a variable for this, on WINDOWS %BUILDROOT%, on OSX and Linux $BUILDROOT. You will have to replace BUILDROOT with $BUILDROOT or %BUILDROOT whenever you copy and paste a command, depending on your operating system. - -2. Checkout krita in BUILDROOT - cd BUILDROOT - git clone git://anongit.kde.org/krita.git -3. Create the build directory - mkdir BUILDROOT/b -4. Create the downloads directory - mkdir BUILDROOT/d -5. Create the install directory - mkdir BUILDROOT/i - -== Prepare the externals build == - -1. enter the BUILDROOT/b directory -2. run cmake: - - * Linux: - export PATH=$BUILDROOT/i/bin - cmake ../krita/3rdparty \ - -DINSTALL_ROOT=$BUILDROOT/i \ - -DEXTERNALS_DOWNLOAD_DIR=$BUILDROOT/d \ - -DCMAKE_INSTALL_PREFIX=BUILDROOT/i - - * OSX: - - export PATH=$BUILDROOT/i/bin - cmake ../krita/3rdparty/ \ - -DCMAKE_INSTALL_PREFIX=$BUILDROOT/i \ - -DEXTERNALS_DOWNLOAD_DIR=$BUILDROOT/d \ - -DINSTALL_ROOT=$BUILDROOT/i - - - * Windows 32 bits: - - TODO - - * Windows 64 bits: - -Note that the cmake command needs to point to your BUILDROOT like /dev/d, not c:\dev\d. - - set PATH=BUILDROOT\i\bin\;BUILDROOT\i\lib;%PATH% - cmake ..\krita\3rdparty -DEXTERNALS_DOWNLOAD_DIR=/dev/d -DINSTALL_ROOT=/dev/i -G "MinGW Makefiles" - -3. build the packages: - -With a judicious application of DEPENDS statements, it's possible to build it all in one go, but in my experience that fails always, so it's better to build the dependencies independently. - -On Windows: - - cmake --build . --config RelWithDebInfo --target ext_patch - cmake --build . --config RelWithDebInfo --target ext_png2ico - cmake --build . --config RelWithDebInfo --target ext_gettext - -On all operating systems: - - cmake --build . --config RelWithDebInfo --target ext_qt - cmake --build . --config RelWithDebInfo --target ext_zlib - cmake --build . --config RelWithDebInfo --target ext_boost - - Note about boost: check if the headers are installed into i/include/boost, but not into i/include/boost-1.61/boost - - cmake --build . --config RelWithDebInfo --target ext_eigen3 - cmake --build . --config RelWithDebInfo --target ext_exiv2 - cmake --build . --config RelWithDebInfo --target ext_fftw3 - -On Windows: - - set FFTW_LIB_DIR=%BUILDROOT%\i\lib - dlltool.exe -k --output-lib %FFTW_LIB_DIR%\libfftw3-3.a --input-def %FFTW_LIB_DIR%\libfftw3-3.def - dlltool.exe -k --output-lib %FFTW_LIB_DIR%\libfftw3f-3.a --input-def %FFTW_LIB_DIR%\libfftw3f-3.def - dlltool.exe -k --output-lib %FFTW_LIB_DIR%\libfftw3l-3.a --input-def %FFTW_LIB_DIR%\libfftw3l-3.def - -On all operating systems - - cmake --build . --config RelWithDebInfo --target ext_ilmbase - cmake --build . --config RelWithDebInfo --target ext_jpeg - cmake --build . --config RelWithDebInfo --target ext_lcms2 - cmake --build . --config RelWithDebInfo --target ext_ocio - cmake --build . --config RelWithDebInfo --target ext_openexr - -Note for OSX: - -On OSX, you need to first build openexr; that will fail; then you need to set the rpath for the two utilities correctly, then try to build openexr again. - - install_name_tool -add_rpath $BUILD_ROOT/i/lib $BUILD_ROOT/b/ext_openexr/ext_openexr-prefix/src/ext_openexr-build/IlmImf/./b44ExpLogTable - install_name_tool -add_rpath $BUILD_ROOT/i/lib $BUILD_ROOT/b/ext_openexr/ext_openexr-prefix/src/ext_openexr-build/IlmImf/./dwaLookups - -On All operating systems: - - cmake --build . --config RelWithDebInfo --target ext_png - cmake --build . --config RelWithDebInfo --target ext_tiff - cmake --build . --config RelWithDebInfo --target ext_gsl - cmake --build . --config RelWithDebInfo --target ext_vc - cmake --build . --config RelWithDebInfo --target ext_libraw - -On Windows - - cmake --build . --config RelWithDebInfo --target ext_freetype - cmake --build . --config RelWithDebInfo --target ext_poppler - -On Linux - - cmake --build . --config RelWithDebInfo --target ext_kcrash - -Everywhere else: - - cmake --build . --config RelWithDebInfo --target ext_kwindowsystem - -On Windows, if you want to include DrMingw for dumping backtrace on crash: - - cmake --build . --config RelWithDebInfo --target ext_drmingw - -Note: poppler should be buildable on Linux as well with a home-built freetype -and fontconfig, but I don't know how to make fontconfig find freetype, and on -Linux, fontconfig is needed for poppler. Poppler is needed for PDF import. - -Note 2: libcurl still isn't available. - -Note 3: if you want to build a release, you need to get the binary gettext -archives from files.kde.org/krita/build/dependencies: - - http://files.kde.org/krita/build/dependencies/gettext0.19.8.1-iconv1.14-shared-32.zip - http://files.kde.org/krita/build/dependencies/gettext0.19.8.1-iconv1.14-shared-64.zip - -Take care, these zips contain a libstdc++-6.dll that you don't want in your path when building. - -== Build Krita == - -1. Make a krita build directory: - mkdir BUILDROOT/build -2. Enter the BUILDROOT/build -3. Run - -On Windows - -Depending on what you want to use, run this command for MSBuild: - - cmake ..\krita -G "MinGW Makefiles" -DBoost_DEBUG=OFF -DBOOST_INCLUDEDIR=c:\dev\i\include -DBOOST_DEBUG=ON -DBOOST_ROOT=c:\dev\i -DBOOST_LIBRARYDIR=c:\dev\i\lib -DCMAKE_INSTALL_PREFIX=c:\dev\i -DCMAKE_PREFIX_PATH=c:\dev\i -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTING=OFF -DKDE4_BUILD_TESTS=OFF -DHAVE_MEMORY_LEAK_TRACKER=OFF -Wno-dev -DDEFINE_NO_DEPRECATED=1 - -Or this to use jom (faster compiling, uses all cores, ships with QtCreator/pre-built Qt binaries): - - cmake ..\krita -G "MinGW Makefiles" -DBoost_DEBUG=OFF -DBOOST_INCLUDEDIR=c:\dev\i\include -DBOOST_DEBUG=ON -DBOOST_ROOT=c:\dev\i -DBOOST_LIBRARYDIR=c:\dev\i\lib -DCMAKE_INSTALL_PREFIX=c:\dev\i -DCMAKE_PREFIX_PATH=c:\dev\i -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTING=OFF -DKDE4_BUILD_TESTS=OFF -DHAVE_MEMORY_LEAK_TRACKER=OFF -Wno-dev -DDEFINE_NO_DEPRECATED=1 - -On Linux - - cmake ../krita -DCMAKE_INSTALL_PREFIX=BUILDROOT/i -DDEFINE_NO_DEPRECATED=1 -DBUILD_TESTING=OFF -DKDE4_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfobg - -On OSX - - cmake ../krita -DCMAKE_INSTALL_PREFIX=/Users/boud/dev/i -DDEFINE_NO_DEPRECATED=1 -DBUILD_TESTING=OFF -DKDE4_BUILD_TESTS=OFF -DBUNDLE_INSTALL_DIR=$HOME/dev/i/bin -DCMAKE_BUILD_TYPE=RelWithDebInfo - - -4. Run - -On Linux and OSX - - make - make install - -On Windows - - Either use MSBuild to build (-- /m tells msbuild to use all your cores): - - cmake --build . --config RelWithDebInfo --target INSTALL -- /m - - Or use jom which should be in a path similar to C:\Qt\Qt5.6.0\Tools\QtCreator\bin\jom.exe. - So, from the same folder, instead of running cmake run: - - "C:\Qt\Qt5.6.0\Tools\QtCreator\bin\jom.exe" install - -6. Run krita: - -On Linux - - BUILDROOT/i/bin/krita - -On Windows - - BUILDROOT\i\bin\krita.exe - -On OSX - - BUILDROOT/i/bin/krita.app/Contents/MacOS/krita - -== Packaging a Windows Build == - -If you want to create a stripped down version of Krita to distribute, after building everything just copy the makepkg.bat file from the "windows" folder inside krita root source folder to BUILDROOT and run it. - -That will copy the necessary files into the specified folder and leave behind developer related files, so the resulting folder will be a smaller install folder. - -== Common Issues == - -- On Windows, if you get a 'mspdb140.dll' missing alert window, it means you did not run the bat file. Make sure to include the quotes in the command: - "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat" - -- On Windows, if you get an error about Qt5Core.dll missing/not found or nmake exit with an error that mention QT_PLUGIN_PATH, you have to copy a couple of dlls in the Qt build directory, look for the N.B. in the Qt instructions at the start of the Readme. - -- If you receive an error while compiling about "missing QtCore5.cmake", or something similar, check to make sure qmake is in your PATH. Restart your command line after any changes are made. diff -Nru krita-3.1.4/debian/changelog krita-3.1.4+dfsg/debian/changelog --- krita-3.1.4/debian/changelog 2017-05-27 16:31:34.000000000 +0000 +++ krita-3.1.4+dfsg/debian/changelog 2017-06-18 04:57:06.000000000 +0000 @@ -1,32 +1,18 @@ -krita (1:3.1.4-0ubuntu1) artful; urgency=medium +krita (1:3.1.4+dfsg-1) unstable; urgency=medium - * New upstream release (3.1.4) - - -- Rik Mills Sat, 27 May 2017 17:31:34 +0100 - -krita (1:3.1.3-0ubuntu1) artful; urgency=medium - - * New upstream release (3.1.3) - - -- Rik Mills Mon, 01 May 2017 12:35:44 +0100 - -krita (1:3.1.2.1-0ubuntu1) zesty; urgency=medium - - * New upstream release (3.1.2.1) - * Restore Kubuntu VCS fields - * Build depend on vc-dev on amd64 and i386 where a new enough version - is now available. Recommended by krita developers 'to speed up it's - brush strokes with CPU vector instructions'. - * wrap-and-sort control file - * Build dep on qtmultimedia5-dev for animation audio support. - - -- Rik Mills Thu, 16 Mar 2017 20:29:55 +0000 - -krita (1:3.1.1+dfsg-1build1) zesty; urgency=medium - - * No-change rebuild against latest libraw + * New upstream release. + * Update the build dependencies: + - add qtmultimedia5-dev, for the animation features + - add vc-dev (only on i386 and amd64 architectures), since it is available + in Debian + - bump all the Qt packages to 5.6.0, as required by the upstream build + system + * Drop the -DPACKAGERS_BUILD=ON cmake parameter, as that option is gone. + * Update copyright. + * Record as Built-Using the version of the source of vc-dev used for the + build. - -- Jeremy Bicha Sun, 15 Jan 2017 19:00:58 -0500 + -- Pino Toscano Sun, 18 Jun 2017 06:57:06 +0200 krita (1:3.1.1+dfsg-1) unstable; urgency=medium @@ -48,14 +34,6 @@ -- Pino Toscano Fri, 23 Dec 2016 14:43:45 +0100 -krita (1:3.1.0-0ubuntu1) zesty; urgency=medium - - * Initial packaging for Krita 3 split from calligra - * New upstream release (3.0.1) - * New upstream release (3.1.0) - - -- Clive Johnston Wed, 14 Dec 2016 19:29:22 +0000 - krita (1:3.0.1+dfsg-1) experimental; urgency=low * Initial release. diff -Nru krita-3.1.4/debian/control krita-3.1.4+dfsg/debian/control --- krita-3.1.4/debian/control 2017-05-27 16:31:34.000000000 +0000 +++ krita-3.1.4+dfsg/debian/control 2017-06-17 15:53:11.000000000 +0000 @@ -5,7 +5,6 @@ Uploaders: Pino Toscano Build-Depends: cmake (>= 2.8.12), debhelper (>= 9), - extra-cmake-modules (>= 1.7.0), gettext, libboost-system-dev, libcurl4-gnutls-dev | libcurl-dev, @@ -14,6 +13,25 @@ libfftw3-dev, libgsl-dev, libjpeg-dev, + liblcms2-dev, + libopencolorio-dev, + libopenexr-dev, + libpng-dev, + libpoppler-qt5-dev, + libraw-dev, + libtiff-dev, + libxcb1-dev, + libxcb-util0-dev, + libxi-dev, + pkg-config, + pkg-kde-tools (>= 0.15.16), + vc-dev [any-i386 any-amd64], + zlib1g-dev, + extra-cmake-modules (>= 1.7.0), + qtbase5-dev (>= 5.6.0), + libqt5svg5-dev (>= 5.6.0), + libqt5x11extras5-dev (>= 5.6.0), + qtmultimedia5-dev (>= 5.6.0), libkf5archive-dev (>= 5.7.0), libkf5completion-dev (>= 5.7.0), libkf5config-dev (>= 5.7.0), @@ -26,36 +44,23 @@ libkf5kio-dev (>= 5.7.0), libkf5widgetsaddons-dev (>= 5.7.0), libkf5windowsystem-dev (>= 5.7.0), - liblcms2-dev, - libopencolorio-dev, - libopenexr-dev, - libpng-dev, - libpoppler-qt5-dev, - libqt5svg5-dev (>= 5.4.0), - libqt5x11extras5-dev (>= 5.4.0), - libraw-dev, - libtiff-dev, - libxcb-util0-dev, - libxcb1-dev, - libxi-dev, - pkg-config, - pkg-kde-tools (>= 0.15.16), - qtbase5-dev (>= 5.4.0), - qtmultimedia5-dev, - vc-dev [amd64 i386], - zlib1g-dev Standards-Version: 3.9.8 Homepage: https://krita.org/ -Vcs-Browser: https://code.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/krita -Vcs-Git: https://git.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/krita +Vcs-Git: https://anonscm.debian.org/git/pkg-kde/calligra/krita.git +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-kde/calligra/krita.git Package: krita Architecture: any Section: graphics -Depends: krita-data (>= ${source:Version}), ${misc:Depends}, ${shlibs:Depends} -Suggests: colord, ffmpeg, krita-l10n (>= ${source:Version}) +Depends: krita-data (>= ${source:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Suggests: krita-l10n (>= ${source:Version}), + colord, + ffmpeg, Breaks: krita-data (<< 1:2.4) Replaces: krita-data (<< 1:2.4) +Built-Using: ${vc:Built-Using} Description: pixel-based image manipulation program Krita is a creative application for raster images. Whether you want to create from scratch or work with existing images, Krita is for you. You can work with diff -Nru krita-3.1.4/debian/copyright krita-3.1.4+dfsg/debian/copyright --- krita-3.1.4/debian/copyright 2017-05-27 16:31:34.000000000 +0000 +++ krita-3.1.4+dfsg/debian/copyright 2017-06-17 15:00:27.000000000 +0000 @@ -120,7 +120,7 @@ 2010-2011, Geoffry Song 2010, 2012, 2014-2015, Jarosław Staniek 2010-2012, José Luis Vergara Toloza - 2010-2016, Dmitry Kazakov + 2010-2017, Dmitry Kazakov 2010, Adam Celarek 2010, Ajay Pundhir 2010, Benjamin Port @@ -478,7 +478,7 @@ credit for writing it, in whichever way you find proper and customary. Files: debian/* -Copyright: 2016, Pino Toscano +Copyright: 2016-2017, Pino Toscano License: GPL-2+ License: BSD-2-clause diff -Nru krita-3.1.4/debian/rules krita-3.1.4+dfsg/debian/rules --- krita-3.1.4/debian/rules 2017-05-27 16:31:34.000000000 +0000 +++ krita-3.1.4+dfsg/debian/rules 2017-06-17 16:59:46.000000000 +0000 @@ -5,6 +5,13 @@ export DEB_LDFLAGS_MAINT_APPEND := -Wl,--as-needed +DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) +ifeq ($(DEB_HOST_ARCH_CPU),$(findstring $(DEB_HOST_ARCH_CPU),amd64 i386)) + VC_DEV_VERSION = $(shell dpkg-query -Wf '$${source:Package} (= $${source:Version})' vc-dev) +else + VC_DEV_VERSION = +endif + # conflicts with old calligra-l10n # (mostly copied from l10n-packages.mk in pkg-kde-tools) l10npkgs_firstversion_ok := 1:2.9.11-1~ @@ -18,7 +25,7 @@ dh $@ --parallel --with kf5 override_dh_auto_configure: - dh_auto_configure -Skf5 -- -DPACKAGERS_BUILD=ON -DFOUNDATION_BUILD=OFF -DBUILD_TESTING=OFF + dh_auto_configure -Skf5 -- -DFOUNDATION_BUILD=OFF -DBUILD_TESTING=OFF override_dh_auto_install: dh_auto_install @@ -31,6 +38,7 @@ dh_install --list-missing override_dh_gencontrol: + dh_gencontrol -pkrita -- -Vvc:Built-Using='$(VC_DEV_VERSION)' dh_gencontrol -pkrita-l10n -- -Vkrita:oldLangs='$(l10npkgs_packages_rels)' dh_gencontrol --remaining-packages diff -Nru krita-3.1.4/packaging/language_tarball/create-l10n-symlink krita-3.1.4+dfsg/packaging/language_tarball/create-l10n-symlink --- krita-3.1.4/packaging/language_tarball/create-l10n-symlink 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/language_tarball/create-l10n-symlink 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -#!/bin/sh - -if [ -z $1 ]; then - echo "Usage: $0 NEW_I18N_FILENAME" - exit 1 -fi - - -CURRENT_FILE=~/web/build/krita-3.0-l10n-win-current.tar.gz -NEW_FILE=~/web/build/$1 - -if [ ! -f $NEW_FILE ]; then - echo "File not exists: $NEW_FILE" - exit 2 -fi - -if [ -e $CURRENT_FILE ]; then - rm $CURRENT_FILE -fi - -ln -s $NEW_FILE $CURRENT_FILE - diff -Nru krita-3.1.4/packaging/language_tarball/l10n-gen krita-3.1.4+dfsg/packaging/language_tarball/l10n-gen --- krita-3.1.4/packaging/language_tarball/l10n-gen 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/language_tarball/l10n-gen 1970-01-01 00:00:00.000000000 +0000 @@ -1,173 +0,0 @@ -#!/usr/bin/env python3 - -import sys -import os -import optparse -import subprocess -import re -import requests -import fnmatch -import shutil -import tarfile -import datetime -import subprocess -from tempfile import TemporaryDirectory - -class OptionParser(optparse.OptionParser): - def __init__(self): - super().__init__(self.usage) - - self.add_option('--ppa-testing', action="store_true", dest='ppa_testing') - self.add_option('--ppa-2.9', action="store_true", dest='ppa_2_9') - self.add_option('--win-2.9', action="store_true", dest='win_2_9') - self.add_option('--win-3.0', action="store_true", dest='win_3_0') - - def parse(self): - (self.options, self.args) = self.parse_args() - - usage = '' - - -def get(filename, target, branch, base = 'svn://anonsvn.kde.org/home/kde'): - print('GET: ' + os.path.join(target, filename), end='') - url = os.path.join(base, branch, filename) - - - with TemporaryDirectory() as temp_dir: - error_code = subprocess.call(['svn', 'export', url, temp_dir], - stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) - - if (not error_code): - target_path = os.path.join(target, os.path.dirname(filename)) - target_filename = os.path.join(target, filename) - os.makedirs(target_path, exist_ok=True) - shutil.move(os.path.join(temp_dir, os.path.basename(filename)), target_filename) - print(' [OK]') - else: - print(' [NA]') - #import pdb; pdb.set_trace() - return False - - return True - -def get_translations(target, branch = 'branches/stable/l10n-kde4', build = False): - shutil.rmtree(target) - - if get('subdirs', target, branch): - with open(os.path.join(target, 'subdirs'), 'r') as subdirs_file: - subdirs = subdirs_file.read() - - if target.endswith('win'): - all_languages = 'https://quickgit.kde.org/?o=plain&a=blob&p=kdelibs.git&f=kdecore/localization/all_languages.desktop' - print('GET: ' + all_languages, end='') - req = requests.get(all_languages) - if (req.status_code == 200): - os.makedirs(os.path.join(target, 'locale'), exist_ok=True) - with open(os.path.join(target, 'locale', 'all_languages'), 'wb') as file_all_languages: - file_all_languages.write(req.content) - print(' [OK]') - else: - print(' [NA]') - return False - - languages = [] - if build and target.endswith('win'): - os.makedirs(os.path.join(target, 'locale'), exist_ok=True) - - for lang in subdirs.split('\n'): - if lang in ['', 'x-test']: - continue - - if not get(lang + '/messages/calligra/krita.po', target, branch): - continue - - if build: - if not msgfmt(os.path.join(target, lang, 'messages/calligra/krita.po'), target, lang): - return False - - ## these files are prepared by scripty - # - #po_files = [ 'calligra/desktop_calligra_krita.po', - # 'calligra/krita.appdata.po', - #] - - po_files = [] - - if target.endswith('win'): - ## these files are now installed by the 'ext_*' scripts - # po_files.append('frameworks/desktop_frameworks_kconfig.po') - # po_files.append('frameworks/kconfig5_qt.po') - # po_files.append('frameworks/kwidgetsaddons5_qt.po') - # po_files.append('frameworks/kcompletion5_qt.po') - # po_files.append('frameworks/kcoreaddons5_qt.po') - # po_files.append('frameworks/kitemviews5_qt.po') - # po_files.append('frameworks/kwindowsystem5_qt.po') - # po_files.append('frameworks/kwidgetsaddons5_qt.po') - - if get(os.path.join(lang, 'messages', 'entry.desktop'), target, branch) and build: - os.rename(os.path.join(target, lang, 'messages', 'entry.desktop'), os.path.join(target, 'locale', lang, 'entry.desktop')) - - for po_file in po_files: - if get(os.path.join(lang, 'messages', po_file), target, branch) and build: - if not msgfmt(os.path.join(target, lang, 'messages', po_file), target, lang): - return False - - if build: - shutil.rmtree(os.path.join(target, lang)) - - languages.append(lang) - - if target.endswith('win'): - os.remove(os.path.join(target, 'subdirs')) - if build: - now = datetime.datetime.now() - packagename = '{0}-{1}_{2}_{3}.tar.gz'.format(target, now.year, now.month, now.day) - with tarfile.open(packagename, "w:gz") as tar: - tar.add(os.path.join(target, 'locale'), arcname='locale') - else: - with open(os.path.join(target, 'subdirs'), 'w') as subdirs_file: - subdirs_file.write('\n'.join(languages)) - - else: - print('\nCouldn\'t fetch subdirs. Aborting') - return False - - return True - -def msgfmt(po_filename, target, lang): - mo_filename = os.path.splitext(os.path.basename(po_filename))[0] + '.mo' - mo_dirname = os.path.join(target, 'locale', lang, 'LC_MESSAGES') - print('BLD: ' + os.path.join(mo_dirname, mo_filename), end = '') - os.makedirs(mo_dirname, exist_ok=True) - ret = subprocess.call(['msgfmt','-o', os.path.join(mo_dirname, mo_filename), po_filename]) - if (ret == 0): - os.remove(po_filename) - print(' [OK]') - else: - print(' [FAILED]') - return False - return True - -if __name__ == '__main__': - parser = OptionParser() - parser.parse() - - if len(sys.argv) == 1: - parser.print_help() - sys.exit(0) - - - if parser.options.ppa_testing: - get_translations('krita-testing-l10n') - - elif parser.options.ppa_2_9: - get_translations('krita-2.9-l10n') - - elif parser.options.win_2_9: - get_translations('krita-2.9-l10n-win', build=True) - - elif parser.options.win_3_0: - get_translations('krita-3.0-l10n-win', branch = 'trunk/l10n-kf5', build = True) - - else: - parser.print_help() diff -Nru krita-3.1.4/packaging/linux/appimage/build-deps.sh krita-3.1.4+dfsg/packaging/linux/appimage/build-deps.sh --- krita-3.1.4/packaging/linux/appimage/build-deps.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/linux/appimage/build-deps.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,123 +0,0 @@ -#!/bin/bash - -# Enter a CentOS 6 chroot (you could use other methods) -# git clone https://github.com/probonopd/AppImageKit.git -# ./AppImageKit/build.sh -# sudo ./AppImageKit/AppImageAssistant.AppDir/testappimage /isodevice/boot/iso/CentOS-6.5-x86_64-LiveCD.iso bash - -# Halt on errors -set -e - -# Be verbose -set -x - -# Now we are inside CentOS 6 -grep -r "CentOS release 6" /etc/redhat-release || exit 1 - -# qjsonparser, used to add metadata to the plugins needs to work in a en_US.UTF-8 environment. That's -# not always set correctly in CentOS 6.7 -export LC_ALL=en_US.UTF-8 -export LANG=en_us.UTF-8 - -# Determine which architecture should be built -if [[ "$(arch)" = "i686" || "$(arch)" = "x86_64" ]] ; then - ARCH=$(arch) -else - echo "Architecture could not be determined" - exit 1 -fi - -# if the library path doesn't point to our usr/lib, linking will be broken and we won't find all deps either -export LD_LIBRARY_PATH=/usr/lib64/:/usr/lib:/krita.appdir/usr/lib - -git_pull_rebase_helper() -{ - git reset --hard HEAD - git pull -} - -yum -y install epel-release -# we need to be up to date in order to install the xcb-keysyms dependency -yum -y update -# base dependencies and Qt5. -yum -y install wget tar bzip2 git libtool which fuse fuse-devel libpng-devel automake libtool mesa-libEGL cppunit-devel cmake3 glibc-headers libstdc++-devel gcc-c++ freetype-devel fontconfig-devel libxml2-devel libstdc++-devel libXrender-devel patch xcb-util-keysyms-devel libXi-devel mesa-libGL-devel mesa-libGLU-devel libxcb libxcb-devel xcb-util xcb-util-devel glibc-devel xkeyboard-config - - -# Newer compiler than what comes with CentOS 6 -yum -y install centos-release-scl-rh -yum -y install devtoolset-3-gcc devtoolset-3-gcc-c++ -. /opt/rh/devtoolset-3/enable - -# Make sure we build from the /, parts of this script depends on that. We also need to run as root... -cd / - -# Build AppImageKit -if [ ! -d AppImageKit ] ; then - git clone --depth 1 https://github.com/probonopd/AppImageKit.git /AppImageKit -fi - -cd /AppImageKit/ -git_pull_rebase_helper -git checkout stable/v1.0 -./build.sh -cd / - - -# Workaround for: On CentOS 6, .pc files in /usr/lib/pkgconfig are not recognized -# However, this is where .pc files get installed when bulding libraries... (FIXME) -# I found this by comparing the output of librevenge's "make install" command -# between Ubuntu and CentOS 6 -ln -sf /usr/share/pkgconfig /usr/lib/pkgconfig - - -# A krita build layout looks like this: -# krita/ -- the source directory -# krita/3rdparty -- the cmake3 definitions for the dependencies -# d -- downloads of the dependencies from files.kde.org -# b -- build directory for the dependencies -# krita_build -- build directory for krita itself -# krita.appdir -- install directory for krita and the dependencies - -# Get Krita -if [ ! -d /krita ] ; then - git clone --depth 1 https://github.com/KDE/krita.git /krita -fi - -cd /krita/ -git_pull_rebase_helper - -# Create the build dir for the 3rdparty deps -if [ ! -d /b ] ; then - mkdir /b -fi -if [ ! -d /d ] ; then - mkdir /d -fi - -# start building the deps -cd /b - -rm -rf /b/* || true - -cmake3 /krita/3rdparty \ - -DCMAKE_INSTALL_PREFIX:PATH=/usr \ - -DINSTALL_ROOT=/usr \ - -DEXTERNALS_DOWNLOAD_DIR=/d - -cmake3 --build . --config RelWithDebInfo --target ext_qt -cmake3 --build . --config RelWithDebInfo --target ext_boost -cmake3 --build . --config RelWithDebInfo --target ext_eigen3 -cmake3 --build . --config RelWithDebInfo --target ext_exiv2 -cmake3 --build . --config RelWithDebInfo --target ext_fftw3 -cmake3 --build . --config RelWithDebInfo --target ext_lcms2 -cmake3 --build . --config RelWithDebInfo --target ext_ocio -cmake3 --build . --config RelWithDebInfo --target ext_openexr -cmake3 --build . --config RelWithDebInfo --target ext_vc -#cmake3 --build . --config RelWithDebInfo --target ext_png -cmake3 --build . --config RelWithDebInfo --target ext_tiff -cmake3 --build . --config RelWithDebInfo --target ext_jpeg -cmake3 --build . --config RelWithDebInfo --target ext_libraw -cmake3 --build . --config RelWithDebInfo --target ext_kcrash -cmake3 --build . --config RelWithDebInfo --target ext_poppler -cmake3 --build . --config RelWithDebInfo --target ext_gsl - diff -Nru krita-3.1.4/packaging/linux/appimage/build-image.sh krita-3.1.4+dfsg/packaging/linux/appimage/build-image.sh --- krita-3.1.4/packaging/linux/appimage/build-image.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/linux/appimage/build-image.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,244 +0,0 @@ -#!/bin/bash - -# Enter a CentOS 6 chroot (you could use other methods) -# git clone https://github.com/probonopd/AppImageKit.git -# ./AppImageKit/build.sh -# sudo ./AppImageKit/AppImageAssistant.AppDir/testappimage /isodevice/boot/iso/CentOS-6.5-x86_64-LiveCD.iso bash - -# Halt on errors -set -e - -# Be verbose -set -x - -# Now we are inside CentOS 6 -grep -r "CentOS release 6" /etc/redhat-release || exit 1 - -# If we are running inside Travis CI, then we want to build Krita -# and we remove the $DO_NOT_BUILD_KRITA environment variable -# that was used in the process of generating the Docker image. -# Also we do not want to download and build the dependencies every -# time we build Krita on travis in the docker image. In order to -# use newer dependencies, we re-build the docker image instead. -#unset DO_NOT_BUILD_KRITA -#NO_DOWNLOAD=1 - -# clean up -rm -rf /out/* -rm -rf /krita.appdir - -# qjsonparser, used to add metadata to the plugins needs to work in a en_US.UTF-8 environment. That's -# not always set correctly in CentOS 6.7 -export LC_ALL=en_US.UTF-8 -export LANG=en_us.UTF-8 - -# Determine which architecture should be built -if [[ "$(arch)" = "i686" || "$(arch)" = "x86_64" ]] ; then - ARCH=$(arch) -else - echo "Architecture could not be determined" - exit 1 -fi - -# if the library path doesn't point to our usr/lib, linking will be broken and we won't find all deps either -export LD_LIBRARY_PATH=/usr/lib64/:/usr/lib:/krita.appdir/usr/lib - -cd / - -# Prepare the install location -rm -rf /krita.appdir/ || true -mkdir -p /krita.appdir/usr/bin - -# make sure lib and lib64 are the same thing -mkdir -p /krita.appdir/usr/lib -cd /krita.appdir/usr -ln -s lib lib64 - -cd /krita_build -make -j4 install - -cd /krita.appdir - -# FIXME: How to find out which subset of plugins is really needed? I used strace when running the binary -cp -r /usr/plugins ./usr/bin/ -# copy the Qt translation -cp -r /usr/translations ./usr - -cp $(ldconfig -p | grep libsasl2.so.2 | cut -d ">" -f 2 | xargs) ./usr/lib/ -cp $(ldconfig -p | grep libGL.so.1 | cut -d ">" -f 2 | xargs) ./usr/lib/ # otherwise segfaults!? -cp $(ldconfig -p | grep libGLU.so.1 | cut -d ">" -f 2 | xargs) ./usr/lib/ # otherwise segfaults!? -# Fedora 23 seemed to be missing SOMETHING from the Centos 6.7. The only message was: -# This application failed to start because it could not find or load the Qt platform plugin "xcb". -# Setting export QT_DEBUG_PLUGINS=1 revealed the cause. -# QLibraryPrivate::loadPlugin failed on "/usr/lib64/qt5/plugins/platforms/libqxcb.so" : -# "Cannot load library /usr/lib64/qt5/plugins/platforms/libqxcb.so: (/lib64/libEGL.so.1: undefined symbol: drmGetNodeTypeFromFd)" -# Which means that we have to copy libEGL.so.1 in too -cp $(ldconfig -p | grep libEGL.so.1 | cut -d ">" -f 2 | xargs) ./usr/lib/ # Otherwise F23 cannot load the Qt platform plugin "xcb" -# let's not copy xcb itself, that breaks on dri3 systems https://bugs.kde.org/show_bug.cgi?id=360552 -#cp $(ldconfig -p | grep libxcb.so.1 | cut -d ">" -f 2 | xargs) ./usr/lib/ -cp $(ldconfig -p | grep libfreetype.so.6 | cut -d ">" -f 2 | xargs) ./usr/lib/ # For Fedora 20 - -ldd usr/bin/krita | grep "=>" | awk '{print $3}' | xargs -I '{}' cp -v '{}' ./usr/lib || true -#ldd usr/lib64/krita/*.so | grep "=>" | awk '{print $3}' | xargs -I '{}' cp -v '{}' ./usr/lib || true -#ldd usr/lib64/plugins/imageformats/*.so | grep "=>" | awk '{print $3}' | xargs -I '{}' cp -v '{}' ./usr/lib || true - -ldd usr/bin/plugins/platforms/libqxcb.so | grep "=>" | awk '{print $3}' | xargs -I '{}' cp -v '{}' ./usr/lib || true - -# Copy in the indirect dependencies -FILES=$(find . -type f -executable) - -for FILE in $FILES ; do - ldd "${FILE}" | grep "=>" | awk '{print $3}' | xargs -I '{}' cp -v '{}' usr/lib || true -done - -#DEPS="" -#for FILE in $FILES ; do -# ldd "${FILE}" | grep "=>" | awk '{print $3}' | xargs -I '{}' echo '{}' > DEPSFILE -#done -#DEPS=$(cat DEPSFILE |sort | uniq) -#for FILE in $DEPS ; do -# if [ -f $FILE ] ; then -# echo $FILE -# cp --parents -rfL $FILE ./ -# fi -#done -#rm -f DEPSFILE - - -# The following are assumed to be part of the base system -rm -f usr/lib/libcom_err.so.2 || true -rm -f usr/lib/libcrypt.so.1 || true -rm -f usr/lib/libdl.so.2 || true -rm -f usr/lib/libexpat.so.1 || true -#rm -f usr/lib/libfontconfig.so.1 || true -rm -f usr/lib/libgcc_s.so.1 || true -rm -f usr/lib/libglib-2.0.so.0 || true -rm -f usr/lib/libgpg-error.so.0 || true -rm -f usr/lib/libgssapi_krb5.so.2 || true -rm -f usr/lib/libgssapi.so.3 || true -rm -f usr/lib/libhcrypto.so.4 || true -rm -f usr/lib/libheimbase.so.1 || true -rm -f usr/lib/libheimntlm.so.0 || true -rm -f usr/lib/libhx509.so.5 || true -rm -f usr/lib/libICE.so.6 || true -rm -f usr/lib/libidn.so.11 || true -rm -f usr/lib/libk5crypto.so.3 || true -rm -f usr/lib/libkeyutils.so.1 || true -rm -f usr/lib/libkrb5.so.26 || true -rm -f usr/lib/libkrb5.so.3 || true -rm -f usr/lib/libkrb5support.so.0 || true -# rm -f usr/lib/liblber-2.4.so.2 || true # needed for debian wheezy -# rm -f usr/lib/libldap_r-2.4.so.2 || true # needed for debian wheezy -rm -f usr/lib/libm.so.6 || true -rm -f usr/lib/libp11-kit.so.0 || true -rm -f usr/lib/libpcre.so.3 || true -rm -f usr/lib/libpthread.so.0 || true -rm -f usr/lib/libresolv.so.2 || true -rm -f usr/lib/libroken.so.18 || true -rm -f usr/lib/librt.so.1 || true -rm -f usr/lib/libsasl2.so.2 || true -rm -f usr/lib/libSM.so.6 || true -rm -f usr/lib/libusb-1.0.so.0 || true -rm -f usr/lib/libuuid.so.1 || true -rm -f usr/lib/libwind.so.0 || true -rm -f usr/lib/libfontconfig.so.* || true - -# Remove these libraries, we need to use the system versions; this means 11.04 is not supported (12.04 is our baseline) -rm -f usr/lib/libGL.so.* || true -rm -f usr/lib/libdrm.so.* || true -rm -f usr/lib/libX11.so.* || true -#rm -f usr/lib/libz.so.1 || true - -# These seem to be available on most systems but not Ubuntu 11.04 -# rm -f usr/lib/libffi.so.6 usr/lib/libGL.so.1 usr/lib/libglapi.so.0 usr/lib/libxcb.so.1 usr/lib/libxcb-glx.so.0 || true - -# Delete potentially dangerous libraries -rm -f usr/lib/libstdc* usr/lib/libgobject* usr/lib/libc.so.* || true -rm -f usr/lib/libxcb.so.1 - -# Do NOT delete libX* because otherwise on Ubuntu 11.04: -# loaded library "Xcursor" malloc.c:3096: sYSMALLOc: Assertion (...) Aborted - -# We don't bundle the developer stuff -rm -rf usr/include || true -rm -rf usr/lib/cmake3 || true -rm -rf usr/lib/pkgconfig || true -rm -rf usr/share/ECM/ || true -rm -rf usr/share/gettext || true -rm -rf usr/share/pkgconfig || true - -strip usr/lib/kritaplugins/* usr/bin/* usr/lib/* || true - -# Since we set /krita.appdir as the prefix, we need to patch it away too (FIXME) -# Probably it would be better to use /app as a prefix because it has the same length for all apps -cd usr/ ; find . -type f -exec sed -i -e 's|/krita.appdir/usr/|./././././././././|g' {} \; ; cd .. - -# On openSUSE Qt is picking up the wrong libqxcb.so -# (the one from the system when in fact it should use the bundled one) - is this a Qt bug? -# Also, Krita has a hardcoded /usr which we patch away -cd usr/ ; find . -type f -exec sed -i -e 's|/usr|././|g' {} \; ; cd .. - -# We do not bundle this, so let's not search that inside the AppImage. -# Fixes "Qt: Failed to create XKB context!" and lets us enter text -sed -i -e 's|././/share/X11/|/usr/share/X11/|g' ./usr/bin/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so -sed -i -e 's|././/share/X11/|/usr/share/X11/|g' ./usr/lib/libQt5XcbQpa.so.5 - -# Workaround for: -# D-Bus library appears to be incorrectly set up; -# failed to read machine uuid: Failed to open -# The file is more commonly in /etc/machine-id -# sed -i -e 's|/var/lib/dbus/machine-id|//././././etc/machine-id|g' ./usr/lib/libdbus-1.so.3 -# or -rm -f ./usr/lib/libdbus-1.so.3 || true - -cp ../AppImageKit/AppRun . -cp ./usr/share/applications/org.kde.krita.desktop krita.desktop -cp /krita/krita/pics/app/64-apps-calligrakrita.png calligrakrita.png - -# replace krita with the lib-checking startup script. -#cd /krita.appdir/usr/bin -#mv krita krita.real -#wget https://raw.githubusercontent.com/boudewijnrempt/AppImages/master/recipes/krita/krita -#chmod a+rx krita -cd / - -APP=krita - -# Source functions -wget -q https://github.com/probonopd/AppImages/raw/master/functions.sh -O ./functions.sh -. ./functions.sh - -# Install desktopintegration in usr/bin/krita.wrapper -- feel free to edit it -cd /krita.appdir -get_desktopintegration krita - -cd / - -VER=$(grep "#define KRITA_VERSION_STRING" krita_build/libs/version/kritaversion.h | cut -d '"' -f 2) -cd /krita -REVISION=$(git rev-parse --short HEAD) -cd .. -VERSION=$VER-$REVISION -VERSION="$(sed s/\ /-/g <<<$VERSION)" -echo $VERSION - -if [[ "$ARCH" = "x86_64" ]] ; then - APPIMAGE=$APP"-"$VERSION"-x86_64.appimage" -fi -if [[ "$ARCH" = "i686" ]] ; then - APPIMAGE=$APP"-"$VERSION"-i386.appimage" -fi -echo $APPIMAGE - -mkdir -p /out - -rm -f /out/*.AppImage || true -AppImageKit/AppImageAssistant.AppDir/package /krita.appdir/ /out/$APPIMAGE - -chmod a+rwx /out/$APPIMAGE # So that we can edit the AppImage outside of the Docker container - -cd /krita.appdir -mv AppRun krita -cd / -mv krita.appdir "$APP"-"$VERSION"-x86_64 -tar -czf "$APP"-"$VERSION"-x86_64.tgz "$APP"-"$VERSION"-x86_64 diff -Nru krita-3.1.4/packaging/linux/appimage/build-krita.sh krita-3.1.4+dfsg/packaging/linux/appimage/build-krita.sh --- krita-3.1.4/packaging/linux/appimage/build-krita.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/linux/appimage/build-krita.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,87 +0,0 @@ -#!/bin/bash - -# Enter a CentOS 6 chroot (you could use other methods) -# git clone https://github.com/probonopd/AppImageKit.git -# ./AppImageKit/build.sh -# sudo ./AppImageKit/AppImageAssistant.AppDir/testappimage /isodevice/boot/iso/CentOS-6.5-x86_64-LiveCD.iso bash - -# Halt on errors -set -e - -# Be verbose -set -x - -# Now we are inside CentOS 6 -grep -r "CentOS release 6" /etc/redhat-release || exit 1 - -# qjsonparser, used to add metadata to the plugins needs to work in a en_US.UTF-8 environment. That's -# not always set correctly in CentOS 6.7 -export LC_ALL=en_US.UTF-8 -export LANG=en_us.UTF-8 - -# Determine which architecture should be built -if [[ "$(arch)" = "i686" || "$(arch)" = "x86_64" ]] ; then - ARCH=$(arch) -else - echo "Architecture could not be determined" - exit 1 -fi - -# if the library path doesn't point to our usr/lib, linking will be broken and we won't find all deps either -export LD_LIBRARY_PATH=/usr/lib64/:/usr/lib:/krita.appdir/usr/lib - -git_pull_rebase_helper() -{ - git reset --hard HEAD - git pull -} - -# Use the new compiler -. /opt/rh/devtoolset-3/enable - - -# Workaround for: On CentOS 6, .pc files in /usr/lib/pkgconfig are not recognized -# However, this is where .pc files get installed when bulding libraries... (FIXME) -# I found this by comparing the output of librevenge's "make install" command -# between Ubuntu and CentOS 6 -ln -sf /usr/share/pkgconfig /usr/lib/pkgconfig - - -# A krita build layout looks like this: -# krita/ -- the source directory -# krita/3rdparty -- the cmake3 definitions for the dependencies -# d -- downloads of the dependencies from files.kde.org -# b -- build directory for the dependencies -# krita_build -- build directory for krita itself -# krita.appdir -- install directory for krita and the dependencies - -# Get Krita -if [ ! -d /krita ] ; then - git clone --depth 1 https://github.com/KDE/krita.git /krita -fi - -cd /krita/ -git_pull_rebase_helper - -cd / - -# If the environment variable DO_NOT_BUILD_KRITA is set to something, -# then stop here. This is for docker hub which has a timeout that -# prevents us from building in one go. -# if [ ! -z "$DO_NOT_BUILD_KRITA" ] ; then -# exit 0 -# fi - -mkdir -p /krita_build -cd /krita_build -cmake3 ../krita \ - -DCMAKE_INSTALL_PREFIX:PATH=/krita.appdir/usr \ - -DDEFINE_NO_DEPRECATED=1 \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DBUILD_TESTING=FALSE \ - -DKDE4_BUILD_TESTS=FALSE \ - -DHAVE_MEMORY_LEAK_TRACKER=FALSE - -# build -make -j4 - diff -Nru krita-3.1.4/packaging/linux/appimage/build-release.sh krita-3.1.4+dfsg/packaging/linux/appimage/build-release.sh --- krita-3.1.4/packaging/linux/appimage/build-release.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/linux/appimage/build-release.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,258 +0,0 @@ -#!/bin/bash - -RELEASE=krita-3.0.99.90 - -# Enter a CentOS 6 chroot (you could use other methods) -# git clone https://github.com/probonopd/AppImageKit.git -# ./AppImageKit/build.sh -# sudo ./AppImageKit/AppImageAssistant.AppDir/testappimage /isodevice/boot/iso/CentOS-6.5-x86_64-LiveCD.iso bash - -# Halt on errors -set -e - -# Be verbose -set -x - -# Now we are inside CentOS 6 -grep -r "CentOS release 6" /etc/redhat-release || exit 1 - -# If we are running inside Travis CI, then we want to build Krita -# and we remove the $DO_NOT_BUILD_KRITA environment variable -# that was used in the process of generating the Docker image. -# Also we do not want to download and build the dependencies every -# time we build Krita on travis in the docker image. In order to -# use newer dependencies, we re-build the docker image instead. -#unset DO_NOT_BUILD_KRITA -#NO_DOWNLOAD=1 - -# clean up -rm -rf /out/* -rm -rf /krita.appdir - -# qjsonparser, used to add metadata to the plugins needs to work in a en_US.UTF-8 environment. That's -# not always set correctly in CentOS 6.7 -export LC_ALL=en_US.UTF-8 -export LANG=en_us.UTF-8 - -# Determine which architecture should be built -if [[ "$(arch)" = "i686" || "$(arch)" = "x86_64" ]] ; then - ARCH=$(arch) -else - echo "Architecture could not be determined" - exit 1 -fi - -# if the library path doesn't point to our usr/lib, linking will be broken and we won't find all deps either -export LD_LIBRARY_PATH=/usr/lib64/:/usr/lib:/krita.appdir/usr/lib - -cd / - -# Prepare the install location -rm -rf /krita.appdir/ || true -mkdir -p /krita.appdir/usr/bin - -# make sure lib and lib64 are the same thing -mkdir -p /krita.appdir/usr/lib -cd /krita.appdir/usr -ln -s lib lib64 - -# Use the new compiler -. /opt/rh/devtoolset-3/enable - -# fetch and build krita -cd / -wget http://files.kde.org/krita/3/source/$RELEASE.tar.xz -tar -xf $RELEASE.tar.xz -cd /krita_build -rm -rf * -cmake3 ../$RELEASE \ - -DCMAKE_INSTALL_PREFIX:PATH=/krita.appdir/usr \ - -DDEFINE_NO_DEPRECATED=1 \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DBUILD_TESTING=FALSE \ - -DKDE4_BUILD_TESTS=FALSE \ - -DHAVE_MEMORY_LEAK_TRACKER=FALSE -make -j4 install - -cd /krita.appdir - -# FIXME: How to find out which subset of plugins is really needed? I used strace when running the binary -cp -r /usr/plugins ./usr/bin/ -# copy the Qt translation -cp -r /usr/translations ./usr - -cp $(ldconfig -p | grep libsasl2.so.2 | cut -d ">" -f 2 | xargs) ./usr/lib/ -cp $(ldconfig -p | grep libGL.so.1 | cut -d ">" -f 2 | xargs) ./usr/lib/ # otherwise segfaults!? -cp $(ldconfig -p | grep libGLU.so.1 | cut -d ">" -f 2 | xargs) ./usr/lib/ # otherwise segfaults!? -# Fedora 23 seemed to be missing SOMETHING from the Centos 6.7. The only message was: -# This application failed to start because it could not find or load the Qt platform plugin "xcb". -# Setting export QT_DEBUG_PLUGINS=1 revealed the cause. -# QLibraryPrivate::loadPlugin failed on "/usr/lib64/qt5/plugins/platforms/libqxcb.so" : -# "Cannot load library /usr/lib64/qt5/plugins/platforms/libqxcb.so: (/lib64/libEGL.so.1: undefined symbol: drmGetNodeTypeFromFd)" -# Which means that we have to copy libEGL.so.1 in too -cp $(ldconfig -p | grep libEGL.so.1 | cut -d ">" -f 2 | xargs) ./usr/lib/ # Otherwise F23 cannot load the Qt platform plugin "xcb" -# let's not copy xcb itself, that breaks on dri3 systems https://bugs.kde.org/show_bug.cgi?id=360552 -#cp $(ldconfig -p | grep libxcb.so.1 | cut -d ">" -f 2 | xargs) ./usr/lib/ -cp $(ldconfig -p | grep libfreetype.so.6 | cut -d ">" -f 2 | xargs) ./usr/lib/ # For Fedora 20 - -ldd usr/bin/krita | grep "=>" | awk '{print $3}' | xargs -I '{}' cp -v '{}' ./usr/lib || true -#ldd usr/lib64/krita/*.so | grep "=>" | awk '{print $3}' | xargs -I '{}' cp -v '{}' ./usr/lib || true -#ldd usr/lib64/plugins/imageformats/*.so | grep "=>" | awk '{print $3}' | xargs -I '{}' cp -v '{}' ./usr/lib || true - -ldd usr/bin/plugins/platforms/libqxcb.so | grep "=>" | awk '{print $3}' | xargs -I '{}' cp -v '{}' ./usr/lib || true - -# Copy in the indirect dependencies -FILES=$(find . -type f -executable) - -for FILE in $FILES ; do - ldd "${FILE}" | grep "=>" | awk '{print $3}' | xargs -I '{}' cp -v '{}' usr/lib || true -done - -#DEPS="" -#for FILE in $FILES ; do -# ldd "${FILE}" | grep "=>" | awk '{print $3}' | xargs -I '{}' echo '{}' > DEPSFILE -#done -#DEPS=$(cat DEPSFILE |sort | uniq) -#for FILE in $DEPS ; do -# if [ -f $FILE ] ; then -# echo $FILE -# cp --parents -rfL $FILE ./ -# fi -#done -#rm -f DEPSFILE - - -# The following are assumed to be part of the base system -rm -f usr/lib/libcom_err.so.2 || true -rm -f usr/lib/libcrypt.so.1 || true -rm -f usr/lib/libdl.so.2 || true -rm -f usr/lib/libexpat.so.1 || true -#rm -f usr/lib/libfontconfig.so.1 || true -rm -f usr/lib/libgcc_s.so.1 || true -rm -f usr/lib/libglib-2.0.so.0 || true -rm -f usr/lib/libgpg-error.so.0 || true -rm -f usr/lib/libgssapi_krb5.so.2 || true -rm -f usr/lib/libgssapi.so.3 || true -rm -f usr/lib/libhcrypto.so.4 || true -rm -f usr/lib/libheimbase.so.1 || true -rm -f usr/lib/libheimntlm.so.0 || true -rm -f usr/lib/libhx509.so.5 || true -rm -f usr/lib/libICE.so.6 || true -rm -f usr/lib/libidn.so.11 || true -rm -f usr/lib/libk5crypto.so.3 || true -rm -f usr/lib/libkeyutils.so.1 || true -rm -f usr/lib/libkrb5.so.26 || true -rm -f usr/lib/libkrb5.so.3 || true -rm -f usr/lib/libkrb5support.so.0 || true -# rm -f usr/lib/liblber-2.4.so.2 || true # needed for debian wheezy -# rm -f usr/lib/libldap_r-2.4.so.2 || true # needed for debian wheezy -rm -f usr/lib/libm.so.6 || true -rm -f usr/lib/libp11-kit.so.0 || true -rm -f usr/lib/libpcre.so.3 || true -rm -f usr/lib/libpthread.so.0 || true -rm -f usr/lib/libresolv.so.2 || true -rm -f usr/lib/libroken.so.18 || true -rm -f usr/lib/librt.so.1 || true -rm -f usr/lib/libsasl2.so.2 || true -rm -f usr/lib/libSM.so.6 || true -rm -f usr/lib/libusb-1.0.so.0 || true -rm -f usr/lib/libuuid.so.1 || true -rm -f usr/lib/libwind.so.0 || true -rm -f usr/lib/libfontconfig.so.* || true - -# Remove these libraries, we need to use the system versions; this means 11.04 is not supported (12.04 is our baseline) -rm -f usr/lib/libGL.so.* || true -rm -f usr/lib/libdrm.so.* || true -rm -f usr/lib/libX11.so.* || true -#rm -f usr/lib/libz.so.1 || true - -# These seem to be available on most systems but not Ubuntu 11.04 -# rm -f usr/lib/libffi.so.6 usr/lib/libGL.so.1 usr/lib/libglapi.so.0 usr/lib/libxcb.so.1 usr/lib/libxcb-glx.so.0 || true - -# Delete potentially dangerous libraries -rm -f usr/lib/libstdc* usr/lib/libgobject* usr/lib/libc.so.* || true -rm -f usr/lib/libxcb.so.1 - -# Do NOT delete libX* because otherwise on Ubuntu 11.04: -# loaded library "Xcursor" malloc.c:3096: sYSMALLOc: Assertion (...) Aborted - -# We don't bundle the developer stuff -rm -rf usr/include || true -rm -rf usr/lib/cmake3 || true -rm -rf usr/lib/pkgconfig || true -rm -rf usr/share/ECM/ || true -rm -rf usr/share/gettext || true -rm -rf usr/share/pkgconfig || true - -strip usr/lib/kritaplugins/* usr/bin/* usr/lib/* || true - -# Since we set /krita.appdir as the prefix, we need to patch it away too (FIXME) -# Probably it would be better to use /app as a prefix because it has the same length for all apps -cd usr/ ; find . -type f -exec sed -i -e 's|/krita.appdir/usr/|./././././././././|g' {} \; ; cd .. - -# On openSUSE Qt is picking up the wrong libqxcb.so -# (the one from the system when in fact it should use the bundled one) - is this a Qt bug? -# Also, Krita has a hardcoded /usr which we patch away -cd usr/ ; find . -type f -exec sed -i -e 's|/usr|././|g' {} \; ; cd .. - -# We do not bundle this, so let's not search that inside the AppImage. -# Fixes "Qt: Failed to create XKB context!" and lets us enter text -sed -i -e 's|././/share/X11/|/usr/share/X11/|g' ./usr/bin/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so -sed -i -e 's|././/share/X11/|/usr/share/X11/|g' ./usr/lib/libQt5XcbQpa.so.5 - -# Workaround for: -# D-Bus library appears to be incorrectly set up; -# failed to read machine uuid: Failed to open -# The file is more commonly in /etc/machine-id -# sed -i -e 's|/var/lib/dbus/machine-id|//././././etc/machine-id|g' ./usr/lib/libdbus-1.so.3 -# or -rm -f ./usr/lib/libdbus-1.so.3 || true - -cp ../AppImageKit/AppRun . -cp ./usr/share/applications/org.kde.krita.desktop krita.desktop -cp /krita/krita/pics/app/64-apps-calligrakrita.png calligrakrita.png - -# replace krita with the lib-checking startup script. -#cd /krita.appdir/usr/bin -#mv krita krita.real -#wget https://raw.githubusercontent.com/boudewijnrempt/AppImages/master/recipes/krita/krita -#chmod a+rx krita -cd / - -APP=krita - -# Source functions -wget -q https://github.com/probonopd/AppImages/raw/master/functions.sh -O ./functions.sh -. ./functions.sh - -# Install desktopintegration in usr/bin/krita.wrapper -- feel free to edit it -cd /krita.appdir -get_desktopintegration krita - -cd / - -VER=$(grep "#define KRITA_VERSION_STRING" krita_build/libs/version/kritaversion.h | cut -d '"' -f 2) -VERSION=$VER -VERSION="$(sed s/\ /-/g <<<$VERSION)" -echo $VERSION - -if [[ "$ARCH" = "x86_64" ]] ; then - APPIMAGE=$APP"-"$VERSION"-x86_64.appimage" -fi -if [[ "$ARCH" = "i686" ]] ; then - APPIMAGE=$APP"-"$VERSION"-i386.appimage" -fi -echo $APPIMAGE - -mkdir -p /out - -rm -f /out/*.AppImage || true -AppImageKit/AppImageAssistant.AppDir/package /krita.appdir/ /out/$APPIMAGE - -chmod a+rwx /out/$APPIMAGE # So that we can edit the AppImage outside of the Docker container - -cd /krita.appdir -mv AppRun krita -cd / -mv krita.appdir $APP"-"$VERSION"-x86_64 -tar -czf $APP"-"$VERSION"-x86_64.tgz $APP"-"$VERSION"-x86_64 diff -Nru krita-3.1.4/packaging/linux/appimage/README.txt krita-3.1.4+dfsg/packaging/linux/appimage/README.txt --- krita-3.1.4/packaging/linux/appimage/README.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/linux/appimage/README.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -To compile Krita from Git as an appimage: - - -- Create a fresh CentOS 6.x environment: - - VM: - Install from CentOS-6.8-x86_64-bin-DVD1.iso - yum install git - git clone git://anongit.kde.org/krita.git /krita/ - - Docker: - docker pull centos:6 - cd $HOME/krita/ # assuming "Building Krita 3.0 on Linux for cats" layout - docker run -ti -v $(pwd)/src:/krita centos:6 /bin/bash - - -- Set Git to the right branch, e.g.: - cd /krita/ - git checkout krita/3.0.1 - # Caution: uncommitted changes will be removed during the build - - -- Install the dependencies - cd /krita/packaging/linux/appimage/ - bash build-deps.sh # ~2-3h, 5-6GB - - Notes: - - You can skip this next time your rebuild - - If using a VM, you could make a snapshot at this point - - If using docker, you could `docker commit XXXXXX && docker tag YYYYYY krita-deps` - Then at each build: - docker run -ti -v $(pwd)/src:/krita -v $(pwd)/build:/krita_build -v $(pwd)/out:/out krita-deps /bin/bash - - -- Build Krita: - cd /krita/packaging/linux/appimage/ - bash build-krita.sh # ~1h - - -- Bundle the appimage: - bash build-image.sh # ~15mn - - -Your appimage is ready in /out/krita-3.X.X-yyyyyyy-x86_64.appimage ! diff -Nru krita-3.1.4/packaging/linux/snap/qt5-launch krita-3.1.4+dfsg/packaging/linux/snap/qt5-launch --- krita-3.1.4/packaging/linux/snap/qt5-launch 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/linux/snap/qt5-launch 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ -#!/bin/bash - -if [ "$SNAP_ARCH" == "amd64" ]; then - ARCH='x86_64-linux-gnu' -elif [ "$SNAP_ARCH" == "armhf" ]; then - ARCH="arm-linux-gnueabihf" -else - ARCH="$SNAP_ARCH-linux-gnu" -fi - -export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH:$LD_LIBRARY_PATH - -# XKB config -export XKB_CONFIG_ROOT=$SNAP/usr/share/X11/xkb - -# Mesa Libs -export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH/mesa:$LD_LIBRARY_PATH -export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH/mesa-egl:$LD_LIBRARY_PATH - -# XDG Config -export XDG_CONFIG_DIRS=$SNAP/etc:$XDG_CONFIG_DIRS - -# Note: this doesn't seem to work, QML's LocalStorage either ignores -# or fails to use $SNAP_USER_DATA if defined here -export XDG_DATA_DIRS=$SNAP/usr/share:$XDG_DATA_DIRS - -# Font Config -export FONTCONFIG_PATH=$SNAP/etc/fonts/config.d -export FONTCONFIG_FILE=$SNAP/etc/fonts/fonts.conf - -# Tell libGL where to find the drivers -export LIBGL_DRIVERS_PATH=$SNAP/usr/lib/$ARCH/dri -export LD_LIBRARY_PATH=$LIBGL_DRIVERS_PATH:$LD_LIBRARY_PATH -export LD_LIBRARY_PATH=/var/lib/snapd/lib/gl:$LD_LIBRARY_PATH - -# Necessary for the SDK to find the translations directory -export APP_DIR=$SNAP - -# Set XDG_DATA_HOME to local path, dependent on snap version -export XDG_DATA_HOME=$SNAP_USER_DATA/.local-$SNAP_VERSION/share -export XDG_DATA_DIRS=$XDG_DATA_HOME:$XDG_DATA_DIRS -mkdir -p $XDG_DATA_HOME - -# Set cache folder to local path, dependent on snap version -export XDG_CACHE_HOME=$SNAP_USER_DATA/.cache-$SNAP_VERSION -mkdir -p $XDG_CACHE_HOME - -# Not good, needed for fontconfig and themes -ln -sf $SNAP/usr/share/{fontconfig,fonts,fonts-*,themes} $XDG_DATA_HOME - -# Qt Platform to Mir -export QTCHOOSER_NO_GLOBAL_DIR=1 -export QT_SELECT=snappy-qt5 - -# Qt Libs -export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH/qt5/libs:$LD_LIBRARY_PATH -export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH/pulseaudio:$LD_LIBRARY_PATH - -# Qt Modules -export QT_PLUGIN_PATH=$SNAP/usr/lib/$ARCH/qt5/plugins -export QML2_IMPORT_PATH=$QML2_IMPORT_PATH:$SNAP/usr/lib/$ARCH/qt5/qml -export QML2_IMPORT_PATH=$QML2_IMPORT_PATH:$SNAP/lib/$ARCH - -# Removes Qt warning: Could not find a location -# of the system Compose files -export QTCOMPOSE=$SNAP/usr/share/X11/locale - -export DESKTOP_SESSION=ubuntu -export XDG_SESSION_DESKTOP=ubuntu -export XDG_CURRENT_DESKTOP=kde -export QT_QPA_PLATFORMTHEME=appmenu-qt5 -export QT_XKB_CONFIG_ROOT=/usr/share/X11/xkb - -# ensure that our HW/opengl libs are before the snap specific libs -export LD_LIBRARY_PATH=$SNAP_LIBRARY_PATH:$LD_LIBRARY_PATH - -cd $SNAP -exec "$@" - Binary files /tmp/tmpPcGPys/yXNm9hjHIg/krita-3.1.4/packaging/linux/snap/setup/gui/calligrakrita.png and /tmp/tmpPcGPys/gY5vBIqyy1/krita-3.1.4+dfsg/packaging/linux/snap/setup/gui/calligrakrita.png differ diff -Nru krita-3.1.4/packaging/linux/snap/setup/gui/krita.desktop krita-3.1.4+dfsg/packaging/linux/snap/setup/gui/krita.desktop --- krita-3.1.4/packaging/linux/snap/setup/gui/krita.desktop 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/linux/snap/setup/gui/krita.desktop 1970-01-01 00:00:00.000000000 +0000 @@ -1,125 +0,0 @@ -[Desktop Entry] -Name=Krita -Name[af]=Krita -Name[bg]=Krita -Name[br]=Krita -Name[bs]=Krita -Name[ca]=Krita -Name[ca@valencia]=Krita -Name[cs]=Krita -Name[cy]=Krita -Name[da]=Krita -Name[de]=Krita -Name[el]=Krita -Name[en_GB]=Krita -Name[eo]=Krita -Name[es]=Krita -Name[et]=Krita -Name[eu]=Krita -Name[fi]=Krita -Name[fr]=Krita -Name[fy]=Krita -Name[ga]=Krita -Name[gl]=Krita -Name[he]=Krita -Name[hi]=केरिता -Name[hne]=केरिता -Name[hr]=Krita -Name[hu]=Krita -Name[ia]=Krita -Name[is]=Krita -Name[it]=Krita -Name[ja]=Krita -Name[kk]=Krita -Name[ko]=Krita -Name[lt]=Krita -Name[lv]=Krita -Name[mr]=क्रिटा -Name[ms]=Krita -Name[nb]=Krita -Name[nds]=Krita -Name[ne]=क्रिता -Name[nl]=Krita -Name[pl]=Krita -Name[pt]=Krita -Name[pt_BR]=Krita -Name[ro]=Krita -Name[ru]=Krita -Name[se]=Krita -Name[sk]=Krita -Name[sl]=Krita -Name[sv]=Krita -Name[ta]=கிரிட்டா -Name[tg]=Krita -Name[tr]=Krita -Name[ug]=Krita -Name[uk]=Krita -Name[uz]=Krita -Name[uz@cyrillic]=Krita -Name[wa]=Krita -Name[xh]=Krita -Name[x-test]=xxKritaxx -Name[zh_CN]=Krita -Name[zh_TW]=繪圖_Krita -Exec=krita %U -GenericName=Digital Painting -GenericName[bs]=Digitalno Bojenje -GenericName[ca]=Dibuix digital -GenericName[ca@valencia]=Dibuix digital -GenericName[da]=Digital tegning -GenericName[de]=Digitales Malen -GenericName[el]=Ψηφιακή ζωγραφική -GenericName[en_GB]=Digital Painting -GenericName[es]=Pintura digital -GenericName[et]=Digitaalne joonistamine -GenericName[eu]=Pintura digitala -GenericName[fi]=Digitaalimaalaus -GenericName[fr]=Peinture numérique -GenericName[gl]=Debuxo dixital -GenericName[hu]=Digitális festészet -GenericName[ia]=Pintura Digital -GenericName[it]=Pittura digitale -GenericName[ja]=デジタルペインティング -GenericName[kk]=Цифрлық сурет салу -GenericName[lt]=Skaitmeninis piešimas -GenericName[mr]=डिजिटल पेंटिंग -GenericName[nb]=Digital maling -GenericName[nl]=Digitaal schilderen -GenericName[pl]=Cyfrowe malowanie -GenericName[pt]=Pintura Digital -GenericName[pt_BR]=Pintura digital -GenericName[ru]=Цифровая живопись -GenericName[sk]=Digitálne maľovanie -GenericName[sl]=Digitalno slikanje -GenericName[sv]=Digital målning -GenericName[tr]=Sayısal Boyama -GenericName[ug]=سىفىرلىق رەسىم سىزغۇ -GenericName[uk]=Цифрове малювання -GenericName[x-test]=xxDigital Paintingxx -GenericName[zh_CN]=数字绘画 -MimeType=application/x-krita;image/openraster;application/x-krita-paintoppreset; -Comment=Pixel-based image manipulation program for the Calligra Suite -Comment[ca]=Programa de manipulació d'imatges basades en píxels per a la Suite Calligra -Comment[ca@valencia]=Programa de manipulació d'imatges basades en píxels per a la Suite Calligra -Comment[de]=Pixelbasiertes Bildbearbeitungsprogramm für die Calligra-Suite -Comment[en_GB]=Pixel-based image manipulation program for the Calligra Suite -Comment[es]=Programa de manipulación de imágenes basado en píxeles para la suite Calligra -Comment[et]=Calligra pikslipõhine pilditöötluse rakendus -Comment[it]=Programma di manipolazione delle immagini basato su pixel per Calligra Suite -Comment[nl]=Afbeeldingsbewerkingsprogramma gebaseerd op pixels voor de Calligra Suite -Comment[pl]=Program do obróbki obrazów na poziomie pikseli dla Pakietu Calligra -Comment[pt]='Plugin' de manipulação de imagens em pixels para o Calligra Stage -Comment[ru]=Программа редактирования пиксельной анимации для the Calligra Suite -Comment[sk]=Program na manipuláciu s pixelmi pre Calligra Suite -Comment[sv]=Bildpunktsbaserat bildbehandlingsprogram för Calligra-sviten -Comment[tr]=Calligra Suite için Pixel tabanlı görüntü düzenleme programı -Comment[uk]=Програма для роботи із растровими зображеннями для комплексу програм Calligra -Comment[x-test]=xxPixel-based image manipulation program for the Calligra Suitexx -Comment[zh_CN]=Calligra 套件的位图图像处理程序 -Type=Application -Icon=${SNAP}/meta/gui/calligrakrita.png -Categories=Qt;KDE;Graphics; -X-KDE-NativeMimeType=application/x-krita -X-KDE-ExtraNativeMimeTypes= -StartupNotify=true -X-Krita-Version=28 diff -Nru krita-3.1.4/packaging/linux/snap/snapcraft.yaml krita-3.1.4+dfsg/packaging/linux/snap/snapcraft.yaml --- krita-3.1.4/packaging/linux/snap/snapcraft.yaml 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/linux/snap/snapcraft.yaml 1970-01-01 00:00:00.000000000 +0000 @@ -1,143 +0,0 @@ -name: krita -version: 3.1.1 -summary: Krita is the digital painting studio for artists -description: Krita is a creative application for raster images. Whether you want to create - from scratch or work with existing images, Krita is for you. You can work with - photos or scanned images, or start with a blank slate. Krita supports most - graphics tablets out of the box. - - -apps: - krita: - command: qt5-launch usr/bin/krita - plugs: [x11, unity7, home, opengl, network, network-bind, removable-media] - -parts: - qt: - plugin: nil - stage-packages: - - libqt5concurrent5 - - libqt5core5a - - libqt5dbus5 - - libqt5gui5 - - libqt5network5 - - libqt5printsupport5 - - libqt5svg5 - - libqt5widgets5 - - libqt5x11extras5 - - libqt5xml5 - - kdeframeworks: - plugin: nil - stage-packages: - - libkf5archive5 - - libkf5completion5 - - libkf5configcore5 - - libkf5configgui5 - - libkf5coreaddons5 - - libkf5guiaddons5 - - libkf5i18n5 - - libkf5itemviews5 - - libkf5widgetsaddons5 - - libkf5windowsystem5 - - libkf5crash5 - after: [qt] - - krita: - plugin: cmake -# Using -DKDE_NO_DEBUG_OUTPUT was causing compilation failure for some reason -# configflags: [-DCMAKE_INSTALL_PREFIX=/usr, -DQT_NO_DEBUG=1, -DCMAKE_CXX_FLAGS="-DKDE_NO_DEBUG_OUTPUT"] - configflags: [-DCMAKE_INSTALL_PREFIX=/usr, -DQT_NO_DEBUG=1, -DOVERRIDE_QT_VERSION=TRUE] - #source: http://download.kde.org/stable/krita/3.1.1/krita-3.1.1.tar.gz - source: http://www.valdyas.org/~boud/krita-3.1.1.tar.gz -# Use these instead to build from the git source -# source: git://anongit.kde.org/krita.git -# source-type: git -# source-branch: krita/3.0 - build-packages: - - build-essential - - cmake - - libboost-dev - - libboost-system-dev - - libeigen3-dev - - libexiv2-dev - - libfftw3-dev - - libfontconfig1-dev - - libfreetype6-dev - - libgl1-mesa-dev - - libglew-dev - - libglib2.0-dev - - libglu1-mesa-dev - - libgsf-1-dev - - libgsl-dev - - libjpeg-dev - - liblcms2-dev - - libopenexr-dev - - libpng12-dev - - libpoppler-qt4-dev - - libtiff5-dev - - libvc-dev - - libopencolorio-dev - - libx11-dev - - libxml2-dev - - libxslt1-dev - - libxi-dev - - pkg-config - - pkg-kde-tools - - vc-dev - - zlib1g-dev - - libkdcraw-dev - - shared-mime-info - - libopenimageio-dev - - extra-cmake-modules - - libkf5archive-dev - - libkf5coreaddons-dev - - libkf5guiaddons-dev - - libkf5itemmodels-dev - - libkf5itemviews-dev - - libkf5widgetsaddons-dev - - libkf5i18n-dev - - libkf5windowsystem-dev - - libkf5completion-dev - - libkf5iconthemes-dev - - libkf5kiocore5 - - libqt5svg5-dev - - libqt5x11extras5-dev - - libqt5opengl5-dev - stage-packages: - - libboost-system1.58.0 - - libexiv2-14 - - libfftw3-double3 - - libgomp1 - - libgsl2 - - libilmbase12 - - libjpeg8 - - liblcms2-2 - - libopencolorio1v5 - - libopenexr22 - - libpng12-0 - - libstdc++6 - - libtiff5 - - libx11-6 - - libxcb1 - - libxi6 - - zlib1g - - libraw15 - - libkf5crash5 - - libpoppler-qt5-1 - - curl - after: [qt, kdeframeworks] - - integration: - plugin: nil - stage-packages: - - ttf-ubuntu-font-family - snap: - - usr/share - - -usr/share/doc - - launcher: - plugin: copy - files: - qt5-launch: bin/qt5-launch - diff -Nru krita-3.1.4/packaging/osx/build-deps.sh krita-3.1.4+dfsg/packaging/osx/build-deps.sh --- krita-3.1.4/packaging/osx/build-deps.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/osx/build-deps.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -cmake --build . --config RelWithDebInfo --target ext_boost -cmake --build . --config RelWithDebInfo --target ext_eigen3 -cmake --build . --config RelWithDebInfo --target ext_exiv2 -cmake --build . --config RelWithDebInfo --target ext_fftw3 -cmake --build . --config RelWithDebInfo --target ext_ilmbase -cmake --build . --config RelWithDebInfo --target ext_jpeg -cmake --build . --config RelWithDebInfo --target ext_lcms2 -cmake --build . --config RelWithDebInfo --target ext_ocio -cmake --build . --config RelWithDebInfo --target ext_openexr -install_name_tool -add_rpath /Users/boud/dev/i/lib /Users/boud/dev/b/ext_openexr/ext_openexr-prefix/src/ext_openexr-build/IlmImf/./b44ExpLogTable -install_name_tool -add_rpath /Users/boud/dev/i/lib /Users/boud/dev/b/ext_openexr/ext_openexr-prefix/src/ext_openexr-build/IlmImf/./dwaLookups -cmake --build . --config RelWithDebInfo --target ext_openexr -cmake --build . --config RelWithDebInfo --target ext_png -cmake --build . --config RelWithDebInfo --target ext_tiff -cmake --build . --config RelWithDebInfo --target ext_vc -cmake --build . --config RelWithDebInfo --target ext_libraw -cmake --build . --config RelWithDebInfo --target ext_kwindowsystem -cmake --build . --config RelWithDebInfo --target ext_gsl diff -Nru krita-3.1.4/packaging/osx/configure.sh krita-3.1.4+dfsg/packaging/osx/configure.sh --- krita-3.1.4/packaging/osx/configure.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/osx/configure.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ -#export MACOSX_DEPLOYMENT_TARGET=10.9 -#export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk - -./configure \ - -skip qt3d \ - -skip qtactiveqt \ - -skip qtcanvas3d \ - -skip qtconnectivity \ - -skip qtdeclarative \ - -skip qtdoc \ - -skip qtenginio \ - -skip qtgraphicaleffects \ - -skip qtlocation \ - -skip qtmultimedia \ - -skip qtsensors \ - -skip qtserialport \ - -skip qtwayland \ - -skip qtwebchannel \ - -skip qtwebengine \ - -skip qtwebsockets \ - -skip qtxmlpatterns \ - -opensource -confirm-license -release \ - -no-qml-debug -no-mtdev -no-journald \ - -no-openssl -no-libproxy \ - -no-pulseaudio -no-alsa -no-nis \ - -no-cups -no-tslib -no-pch \ - -no-dbus -no-gstreamer -no-system-proxies \ - -no-openssl -no-libproxy -no-pulseaudio \ - -nomake examples \ - -prefix /Users/boud/dev/i - -# -sdk macosx10.9 \ -# -platform macx-clang-64 \ - diff -Nru krita-3.1.4/packaging/osx/deploy5.sh krita-3.1.4+dfsg/packaging/osx/deploy5.sh --- krita-3.1.4/packaging/osx/deploy5.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/osx/deploy5.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -set -e # stop on errors -set -x # be verbose -/Users/boud/dev/bin/fixrpath.sh -rm -rf ~/dev/krita.app/ -rm -rf ~/dev/krita.dmg -cp -r ~/dev/i/bin/krita.app ~/dev -cp -r ~/dev/i/share/* ~/dev/krita.app/Contents/Resources -cd ~/dev/krita.app/Contents -ln -s Resources share -mkdir -p ~/dev/krita.app/Contents/Library/QuickLook -cp ~/dev/i/lib/plugins/kritaquicklook.qlgenerator ~/dev/krita.app/Contents/Library/QuickLook - -install_name_tool -add_rpath /Users/boud/dev/i/lib ~/dev/krita.app/Contents/MacOS/krita - -~/dev/i/bin/macdeployqt ~/dev/krita.app \ - -verbose=1 \ - -executable=/Users/boud/dev/krita.app/Contents/MacOS/krita \ - -extra-plugins=/Users/boud/dev/i/lib/kritaplugins/ \ - -extra-plugins=/Users/boud/dev/i/lib/plugins/ \ - -extra-plugins=/Users/boud/dev/i/plugins/ - -#install_name_tool -delete_rpath @loader_path/../../../../lib ~/dev/krita.app/Contents/MacOS/krita - diff -Nru krita-3.1.4/packaging/osx/deploy.sh krita-3.1.4+dfsg/packaging/osx/deploy.sh --- krita-3.1.4/packaging/osx/deploy.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/osx/deploy.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -rm -rf ~/dev/krita.app/ -rm -rf ~/dev/krita.dmg -cp -r ~/dev/i/bin/krita.app ~/dev -cp -r ~/dev/i/share ~/dev/krita.app/Contents/ -mkdir -p ~/dev/krita.app/Contents/PlugIns/krita -install_name_tool -add_rpath $HOME/dev/i/lib ~/dev/krita.app/Contents/MacOS/krita -macdeployqt ~/dev/krita.app \ - -verbose=0 \ - -executable=$HOME/dev/krita.app/Contents/MacOS/krita \ - -extra-plugins=$HOME/dev/i/lib/krita/ \ - -extra-plugins=$HOME/dev/i/lib/plugins/ \ - -extra-plugins=$HOME/dev/i/plugins/ -mv ~/dev/krita.app/Contents/PlugIns/*so ~/dev/krita.app/Contents/PlugIns/krita -install_name_tool -delete_rpath @loader_path/../../../../lib ~/dev/krita.app/Contents/MacOS/krita -install_name_tool -delete_rpath $HOME/dev/i/lib ~/dev/krita.app/Contents/MacOS/krita - diff -Nru krita-3.1.4/packaging/osx/fixrpath.sh krita-3.1.4+dfsg/packaging/osx/fixrpath.sh --- krita-3.1.4/packaging/osx/fixrpath.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/osx/fixrpath.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -install_name_tool -change libboost_system.dylib @rpath/libboost_system.dylib /Users/boud/dev/i/bin/krita.app/Contents/MacOS/krita - - -FILES="$(find /Users/boud/dev/i/lib/ -name '*so' -o -name '*dylib')" -for FILE in $FILES ; do - echo $FILE - install_name_tool -change libboost_system.dylib @rpath/libboost_system.dylib $FILE -done diff -Nru krita-3.1.4/packaging/osx/macdeploy-qt.diff krita-3.1.4+dfsg/packaging/osx/macdeploy-qt.diff --- krita-3.1.4/packaging/osx/macdeploy-qt.diff 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/osx/macdeploy-qt.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,127 +0,0 @@ -diff --git a/src/macdeployqt/macdeployqt/main.cpp b/src/macdeployqt/macdeployqt/main.cpp -index 81639f2..a7b28d1 100644 ---- a/src/macdeployqt/macdeployqt/main.cpp -+++ b/src/macdeployqt/macdeployqt/main.cpp -@@ -57,6 +57,7 @@ int main(int argc, char **argv) - qDebug() << " -always-overwrite : Copy files even if the target file exists"; - qDebug() << " -codesign= : Run codesign with the given identity on all executables"; - qDebug() << " -appstore-compliant: Skip deployment of components that use private API"; -+ qDebug() << " -extra-plugins= : Deploy plugins from given extra directory"; - qDebug() << ""; - qDebug() << "macdeployqt takes an application bundle as input and makes it"; - qDebug() << "self-contained by copying in the Qt frameworks and plugins that"; -@@ -96,6 +97,7 @@ int main(int argc, char **argv) - extern bool runCodesign; - extern QString codesignIdentiy; - extern bool appstoreCompliant; -+ QStringList extraPluginDirectories; - - for (int i = 2; i < argc; ++i) { - QByteArray argument = QByteArray(argv[i]); -@@ -151,6 +153,13 @@ int main(int argc, char **argv) - } else if (argument == QByteArray("-appstore-compliant")) { - LogDebug() << "Argument found:" << argument; - appstoreCompliant = true; -+ } else if (argument.startsWith(QByteArray("-extra-plugins"))) { -+ LogDebug() << "Argument found:" << argument; -+ int index = argument.indexOf('='); -+ if (index == -1) -+ LogError() << "Missing extra plugins directory"; -+ else -+ extraPluginDirectories << argument.mid(index+1); - } else if (argument.startsWith("-")) { - LogError() << "Unknown argument" << argument << "\n"; - return 1; -@@ -178,10 +187,13 @@ int main(int argc, char **argv) - deploymentInfo.deployedFrameworks = deploymentInfo.deployedFrameworks.toSet().toList(); - } - -- if (plugins && !deploymentInfo.qtPath.isEmpty()) { -+ if ((plugins && !deploymentInfo.qtPath.isEmpty()) || !extraPluginDirectories.isEmpty()) { - deploymentInfo.pluginPath = deploymentInfo.qtPath + "/plugins"; - LogNormal(); -- deployPlugins(appBundlePath, deploymentInfo, useDebugLibs); -+ if (plugins && !deploymentInfo.qtPath.isEmpty()) -+ deployPlugins(appBundlePath, deploymentInfo, useDebugLibs); -+ if (!extraPluginDirectories.isEmpty()) -+ deployExtraPlugins(appBundlePath, deploymentInfo, useDebugLibs, extraPluginDirectories); - createQtConf(appBundlePath); - } - -diff --git a/src/macdeployqt/shared/shared.cpp b/src/macdeployqt/shared/shared.cpp -index d20b219..4a9aa1f 100644 ---- a/src/macdeployqt/shared/shared.cpp -+++ b/src/macdeployqt/shared/shared.cpp -@@ -1020,6 +1020,43 @@ void deployPlugins(const ApplicationBundleInfo &appBundleInfo, const QString &pl - } - } - -+void deployExtraPlugins(const ApplicationBundleInfo &appBundleInfo, -+ const QString pluginDestinationPath, DeploymentInfo deploymentInfo, bool useDebugLibs, const QStringList &extraPluginDirectories) -+{ -+ foreach (const QString &extraPluginDir, extraPluginDirectories) { -+ LogNormal() << "Deploying plugins from" << extraPluginDir; -+ -+ // search for dylib and so files, both work as plugins on mac os -+ QDir dir(extraPluginDir); -+ dir.setFilter(QDir::Files); -+ dir.setNameFilters(QStringList() << "*.dylib" << "*.so"); -+ QDirIterator dirIterator(dir, QDirIterator::Subdirectories); -+ QStringList pluginList; -+ while (dirIterator.hasNext()) { -+ dirIterator.next(); -+ if (!QFileInfo(dirIterator.filePath()).isFile()) -+ continue; -+ pluginList.append(dir.relativeFilePath(dirIterator.filePath())); -+ } -+ -+ // deploy all found plugins -+ foreach (const QString &plugin, pluginList) { -+ QString sourcePath = extraPluginDir + "/" + plugin; -+ const QString destinationPath = pluginDestinationPath + "/" + extraPluginDir.split("/", QString::SkipEmptyParts).last() + "/" + plugin; -+ QDir dir; -+ dir.mkpath(QFileInfo(destinationPath).path()); -+ -+ if (copyFilePrintStatus(sourcePath, destinationPath)) { -+ runStrip(destinationPath); -+ -+ QList frameworks = getQtFrameworks(destinationPath, appBundleInfo.path, deploymentInfo.rpathsUsed, useDebugLibs); -+ deployQtFrameworks(frameworks, appBundleInfo.path, QStringList() << destinationPath, useDebugLibs, deploymentInfo.useLoaderPath); -+ -+ } -+ } -+ } -+} -+ - void createQtConf(const QString &appBundlePath) - { - // Set Plugins and imports paths. These are relative to App.app/Contents. -@@ -1061,6 +1098,16 @@ void deployPlugins(const QString &appBundlePath, DeploymentInfo deploymentInfo, - deployPlugins(applicationBundle, deploymentInfo.pluginPath, pluginDestinationPath, deploymentInfo, useDebugLibs); - } - -+void deployExtraPlugins(const QString &appBundlePath, DeploymentInfo deploymentInfo, bool useDebugLibs, const QStringList &extraPluginDirectories) -+{ -+ ApplicationBundleInfo applicationBundle; -+ applicationBundle.path = appBundlePath; -+ applicationBundle.binaryPath = findAppBinary(appBundlePath); -+ -+ const QString pluginDestinationPath = appBundlePath + "/" + "Contents/PlugIns"; -+ deployExtraPlugins(applicationBundle, pluginDestinationPath, deploymentInfo, useDebugLibs, extraPluginDirectories); -+} -+ - void deployQmlImport(const QString &appBundlePath, const QSet &rpaths, const QString &importSourcePath, const QString &importName) - { - QString importDestinationPath = appBundlePath + "/Contents/Resources/qml/" + importName; -diff --git a/src/macdeployqt/shared/shared.h b/src/macdeployqt/shared/shared.h -index ea678c2..f10efd3 100644 ---- a/src/macdeployqt/shared/shared.h -+++ b/src/macdeployqt/shared/shared.h -@@ -100,6 +100,7 @@ DeploymentInfo deployQtFrameworks(const QString &appBundlePath, const QStringLis - DeploymentInfo deployQtFrameworks(QList frameworks,const QString &bundlePath, const QStringList &binaryPaths, bool useDebugLibs, bool useLoaderPath); - void createQtConf(const QString &appBundlePath); - void deployPlugins(const QString &appBundlePath, DeploymentInfo deploymentInfo, bool useDebugLibs); -+void deployExtraPlugins(const QString &appBundlePath, DeploymentInfo deploymentInfo, bool useDebugLibs, const QStringList &extraPluginDirectories); - bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInfo, QStringList &qmlDirs); - void changeIdentification(const QString &id, const QString &binaryPath); - void changeInstallName(const QString &oldName, const QString &newName, const QString &binaryPath); diff -Nru krita-3.1.4/packaging/osx/notes.txt krita-3.1.4+dfsg/packaging/osx/notes.txt --- krita-3.1.4/packaging/osx/notes.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/osx/notes.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,50 +0,0 @@ -OSX Build Notes - -Setup: - -~/dev/b: build location for all dependencies (run cmake ../krita/3rdparty in /dev/b) -~/dev/d: download location for all dependencies -~/dev/i: install location for all dependencies -~/dev/build: manual build location -~/dev/krita: source checkout - -deploy.sh: for creating the krita.app bundle - -cmake command to configure krita: - -cmake ../krita \ - -DCMAKE_PREFIX_PATH=$HOME/dev/i \ - -DCMAKE_LIBRARY_PATH=$HOME/dev/i/lib \ - -Wno-dev \ - -DCMAKE_INSTALL_PREFIX=$HOME/dev/i \ - -DBUILD_TESTING=OFF \ - -DDEFINE_NO_DEPRECATED=1 \ - -DBUILD_doc=FALSE \ - -DBUNDLE_INSTALL_DIR=$HOME/dev/i/bin - - -cmake command to configure the ext projects - -cmake ../krita/3rdparty/ -DCMAKE_INSTALL_PREFIX=$HOME/dev/i/ -DEXTERNALS_DOWNLOAD_DIR=$HOME/dev/d/ -DINSTALL_ROOT=$HOME/dev/i/ - -cmake line for qt creator - --DBUILD_TESTING=OFF -DKDE4_BUILD_TESTS=OFF -DDEFINE_NO_DEPRECATED=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=$HOME/dev/i -DCMAKE_INCLUDE_PATH=$HOME/dev/i/include -DQT_QMAKE_EXECUTABLE=$HOME/dev/i/bin/qmake -DCMAKE_PREFIX_PATH=$HOME/dev/i - -rm -rf ~/krita.app/ -rm -rf ~/krita.dmg -cp -r ~/dev/i/bin/krita.app ~ -cp -r ~/dev/i/share ~/krita.app/Contents/ -macdeployqt ~/krita.app \ - -verbose=1 \ - -extra-plugins=$HOME/dev/i/lib/kritaplugins/ \ - -extra-plugins=$HOME/dev/i/lib/kf5/ \ - -extra-plugins=$HOME/dev/i/lib/plugins/ \ - -extra-plugins=$HOME/dev/i/plugins/ \ - -dmg -mkdir ~/krita.app/Contents/PlugIns/kritaplugins -mv ~/krita.app/Contents/PlugIns/*so ~/krita.app/Contents/PlugIns/kritaplugins - -To make open_exr build, manual step after it fails because dwalookups cannot find Half: -install_name_tool -add_rpath /Users/boud/dev/i/lib /Users/boud/dev/b/ext_openexr/ext_openexr-prefix/src/ext_openexr-build/IlmImf/./b44ExpLogTable -install_name_tool -add_rpath /Users/boud/dev/i/lib /Users/boud/dev/b/ext_openexr/ext_openexr-prefix/src/ext_openexr-build/IlmImf/./dwaLookups diff -Nru krita-3.1.4/packaging/osx/run-cmake-3rdparty.sh krita-3.1.4+dfsg/packaging/osx/run-cmake-3rdparty.sh --- krita-3.1.4/packaging/osx/run-cmake-3rdparty.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/osx/run-cmake-3rdparty.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -#export MACOSX_DEPLOYMENT_TARGET=10.7 -#export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -cmake ../krita/3rdparty/ \ - -DCMAKE_INSTALL_PREFIX=/Users/boud/dev/i \ - -DEXTERNALS_DOWNLOAD_DIR=/Users/boud/dev/d \ - -DINSTALL_ROOT=/Users/boud/dev/i - # -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 \ - # -CMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk diff -Nru krita-3.1.4/packaging/osx/run-cmake-krita.sh krita-3.1.4+dfsg/packaging/osx/run-cmake-krita.sh --- krita-3.1.4/packaging/osx/run-cmake-krita.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/osx/run-cmake-krita.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#export MACOSX_DEPLOYMENT_TARGET=10.7 -#export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -cmake ../krita \ - -DCMAKE_INSTALL_PREFIX=/Users/boud/dev/i \ - -DDEFINE_NO_DEPRECATED=1 -DBUILD_TESTING=OFF \ - -DKDE4_BUILD_TESTS=OFF \ - -DBUNDLE_INSTALL_DIR=$HOME/dev/i/bin diff -Nru krita-3.1.4/packaging/windows/build.bat krita-3.1.4+dfsg/packaging/windows/build.bat --- krita-3.1.4/packaging/windows/build.bat 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/build.bat 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ -rem -rem Follow the instructions in 3rdparty/README.md to setup Qt and the -rem build dirs and checkout krita -rem - -set PATH=c:\dev\i\bin\;c:\dev\i\lib;%PATH% -cd c:\dev\b -cmake ..\krita\3rdparty -DEXTERNALS_DOWNLOAD_DIR=/dev/d -DINSTALL_ROOT=/dev/i -G "Visual Studio 14 Win64" -cmake --build . --config RelWithDebInfo --target ext_patch -cmake --build . --config RelWithDebInfo --target ext_png2ico -cmake --build . --config RelWithDebInfo --target ext_pthreads -cmake --build . --config RelWithDebInfo --target ext_boost -cmake --build . --config RelWithDebInfo --target ext_eigen3 -cmake --build . --config RelWithDebInfo --target ext_fftw3 -cmake --build . --config RelWithDebInfo --target ext_ilmbase -cmake --build . --config RelWithDebInfo --target ext_jpeg -cmake --build . --config RelWithDebInfo --target ext_lcms2 -cmake --build . --config RelWithDebInfo --target ext_png -cmake --build . --config RelWithDebInfo --target ext_tiff -cmake --build . --config RelWithDebInfo --target ext_gsl -cmake --build . --config RelWithDebInfo --target ext_vc -cmake --build . --config RelWithDebInfo --target ext_libraw -rem cmake --build . --config RelWithDebInfo --target ext_freetype -cmake --build . --config RelWithDebInfo --target ext_ocio -cmake --build . --config RelWithDebInfo --target ext_openexr -cmake --build . --config RelWithDebInfo --target ext_exiv2 -cmake --build . --config RelWithDebInfo --target ext_kwindowsystem - -REM cmake --build . --config RelWithDebInfo --target ext_poppler -cd c:\dev\build -cmake ..\krita -G"Visual Studio 14 Win64" -DBoost_DEBUG=OFF -DBOOST_INCLUDEDIR=c:\dev\i\include -DBOOST_DEBUG=ON -DBOOST_ROOT=c:\dev\i -DBOOST_LIBRARYDIR=c:\dev\i\lib -DCMAKE_INSTALL_PREFIX=c:\dev\i -DCMAKE_PREFIX_PATH=c:\dev\i -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTING=OFF -DKDE4_BUILD_TESTS=OFF -DHAVE_MEMORY_LEAK_TRACKER=OFF -Wno-dev -DDEFINE_NO_DEPRECATED=1 - -copy c:\dev\i\lib\*.dll c:\dev\i\bin -copy "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\*.dll" c:\dev\i\bin diff -Nru krita-3.1.4/packaging/windows/build_krita.bat krita-3.1.4+dfsg/packaging/windows/build_krita.bat --- krita-3.1.4/packaging/windows/build_krita.bat 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/build_krita.bat 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -set DLLTOOL_EXE=c:\TDM-GCC-64\x86_64-w64-mingw32\bin\dlltool.exe -set MINGW_GCC_BIN=c:\TDM-GCC-64\bin\ -set BUILDROOT=c:\dev -set BUILDDIR_INSTALL=%BUILDROOT%\i -set PATH=c:\dev\i\bin;c:\dev\i\lib;c:\python35;%MINGW_GCC_BIN%;%PATH% -cd c:\dev\build2 - -set /P pkg_root=Insert krita source location: - -if [%pkg_root%] == [] ( -echo You entered an empty name! -pause -exit /B -) - -cmake ..\%pkg_root% -G "MinGW Makefiles" -DBoost_DEBUG=OFF -DBOOST_INCLUDEDIR=c:\dev\i\include -DBOOST_DEBUG=ON -DBOOST_ROOT=c:\dev\i -DBOOST_LIBRARYDIR=c:\dev\i\lib -DCMAKE_INSTALL_PREFIX=c:\dev\i -DCMAKE_PREFIX_PATH=c:\dev\i -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTING=OFF -DKDE4_BUILD_TESTS=OFF -DHAVE_MEMORY_LEAK_TRACKER=OFF -Wno-dev -DDEFINE_NO_DEPRECATED=1 -DFOUNDATION_BUILD=1 - -mingw32-make -j4 install - -cd .. diff -Nru krita-3.1.4/packaging/windows/krita_installer/build_msi.bat krita-3.1.4+dfsg/packaging/windows/krita_installer/build_msi.bat --- krita-3.1.4/packaging/windows/krita_installer/build_msi.bat 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/build_msi.bat 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ -:: Copyright (c) 2011-2012 KO GmbH. All rights reserved. -:: Copyright (c) 2011-2012 Stuart Dickson -:: -:: The use and distribution terms for this software are covered by the -:: Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php) -:: which can be found in the file CPL.TXT at the root of this distribution. -:: By using this software in any fashion, you are agreeing to be bound by -:: the terms of this license. -:: -:: You must not remove this notice, or any other, from this software. -:: ------------------------------------------------------------------------ -:: -:: build_msi.bat -:: -:: - -@echo off -pushd %~dp0 -set PATH=%WIX_BIN%;%PATH% -del "%C2WINSTALL_OUTPUT%\*.wixobj" - -set C2WINSTALL_TEMP_INSTALLER=%C2WINSTALL_OUTPUT%\krita_%C2WINSTALL_VERSION% - -:: call %~dp0run_heat.bat -m:\package\wix36\candle.exe %~dp0HeatFragment.wxs %~dp0krita.wxs %~dp0res\wix_snippets\BundleVC2010x86.wxs %~dp0res\UIExtension\CustomUI_Mondo.wxs %~dp0res\UIExtension\CustomProgressDlg.wxs %~dp0res\UIExtension\CustomWelcomeDlg.wxs %~dp0res\UIExtension\CustomMaintenanceWelcomeDlg.wxs %~dp0res\UIExtension\CustomResumeDlg.wxs -out %C2WINSTALL_OUTPUT%\\ - -echo. -echo Running light... -m:\package\wix36\light.exe -nologo "%C2WINSTALL_OUTPUT%\*.wixobj" -out "%C2WINSTALL_TEMP_INSTALLER%.msi" -ext WixUIExtension -shasum "%C2WINSTALL_TEMP_INSTALLER%.msi" > "%C2WINSTALL_TEMP_INSTALLER%.sh1" -:: Delete intermediate file -:: It is possible for candle to fail without an error and hence -:: we should delete the wixobj file in case light.exe picks up -:: an old version -:: -echo Complete. -echo. -popd diff -Nru krita-3.1.4/packaging/windows/krita_installer/build_msi.ps1 krita-3.1.4+dfsg/packaging/windows/krita_installer/build_msi.ps1 --- krita-3.1.4/packaging/windows/krita_installer/build_msi.ps1 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/build_msi.ps1 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ -# Copyright (c) 2011-2012 KO GmbH. All rights reserved. -# Copyright (c) 2011-2012 Stuart Dickson -# Copyright (c) 2015 Michael Abrahams - - -# The use and distribution terms for this software are covered by the -# Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php) -# which can be found in the file CPL.TXT at the root of this distribution. -# By using this software in any fashion, you are agreeing to be bound by -# the terms of this license. - -# You must not remove this notice, or any other, from this software. -# ------------------------------------------------------------------------ - -# build_msi.bat - - -# TODO: disable UpdateMimeDB and KBuildSycoca in krita.wxs -# TODO: look into xdg and etc directories to see what's needed - -# Clean up from last time. -del "$env:KRITA_OUTPUT\*.wixobj" - -$KRITA_INSTALLER_FILENAME="$env:KRITA_OUTPUT\krita_$env:KRITA_VERSION" - -# Collects contents of $KRITA_INPUT. "KRITADIR" is a tag for the installation directory used inside the wxs file -echo "Locating files..." -."$env:KRITA_WIX_BIN\heat.exe" dir "$env:KRITA_INPUT" -cg CalligraBaseFiles -gg -scom -sreg -sfrag -srd -dr KRITADIR -var env.KRITA_INPUT -out "HeatFragment.wxs" - - -# Configures installation instructions & metadata. x64 only, for now. This uses -# the XML configuration files contained in in res\, and bakes in paths using -# res\package\env.bat - -# This uses x64 architecture. -# To make it work for 32 bits, I believe you want to change these things: -# -Remove "-arch x64" and change "ProgramFiles64Folder" - -$KRITA_ARCH = "x64" - -echo "Building metadata..." -."$env:KRITA_WIX_BIN\candle.exe" -arch x64 ` - HeatFragment.wxs krita.wxs ` - res\wix_snippets\BundleVC2015x64.wxs ` - res\UIExtension\CustomUI_Mondo.wxs ` - res\UIExtension\CustomProgressDlg.wxs ` - res\UIExtension\CustomWelcomeDlg.wxs ` - res\UIExtension\CustomMaintenanceWelcomeDlg.wxs ` - res\UIExtension\CustomResumeDlg.wxs -out $env:KRITA_OUTPUT\\ - - -echo "Creating executable..." -."$env:KRITA_WIX_BIN\light.exe" -nologo "$env:KRITA_OUTPUT\*.wixobj" ` - -out "$KRITA_INSTALLER_FILENAME.msi" -ext WixUIExtension - - -Get-FileHash -Algorithm SHA1 "$KRITA_INSTALLER_FILENAME.msi" > "$KRITA_INSTALLER_FILENAME.sha1" - - -echo "Complete." diff -Nru krita-3.1.4/packaging/windows/krita_installer/CPL.TXT krita-3.1.4+dfsg/packaging/windows/krita_installer/CPL.TXT --- krita-3.1.4/packaging/windows/krita_installer/CPL.TXT 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/CPL.TXT 1970-01-01 00:00:00.000000000 +0000 @@ -1,94 +0,0 @@ -Common Public License Version 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - -c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. diff -Nru krita-3.1.4/packaging/windows/krita_installer/env.bat krita-3.1.4+dfsg/packaging/windows/krita_installer/env.bat --- krita-3.1.4/packaging/windows/krita_installer/env.bat 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/env.bat 1970-01-01 00:00:00.000000000 +0000 @@ -1,100 +0,0 @@ -:: Copyright (c) 2011-2012 KO GmbH. All rights reserved. -:: Copyright (c) 2011-2012 Stuart Dickson -:: -:: The use and distribution terms for this software are covered by the -:: Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php) -:: which can be found in the file CPL.TXT at the root of this distribution. -:: By using this software in any fashion, you are agreeing to be bound by -:: the terms of this license. -:: -:: You must not remove this notice, or any other, from this software. -:: ------------------------------------------------------------------------ -:: -:: C2W Installer -:: Environment settings -:: -:: This file checks for the presence of environment variables -:: and sets default values if they do not exist. -:: -:: wix process -:: ----------- -:: C2WINSTALL_WIX_BIN - location of the Wix binaries -:: C2WINSTALL_OUTPUT - destination for generated installers -:: C2WINSTALL_INPUT - source directory of packaged KDEROOT+CALLIGRA_INST -:: C2WINSTALL_MERGEMODS - directory where we should look for Merge Modules -:: -:: package process -:: --------------- -:: CALLIGRA_INST - the Calligra installation directory -:: KDEROOT - the root of the KDE on Windows emerge based distribution -:: -:: Build options (defined elsewhere) -:: --------------------------------- -:: C2WINSTALL_VC2010_DISTRIBUTE: -:: DLL - bundle DLLs -:: MSM - use Merge Modules -:: - display error message -:: -:: ...USE_DLL has priority, if neither are defined, an error is displayed -:: -:: ----------------------------------------------------------------------- -:: -set C2WINSTALL_GITREV=last -set C2WINSTALL_VERSION=2.6.8.0 -set C2WINSTALL_VERSIONSTRING="2.6.8.0" -set CALLIGRA_INST=u: -set KDEROOT=u: -set C2WINSTALL_VC2010_DISTRIBUTE=MSM - -IF "%C2WINSTALL_VERSION%"=="" ( - :: We must define this, if it hasn't already been - echo WARNING: You should set C2WINSTALL_VERSION - set C2WINSTALL_VERSION=0.0.0.0 -) - -IF "%C2WINSTALL_GITREV%"=="" ( - :: We must define this, if it hasn't already been - echo WARNING: You should set C2WINSTALL_GITREV - set C2WINSTALL_GITREV=last -) - -IF "%C2WINSTALL_VC2010_DISTRIBUTE%"=="" ( - :: If no distribute set, then need to set to - :: something in order to display warning dialog. - set C2WINSTALL_VC2010_DISTRIBUTE=ERROR -) - -IF "%C2WINSTALL_WIX_BIN%"=="" ( - set C2WINSTALL_WIX_BIN=%~dp0..\wix36 -) - -IF "%C2WINSTALL_MERGEMODULES%"=="" ( - set C2WINSTALL_MERGEMODULES=%~dp0..\deps -) - -IF "%C2WINSTALL_VC2010_DLLS%"=="" ( - set C2WINSTALL_VC2010_DLLS=%~dp0..\deps\vcredist\DLLs\Microsoft.VC100.CRT -) - -IF "%C2WINSTALL_TEMP%"=="" ( - set C2WINSTALL_TEMP=%~dp0..\c2winstaller-temp -) - -IF "%C2WINSTALL_INPUT%"=="" ( - set C2WINSTALL_INPUT=%~dp0..\c2winstaller-input -) - -IF "%C2WINSTALL_OUTPUT%"=="" ( - set C2WINSTALL_OUTPUT=%~dp0..\c2winstaller-output -) - -IF "%CALLIGRA_INST%"=="" ( - set CALLIGRA_INST=%~dp0..\kde4\inst -) - -IF "%KDEROOT%"=="" ( - set KDEROOT=%~dp0..\kderoot -) - -SET PATH=%C2WINSTALL_WIX_BIN%;%PATH% - diff -Nru krita-3.1.4/packaging/windows/krita_installer/env.ps1 krita-3.1.4+dfsg/packaging/windows/krita_installer/env.ps1 --- krita-3.1.4/packaging/windows/krita_installer/env.ps1 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/env.ps1 1970-01-01 00:00:00.000000000 +0000 @@ -1,100 +0,0 @@ -# Copyright (c) 2011-2012 KO GmbH. All rights reserved. -# Copyright (c) 2011-2012 Stuart Dickson -# Copyright (c) 2015 Michael Abrahams -# -# The use and distribution terms for this software are covered by the -# Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php) -# which can be found in the file CPL.TXT at the root of this distribution. -# By using this software in any fashion, you are agreeing to be bound by -# the terms of this license. -# -# You must not remove this notice, or any other, from this software. -# ------------------------------------------------------------------------ -# -# Krita Windows Installer -# Environment settings -# -# This file checks for the presence of environment variables -# and sets default values if they do not exist. -# -# See README.txt for more details. -# -# wix process -# ----------- -# KRITA_WIX_BIN - location of the Wix binaries -# KRITA_OUTPUT - destination for generated installers -# KRITA_INPUT - source directory of packaged KDEROOT+CALLIGRA_INST -# KRITA_MERGEMODS - directory where we should look for Merge Modules -# -# package process -# --------------- -# CALLIGRA_INST - the Krita installation directory (TODO: rename) -# KDEROOT - the root of the KDE on Windows emerge based distribution -# -# Build options (defined elsewhere) -# --------------------------------- -# -# ...USE_DLL has priority, if neither are defined, an error is displayed -# -# ----------------------------------------------------------------------- -# - -# WIX reads environment variables, but PowerShell variables are local by -# default, so we have to prefix all variables with $env: -$env:KRITA_VERSION="3.0.0.1" -$env:KRITA_VERSIONSTRING="3.0.0.1" # This could be set to a cute name if you wanted. -$env:KRITA_GITREV="last" - - -## Base installation directories -$env:KDEROOT="r:" -$env:CALLIGRA_INST="r:" -$PACKAGER_ROOT="r:\inst" # Working directory for package.ps1 (script-local) -$env:KRITA_WIX_BIN="r:\inst\wix310" # Location of WIX binaries - - - -# Method of distributing MSVC 2015 -# DLL - bundle DLLs -# MSM - use Merge Modules -# - error -$env:KRITA_VC2015_DISTRIBUTE="MSM" - -# See MSDN: "Redistributing Components By Using Merge Modules" -# https://msdn.microsoft.com/en-us/library/ms235290.aspx -$env:KRITA_MERGEMODULES="C:\Program Files (x86)\Common Files\Merge Modules" - - -function warn-unset($v) { - # Use this function only when there is no acceptable default. - $val = (Get-Variable $v).value - iex "echo ""Warning: variable $v was not set. Please check your configuration." - Exit -} - -if ($env:CALLIGRA_INST -eq $null) { - warn-unset "CALLIGRA_INST" -} - -if ($env:KDEROOT -eq $null) { - warn-unset "$env:KDEROOT" -} - -if ($env:KRITA_VERSION -eq $null) { - warn-unset "KRITA_VERSION" - Exit -} - -if ($env:KRITA_GITREV -eq $null) { - warn-unset "KRITA_GITREV" -} - - -$env:KRITA_VC2015_DLLS="$PWD\..\deps\vcredist\DLLs\Microsoft.VC140.CRT" -$env:KRITA_TEMP="$PACKAGER_ROOT\installer-temp" -$env:KRITA_INPUT="$PACKAGER_ROOT\installer-input" -$env:KRITA_OUTPUT="$PACKAGER_ROOT\installer-output" - - - -# set $env:Path "$($env:Path);$KRITA_WIX_BIN" diff -Nru krita-3.1.4/packaging/windows/krita_installer/krita-files.json krita-3.1.4+dfsg/packaging/windows/krita_installer/krita-files.json --- krita-3.1.4/packaging/windows/krita_installer/krita-files.json 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/krita-files.json 1970-01-01 00:00:00.000000000 +0000 @@ -1,345 +0,0 @@ -{"InstallationInfo" : [ - - { - "dir": "lib\\plugins", - "msg": "Copying plugins", - "comment": "Hmm", - "files": [ - "lib\\plugins\\kritathumbnail.dll", - "lib\\plugins\\kstyle_oxygen_config.dll" - ] - }, - - { - "dir": "lib\\plugins\\imageformats", - "msg": "Copying image format plugins", - "files": [ - "lib\\plugins\\imageformats\\kimg_kra.dll", - "lib\\plugins\\imageformats\\kimg_ora.dll" - ] - }, - - { - "dir": "lib\\kritaplugins", - "msg": "Copying lib\\kritaplugins", - "comment": "Double check these, this list was compiled without all modules built.", - "files": [ - "lib\\kritaplugins\\calligra_tool_basicflakes.dll", - "lib\\kritaplugins\\kritaanimationdocker.dll", - "lib\\kritaplugins\\kritaartisticcolorselector.dll", - "lib\\kritaplugins\\kritabigbrother.dll", - "lib\\kritaplugins\\kritablurfilter.dll", - "lib\\kritaplugins\\kritabmpexport.dll", - "lib\\kritaplugins\\kritabmpimport.dll", - "lib\\kritaplugins\\kritachalkpaintop.dll", - "lib\\kritaplugins\\kritachanneldocker.dll", - "lib\\kritaplugins\\kritaclonesarray.dll", - "lib\\kritaplugins\\kritacolorgenerator.dll", - "lib\\kritaplugins\\kritacolorrange.dll", - "lib\\kritaplugins\\kritacolorselectorng.dll", - "lib\\kritaplugins\\kritacolorsfilters.dll", - "lib\\kritaplugins\\kritacolorslider.dll", - "lib\\kritaplugins\\kritacolorsmudgepaintop.dll", - "lib\\kritaplugins\\kritacolorspaceconversion.dll", - "lib\\kritaplugins\\kritacompositiondocker.dll", - "lib\\kritaplugins\\kritaconvolutionfilters.dll", - "lib\\kritaplugins\\kritacurvepaintop.dll", - "lib\\kritaplugins\\kritadefaultdockers.dll", - "lib\\kritaplugins\\kritadefaultpaintops.dll", - "lib\\kritaplugins\\kritadefaulttools.dll", - "lib\\kritaplugins\\kritadeformpaintop.dll", - "lib\\kritaplugins\\kritadigitalmixer.dll", - "lib\\kritaplugins\\kritadodgeburn.dll", - "lib\\kritaplugins\\kritadynapaintop.dll", - "lib\\kritaplugins\\kritaembossfilter.dll", - "lib\\kritaplugins\\kritaexample.dll", - "lib\\kritaplugins\\kritaexperimentpaintop.dll", - "lib\\kritaplugins\\kritaextensioncolorsfilters.dll", - "lib\\kritaplugins\\kritafastcolortransferfilter.dll", - "lib\\kritaplugins\\kritafilterop.dll", - "lib\\kritaplugins\\kritagridpaintop.dll", - "lib\\kritaplugins\\kritahairypaintop.dll", - "lib\\kritaplugins\\kritahatchingpaintop.dll", - "lib\\kritaplugins\\kritaheightmapexport.dll", - "lib\\kritaplugins\\kritaheightmapimport.dll", - "lib\\kritaplugins\\kritahistogram.dll", - "lib\\kritaplugins\\kritahistorydocker.dll", - "lib\\kritaplugins\\kritaimagedocker.dll", - "lib\\kritaplugins\\kritaimageenhancement.dll", - "lib\\kritaplugins\\kritaimagesize.dll", - "lib\\kritaplugins\\kritaimagesplit.dll", - "lib\\kritaplugins\\kritaindexcolors.dll", - "lib\\kritaplugins\\kritajpegexport.dll", - "lib\\kritaplugins\\kritajpegimport.dll", - "lib\\kritaplugins\\kritalayergroupswitcher.dll", - "lib\\kritaplugins\\kritalayersplit.dll", - "lib\\kritaplugins\\kritalcmsengine.dll", - "lib\\kritaplugins\\kritalevelfilter.dll", - "lib\\kritaplugins\\kritametadataeditor.dll", - "lib\\kritaplugins\\kritamodifyselection.dll", - "lib\\kritaplugins\\kritanoisefilter.dll", - "lib\\kritaplugins\\kritanormalize.dll", - "lib\\kritaplugins\\kritaodgimport.dll", - "lib\\kritaplugins\\kritaoffsetimage.dll", - "lib\\kritaplugins\\kritaoilpaintfilter.dll", - "lib\\kritaplugins\\kritaoraexport.dll", - "lib\\kritaplugins\\kritaoraimport.dll", - "lib\\kritaplugins\\kritaoverviewdocker.dll", - "lib\\kritaplugins\\kritapalettedocker.dll", - "lib\\kritaplugins\\kritaparticlepaintop.dll", - "lib\\kritaplugins\\kritapatterndocker.dll", - "lib\\kritaplugins\\kritapatterngenerator.dll", - "lib\\kritaplugins\\kritaphongbumpmap.dll", - "lib\\kritaplugins\\kritapixelizefilter.dll", - "lib\\kritaplugins\\kritapngexport.dll", - "lib\\kritaplugins\\kritapngimport.dll", - "lib\\kritaplugins\\kritaposterize.dll", - "lib\\kritaplugins\\kritappmexport.dll", - "lib\\kritaplugins\\kritappmimport.dll", - "lib\\kritaplugins\\kritapresetdocker.dll", - "lib\\kritaplugins\\kritapresethistory.dll", - "lib\\kritaplugins\\kritapsdexport.dll", - "lib\\kritaplugins\\kritapsdimport.dll", - "lib\\kritaplugins\\kritaqmlexport.dll", - "lib\\kritaplugins\\kritaraindropsfilter.dll", - "lib\\kritaplugins\\kritarandompickfilter.dll", - "lib\\kritaplugins\\kritaresourcemanager.dll", - "lib\\kritaplugins\\kritarotateimage.dll", - "lib\\kritaplugins\\kritaroundcornersfilter.dll", - "lib\\kritaplugins\\kritarulerassistanttool.dll", - "lib\\kritaplugins\\kritaselectiontools.dll", - "lib\\kritaplugins\\kritaseparatechannels.dll", - "lib\\kritaplugins\\kritashearimage.dll", - "lib\\kritaplugins\\kritasketchpaintop.dll", - "lib\\kritaplugins\\kritasmallcolorselector.dll", - "lib\\kritaplugins\\kritasmalltilesfilter.dll", - "lib\\kritaplugins\\kritasobelfilter.dll", - "lib\\kritaplugins\\kritaspecificcolorselector.dll", - "lib\\kritaplugins\\kritaspraypaintop.dll", - "lib\\kritaplugins\\kritatangentnormalpaintop.dll", - "lib\\kritaplugins\\kritatasksetdocker.dll", - "lib\\kritaplugins\\kritatgaexport.dll", - "lib\\kritaplugins\\kritatgaimport.dll", - "lib\\kritaplugins\\kritatiffexport.dll", - "lib\\kritaplugins\\kritatiffimport.dll", - "lib\\kritaplugins\\kritatoolcrop.dll", - "lib\\kritaplugins\\kritatooldyna.dll", - "lib\\kritaplugins\\kritatoolgrid.dll", - "lib\\kritaplugins\\kritatoolperspectivegrid.dll", - "lib\\kritaplugins\\kritatoolpolygon.dll", - "lib\\kritaplugins\\kritatoolpolyline.dll", - "lib\\kritaplugins\\kritatooltext.dll", - "lib\\kritaplugins\\kritatooltransform.dll", - "lib\\kritaplugins\\kritaunsharpfilter.dll", - "lib\\kritaplugins\\kritawavefilter.dll", - "lib\\kritaplugins\\kritaxcfimport.dll", - "lib\\kritaplugins\\krita_colorspaces_extensions.dll", - "lib\\kritaplugins\\krita_docker_defaults.dll", - "lib\\kritaplugins\\krita_filtereffects.dll", - "lib\\kritaplugins\\krita_flaketools.dll", - "lib\\kritaplugins\\krita_karbontools.dll", - "lib\\kritaplugins\\krita_shape_artistictext.dll", - "lib\\kritaplugins\\krita_shape_paths.dll", - "lib\\kritaplugins\\krita_shape_text.dll", - "lib\\kritaplugins\\krita_shape_vector.dll" - ] - - }, - - { - "dir" : "lib\\plugins\\styles", - "files" : [ - "lib\\plugins\\styles\\oxygen.dll", - "lib\\plugins\\styles\\breeze.dll" - ] - }, - - - - - { - "msg" : "Copying Shared Libraries", - "dir" : "bin\\", - "files" : ["bin\\boost_system-vc150-mt-1_59.dll", - "bin\\dbus-1.dll", - "bin\\exiv2.dll", - "bin\\expat.dll", - "bin\\iconv.dll", - "bin\\icudt55.dll", - "bin\\icuin55.dll", - "bin\\icuuc55.dll", - "bin\\lcms2.dll", - "bin\\libeay32.dll", - "bin\\libintl.dll", - "bin\\libpng15.dll", - "bin\\lzma.dll", - "bin\\oxygenstyle5.dll", - "bin\\oxygenstyleconfig5.dll", - "bin\\ssleay32.dll", - "bin\\tiff3.dll", - "bin\\zlib.dll" - ] - }, - - { - "msg" : "Copying Qt and KDE Libraries", - "dir" : "bin\\", - "files" : ["bin\\KF5Archive.dll", - "bin\\KF5Completion.dll", - "bin\\KF5ConfigCore.dll", - "bin\\KF5ConfigGui.dll", - "bin\\KF5CoreAddons.dll", - "bin\\KF5DbusAddons.dll", - "bin\\KF5Crash.dll", - "bin\\KF5GuiAddons.dll", - "bin\\KF5I18n.dll", - "bin\\KF5ItemModels.dll", - "bin\\KF5ItemViews.dll", - "bin\\KF5KIOCore.dll", - "bin\\KF5Service.dll", - "bin\\KF5WidgetsAddons.dll", - "bin\\KF5WindowSystem.dll", - "bin\\Qt5Concurrent.dll", - "bin\\Qt5Core.dll", - "bin\\Qt5DBus.dll", - "bin\\Qt5Gui.dll", - "bin\\Qt5Network.dll", - "bin\\Qt5OpenGL.dll", - "bin\\Qt5PrintSupport.dll", - "bin\\Qt5Svg.dll", - "bin\\Qt5Widgets.dll", - "bin\\Qt5WinExtras.dll", - "bin\\Qt5Xml.dll" - ] - }, - - { - "msg" : "Copying Krita Libraries", - "dir" : "bin\\", - "files" : ["bin\\kritabasicflakes.dll", - "bin\\kritacolor.dll", - "bin\\kritaflake.dll", - "bin\\kritaglobal.dll", - "bin\\kritaimage.dll", - "bin\\kritalibbrush.dll", - "bin\\kritalibpaintop.dll", - "bin\\kritaodf.dll", - "bin\\kritapigment.dll", - "bin\\kritaplugin.dll", - "bin\\kritapsd.dll", - "bin\\kritasketchlib.dll", - "bin\\kritastore.dll", - "bin\\kritatext.dll", - "bin\\kritatextlayout.dll", - "bin\\kritaui.dll", - "bin\\kritaundo2.dll", - "bin\\kritavectorimage.dll", - "bin\\kritaversion.dll", - "bin\\kritawidgets.dll", - "bin\\kritawidgetutils.dll" - ] - }, - - { - "msg" : "Copying Executables", - "dir" : "bin\\", - "files" : [ - "bin\\gmicparser.exe", - "bin\\krita.exe" - ] - }, - - { - "msg" : "Copying directory /etc/dbus-1", - "dir": "etc\\dbus-1", - "files": ["etc\\"] - }, - - { - "msg" : "Copying Qt plugins", - "dir" : "bin", - "files" : [ - "plugins\\imageformats", - "plugins\\platforms", - "plugins\\iconengines"] - }, - - - - { - "msg": "Copying directory /share", - "dir" : "share", - "files" : [ - "share\\calligra", - "share\\color-schemes", - "share\\apps\\desktoptheme", - "share\\krita", - "share\\kritasketch", - "share\\kritaanimation", - "share\\kritaplugins", - "share\\kstyle", - "share\\mime", - "share\\xdg", - "share\\color"] - }, - - { - "msg" : "Copying directory /etc/xdg", - "dir" : "etc\\xdg", - "files" : [ - "etc\\xdg\\colors", - "etc\\xdg\\ui", - "etc\\xdg\\krita*", - "etc\\xdg\\kdebug*", - "etc\\xdg\\khot*", - "etc\\xdg\\kdebugrc" - ] - }, - - { - "msg" : "Copying dbus interfaces", - "dir" : "share\\dbus-1\\interfaces", - "files" : [ - "share\\dbus-1\\interfaces\\kf5_org.kde.*", - "share\\dbus-1\\services\\kf5_org.kde.*"] - }, - - { - "msg": "Copying directory share/kservices5", - "dir" : "share\\kservices5", - "files" : [ - "share\\kservices5\\krita_kra_thumbnail.desktop", - "share\\kservices5\\kshorturifilter.desktop", - "share\\kservices5\\kuriikwsfilter.desktop", - "share\\kservices5\\kurisearchfilter.desktop", - "share\\kservices5\\localdomainurifilter.desktop", - "share\\kservices5\\*.protocol"] - }, - - { - "msg": "Copying directory share/kservicetypes5", - "dir" : "share\\kservicetypes5", - "files" : [ - "share\\kservicetypes5\\application.desktop", - "share\\kservicetypes5\\calligra*.desktop", - "share\\kservicetypes5\\filtereffect.desktop", - "share\\kservicetypes5\\flake.desktop", - "share\\kservicetypes5\\flakedevice.desktop", - "share\\kservicetypes5\\flakeshape.desktop", - "share\\kservicetypes5\\flaketool.desktop", - "share\\kservicetypes5\\inlinetextobject.desktop", - "share\\kservicetypes5\\kfileitemactionplugin.desktop", - "share\\kservicetypes5\\kfilewrite.desktop", - "share\\kservicetypes5\\knotificationplugin.desktop", - "share\\kservicetypes5\\kpart.desktop", - "share\\kservicetypes5\\kplugininfo.desktop", - "share\\kservicetypes5\\krita*.desktop", - "share\\kservicetypes5\\kurifilterplugin.desktop", - "share\\kservicetypes5\\pigment.desktop", - "share\\kservicetypes5\\pigmentextension.desktop", - "share\\kservicetypes5\\qimageio_plugin.desktop", - "share\\kservicetypes5\\texteditingplugin.desktop" - ] - } - -]} diff -Nru krita-3.1.4/packaging/windows/krita_installer/krita.wxi krita-3.1.4+dfsg/packaging/windows/krita_installer/krita.wxi --- krita-3.1.4/packaging/windows/krita_installer/krita.wxi 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/krita.wxi 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - - - - diff -Nru krita-3.1.4/packaging/windows/krita_installer/krita.wxs krita-3.1.4+dfsg/packaging/windows/krita_installer/krita.wxs --- krita-3.1.4/packaging/windows/krita_installer/krita.wxs 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/krita.wxs 1970-01-01 00:00:00.000000000 +0000 @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NOT Installed - NOT Installed - - - - diff -Nru krita-3.1.4/packaging/windows/krita_installer/package.bat krita-3.1.4+dfsg/packaging/windows/krita_installer/package.bat --- krita-3.1.4/packaging/windows/krita_installer/package.bat 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/package.bat 1970-01-01 00:00:00.000000000 +0000 @@ -1,384 +0,0 @@ -:: package_calligra.bat -:: -:: Copies relevant files from the calligra inst and kderoot folders -:: -@echo off - -:: Safety check: -:: Make sure key variables are defined - -IF "%C2WINSTALL_INPUT%"=="" ( - echo !!! C2WINSTALL VARIABLES NOT PROPERLY DEFINED !!! - echo Operation cancelled. - goto :eof - pause -) -IF "%C2WINSTALL_OUTPUT%"=="" ( - echo !!! C2WINSTALL VARIABLES NOT PROPERLY DEFINED !!! - echo Operation cancelled. - goto :eof - pause -) - -:: Create redistribution directories -rm -rf %C2WINSTALL_INPUT% -mkdir %C2WINSTALL_INPUT% -mkdir %C2WINSTALL_OUTPUT% - -mkdir %C2WINSTALL_INPUT%\bin -mkdir %C2WINSTALL_INPUT%\etc -mkdir %C2WINSTALL_INPUT%\lib -mkdir %C2WINSTALL_INPUT%\lib\kde4 -mkdir %C2WINSTALL_INPUT%\plugins -mkdir %C2WINSTALL_INPUT%\share - -echo Copying plugins -cp %CALLIGRA_INST%\lib\kde4/artistictextshape.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/autocorrect.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/basicflakesplugin.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/calligradocinfopropspage.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/calligradockers.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/calligraimagethumbnail.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/calligrathumbnail.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/changecase.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/comicbookthumbnail.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/defaulttools.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/htmlthumbnail.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/imagethumbnail.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/jpegthumbnail.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/karbon_flattenpathplugin.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/karbon_refinepathplugin.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/karbon_roundcornersplugin.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/karbon_whirlpinchplugin.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/karbon1ximport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/karbonfiltereffects.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/karbonimageexport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/karbonpart.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/karbonsvgexport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/karbonsvgimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/karbontools.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/karbonxfigimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kded*.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kio*.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kfile*.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kolcmsengine.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/krita_colorspaces_extensions.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/krita_raw_import.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaartisticcolorselector.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritabigbrother.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritablurfilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritabmpexport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritabmpimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritachalkpaintop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritachanneldocker.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritacolorgenerator.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritacolorrange.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritacolorselectorng.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritacolorsfilters.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritacolorsmudgepaintop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritacolorspaceconversion.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritacompositiondocker.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaconvolutionfilters.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritacurvepaintop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritadefaultdockers.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritadefaultpaintops.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritadefaulttools.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritadeformpaintop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritadigitalmixer.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritadodgeburn.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritadynapaintop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaembossfilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaexample.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaexperimentpaintop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaextensioncolorsfilters.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritafastcolortransferfilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritafilterop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaflipbookdocker.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaflipbookimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritagridpaintop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritahairypaintop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritahatchingpaintop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritahistogram.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritahistorydocker.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaimagedocker.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaimageenhancement.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaimagesize.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaimagesplit.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritajp2export.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritajp2import.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritajpegexport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritajpegimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritalayercompose.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritalevelfilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritametadataeditor.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritamodifyselection.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritanoisefilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaodgimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaoilpaintfilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaoraexport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaoraimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritapart.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaparticlepaintop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritapatterndocker.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritapdfimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaphongbumpmap.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritapixelizefilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritapngexport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritapngimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritappmexport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritappmimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritapresetdocker.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritapsdexport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritapsdimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaqmlexport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaraindropsfilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritarandompickfilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritarotateimage.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaroundcornersfilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritarulerassistanttool.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaselectiontools.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaseparatechannels.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritashearimage.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritasketchpaintop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritasmallcolorselector.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritasmalltilesfilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritasobelfilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaspecificcolorselector.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaspraypaintop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritatasksetdocker.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritatiffexport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritatiffimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritatoolcrop.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritatooldyna.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritatoolgrid.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritatoolperspectivegrid.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritatoolpolygon.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritatoolpolyline.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritatooltext.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritatooltransform.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaunsharpfilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritawavefilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kritaxcfimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/kstyle_oxygen_config.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/pathshapes.dll %C2WINSTALL_INPUT%\lib\kde4 - -mkdir %C2WINSTALL_INPUT%\lib\kde4\styles -cp %CALLIGRA_INST%\lib\kde4/plugins\styles\oxygen.dll %C2WINSTALL_INPUT%\lib\kde4\styles - -mkdir %C2WINSTALL_INPUT%\lib\kde4\styles\imageformats -cp %CALLIGRA_INST%\lib\kde4/plugins\imageformats\kimg_dds.dll %C2WINSTALL_INPUT%\lib\kde4\imageformats -cp %CALLIGRA_INST%\lib\kde4/plugins\imageformats\kimg_pcx.dll %C2WINSTALL_INPUT%\lib\kde4\imageformats -cp %CALLIGRA_INST%\lib\kde4/plugins\imageformats\kimg_ras.dll %C2WINSTALL_INPUT%\lib\kde4\imageformats -cp %CALLIGRA_INST%\lib\kde4/plugins\imageformats\kimg_xcf.dll %C2WINSTALL_INPUT%\lib\kde4\imageformats -cp %CALLIGRA_INST%\lib\kde4/plugins\imageformats\kimg_eps.dll %C2WINSTALL_INPUT%\lib\kde4\imageformats -cp %CALLIGRA_INST%\lib\kde4/plugins\imageformats\kimg_pic.dll %C2WINSTALL_INPUT%\lib\kde4\imageformats -cp %CALLIGRA_INST%\lib\kde4/plugins\imageformats\kimg_rgb.dll %C2WINSTALL_INPUT%\lib\kde4\imageformats -cp %CALLIGRA_INST%\lib\kde4/plugins\imageformats\kimg_xview.dll %C2WINSTALL_INPUT%\lib\kde4\imageformats -cp %CALLIGRA_INST%\lib\kde4/plugins\imageformats\kimg_jp2.dll %C2WINSTALL_INPUT%\lib\kde4\imageformats -cp %CALLIGRA_INST%\lib\kde4/plugins\imageformats\kimg_psd.dll %C2WINSTALL_INPUT%\lib\kde4\imageformats -cp %CALLIGRA_INST%\lib\kde4/plugins\imageformats\kimg_tga.dll %C2WINSTALL_INPUT%\lib\kde4\imageformats - -cp %CALLIGRA_INST%\lib\kde4/kurisearchfilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/localdomainurifilter.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/svgthumbnail.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/textshape.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/textthumbnail.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/windowsexethumbnail.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/windowsimagethumbnail.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/wmfexport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/wmfimport.dll %C2WINSTALL_INPUT%\lib\kde4 -cp %CALLIGRA_INST%\lib\kde4/wpgimport.dll %C2WINSTALL_INPUT%\lib\kde4 - -echo Copying Libraries - -cp %CALLIGRA_INST%\bin\*dll %C2WINSTALL_INPUT%\bin\ - -echo Copying Exes - -cp %CALLIGRA_INST%\bin\krita.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\calligraconverter.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kwalletd.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\dbus-daemon.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\dbus-launch.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kbuildsycoca4.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kconf_update.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kconfig_compiler.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kde4-config.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kdebugdialog.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kded4.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kdeinit4.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kioexec.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kioclient.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kioslave.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kquitapp.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\ktraderclient.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kwalletd.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\kwrapper4.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\klauncher.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\knotify4.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\drkonqi.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\update-mime-database.exe %C2WINSTALL_INPUT%\bin\ -cp %CALLIGRA_INST%\bin\khelpcenter.exe %C2WINSTALL_INPUT%\bin\ - -echo Copying /etc directory for dbus - -cp -r %CALLIGRA_INST%\etc\dbus-1 %C2WINSTALL_INPUT%\etc\ - -echo Copying Qt plugins - -cp -r %CALLIGRA_INST%\plugins\imageformats %C2WINSTALL_INPUT%\plugins -cp -r %CALLIGRA_INST%\plugins\iconengines %C2WINSTALL_INPUT%\plugins - -echo Copying the /share/applications directory -mkdir %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\calligra.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_bmp.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_flipbook.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_jp2.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_jpeg.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_odg.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_ora.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_pdf.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_png.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_ppm.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_psd.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_qml.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_raw.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_tiff.desktop %C2WINSTALL_INPUT%\share\applications\kde4 -cp %CALLIGRA_INST%\share\applications\kde4\krita_xcf.desktop %C2WINSTALL_INPUT%\share\applications\kde4 - -echo Copying the /share/apps directory - -mkdir %C2WINSTALL_INPUT%\share\applications\kde4\apps - -cp -r %CALLIGRA_INST%\share\apps\calligra %C2WINSTALL_INPUT%\share\apps -cp -r %CALLIGRA_INST%\share\apps\color-schemes %C2WINSTALL_INPUT%\share\apps -cp -r %CALLIGRA_INST%\share\apps\desktoptheme %C2WINSTALL_INPUT%\share\apps -cp -r %CALLIGRA_INST%\share\apps\hardwarenotifications %C2WINSTALL_INPUT%\share\apps -cp -r %CALLIGRA_INST%\share\apps\kauth %C2WINSTALL_INPUT%\share\apps -cp -r %CALLIGRA_INST%\share\apps\kde %C2WINSTALL_INPUT%\share\apps\ -cp -r %CALLIGRA_INST%\share\apps\kdeui %C2WINSTALL_INPUT%\share\apps\ -cp -r %CALLIGRA_INST%\share\apps\kdewidgets %C2WINSTALL_INPUT%\share\apps\ -cp -r %CALLIGRA_INST%\share\apps\kio* %C2WINSTALL_INPUT%\share\apps\ -cp -r %CALLIGRA_INST%\share\apps\knewstuff %C2WINSTALL_INPUT%\share\apps\ -cp -r %CALLIGRA_INST%\share\apps\kritaplugins %C2WINSTALL_INPUT%\share\apps\ -cp -r %CALLIGRA_INST%\share\apps\krita %C2WINSTALL_INPUT%\share\apps\ -cp -r %CALLIGRA_INST%\share\apps\kssl %C2WINSTALL_INPUT%\share\apps\ -cp -r %CALLIGRA_INST%\share\apps\kstyle %C2WINSTALL_INPUT%\share\apps\ -cp -r %CALLIGRA_INST%\share\apps\kwalletd %C2WINSTALL_INPUT%\share\apps\ -cp -r %CALLIGRA_INST%\share\apps\mime %C2WINSTALL_INPUT%\share\apps\ - -echo Copying the /share/color directory -cp -r %CALLIGRA_INST%\share\color %C2WINSTALL_INPUT%\share\ - -echo Copying the /share/config directory -mkdir %C2WINSTALL_INPUT%\share\config -cp -r %CALLIGRA_INST%\share\config\colors %C2WINSTALL_INPUT%\share\config -cp -r %CALLIGRA_INST%\share\config\ui %C2WINSTALL_INPUT%\share\config -cp -r %CALLIGRA_INST%\share\config\krita* %C2WINSTALL_INPUT%\share\config -cp -r %CALLIGRA_INST%\share\config\kdebug* %C2WINSTALL_INPUT%\share\config -cp -r %CALLIGRA_INST%\share\config\khot* %C2WINSTALL_INPUT%\share\config -cp -r %CALLIGRA_INST%\share\config\kdebugrc %C2WINSTALL_INPUT%\share\config -cp -r %CALLIGRA_INST%\share\config\kdeglobals %C2WINSTALL_INPUT%\share\config - -echo Copying the /share/dbus-1 directory -mkdir %C2WINSTALL_INPUT%\share\dbus-1\interfaces -mkdir %C2WINSTALL_INPUT%\share\dbus-1\services -mkdir %C2WINSTALL_INPUT%\share\dbus-1\system-services - -cp -r %CALLIGRA_INST%\share\dbus-1\interfaces\org.kde.* %C2WINSTALL_INPUT%\share\dbus-1\interfaces -cp -r %CALLIGRA_INST%\share\dbus-1\services\org.kde.* %C2WINSTALL_INPUT%\share\dbus-1\services - -echo Copying the /share/icons directory (need to be cleaned out!) -cp -r %CALLIGRA_INST%\share\icons %C2WINSTALL_INPUT%\share\ - -echo Copying the /share/mime directory -cp -r %CALLIGRA_INST%\share\mime %C2WINSTALL_INPUT%\share\ - -echo Copying the /share/kde4 directory -mkdir %C2WINSTALL_INPUT%\share\kde4\services - -cp %CALLIGRA_INST%\share\kde4\services\*.protocol %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\krita*.desktop %C2WINSTALL_INPUT%\share\kde4\services - -cp %CALLIGRA_INST%\share\kde4\services\artistictextshape.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\autocorrect.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\basicflakesplugin.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\calligra_odg_thumbnail.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\calligradocinfopropspage.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\calligradockers.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\changecase.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\comicbookthumbnail.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\componentchooser.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\defaulttools.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\desktopthumbnail.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\directorythumbnail.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\djvuthumbnail.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\htmlthumbnail.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\imagethumbnail.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\jpegthumbnail.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\kolcmsengine.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\kwalletd.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\pathshapes.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\textshape.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\textthumbnail.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\thumbnail.protocol %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\filetypes.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\fixhosturifilter.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\htmlthumbnail.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\icons.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\karbonfiltereffects.desktop %C2WINSTALL_INPUT%\share\kde4\service -cp %CALLIGRA_INST%\share\kde4\services\karbontools.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\kfilemodule.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\kglobalaccel.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\knotify4.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\kshorturifilter.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\kuiserver.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\kuriikwsfilter.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\kurisearchfilter.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\localdomainurifilter.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\platform.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\svgthumbnail.desktop %C2WINSTALL_INPUT%\share\kde4\services -cp %CALLIGRA_INST%\share\kde4\services\windowsimagethumbnail.desktop %C2WINSTALL_INPUT%\share\kde4\services - -cp -r %CALLIGRA_INST%\share\kde4\services\qimageioplugins %C2WINSTALL_INPUT%\share\kde4\services - -mkdir %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\application.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\calligra*.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\filtereffect.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\flake.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\flakedevice.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\flakeshape.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\flaketool.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\inlinetextobject.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\karbon_module.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\kconfigbackend.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\kdedmodule.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\kfileitemactionplugin.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\kfileplugin.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\kfilewrite.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\kiofilemodule.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\knotifynotifymethod.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\kofilter.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\kofilterwrapper.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\koplugin.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\kpart.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\kplugininfo.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\krita_brush.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\krita_dock.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\krita_filter.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\krita_generator.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\krita_paintop.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\krita_plugin.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\krita_tool.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\kurifilterplugin.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\pigment.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\pigmentextension.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\qimageio_plugin.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\texteditingplugin.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\textvariableplugin.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes -cp %CALLIGRA_INST%\share\kde4\servicetypes\thumbcreator.desktop %C2WINSTALL_INPUT%\share\kde4\servicetypes - -cp %C2WINSTALL_INPUT%\..\c2winstaller\res\package\env.bat %C2WINSTALL_INPUT% diff -Nru krita-3.1.4/packaging/windows/krita_installer/package.ps1 krita-3.1.4+dfsg/packaging/windows/krita_installer/package.ps1 --- krita-3.1.4/packaging/windows/krita_installer/package.ps1 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/package.ps1 1970-01-01 00:00:00.000000000 +0000 @@ -1,120 +0,0 @@ -# Copyright (c) 2015 Michael Abrahams -# package_calligra.ps1 -# -# Copies relevant files from the calligra inst and kderoot folders. -# -# -# Information about the files to copy is contained in krita-files.json. The -# directory structure is specified here. -# - -# Safety check: -# Make sure key variables are defined - -if (($env:KRITA_INPUT -eq $null) -or ($env:KRITA_OUTPUT -eq $null)) { - echo "!!! ENVIRONMENT VARIABLES NOT PROPERLY DEFINED !!!" - echo "(Did you run env.ps1?)" - Exit -} - -# Create directories for the installer. -mkdir "$env:KRITA_INPUT" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\bin" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\etc" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\lib" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\lib\kritaplugins" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\lib\plugins\styles" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\lib\plugins\imageformats" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\share" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\share\appdata" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\share\applications" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\share\krita" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\share\config" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\etc\dbus-1\" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\etc\xdg\" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\share\dbus-1\" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\share\dbus-1\interfaces" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\share\dbus-1\services" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\share\dbus-1\system-services"-ea SilentlyContinue -mkdir "$env:KRITA_INPUT\share\kservices5" -ea SilentlyContinue -mkdir "$env:KRITA_INPUT\share\kservicetypes5" -ea SilentlyContinue - -mkdir "$env:KRITA_OUTPUT" -ea SilentlyContinue - -# The format of the JSON is as follows. -# Each data item has four elements. -# -# "dir" is the destination directory, relative to $KRITA_INPUT. It is posssible -# to have several different groups of files copied to the same destination -# directory. DIR must exist already, created in the "mkdir" list above. -# "files" is a list of files copied into DIR. -# "msg" will be displayed during the copying procedure. -# "comment" is ignored by this script. -$installinfo = ConvertFrom-Json ((Get-Content "krita-files.json") -join "`n") - - -# Helper function - basically an rsync kinda thing. -# Copy items only if they are newer, return error string on failure. -function copy-newer($src, $dst) { - Try { - $src_item = Get-Item $src -ErrorAction SilentlyContinue - if (-not $?) { - return "Could not locate $src" - } - $dst_item = Get-Item $dst -ErrorAction SilentlyContinue - if (-not $?) { - $src_update = [datetime](Get-ItemProperty -Path $src -Name LastWriteTime)[0].LastWriteTime - $dst_update = [datetime](Get-ItemProperty -Path $dst -Name LastWriteTime)[0].LastWriteTime - if ($src_update -le $dst_update) { - # Source file is not newer, skip this file - return "" - } - } - copy -Recurse $src $dst -ErrorAction SilentlyContinue - return "" - } - Catch [System.Management.Automation.RuntimeException] - { - return "File $src - $($Error[0].Exception.Message)" - } - Catch [System.InvalidCastException] - { - return "Copying $src failed - $($Error[0].Exception.Message)" - } - Catch - { - return "File $src - $($Error[0].Exception.Message)" - } -} - - -foreach ($i in $installinfo.InstallationInfo) { - - # Print messages from JSON data - if ($i.msg) { - echo "$($i.msg)..." - } - - # One directory per group in JSON data - $dst = "$env:KRITA_INPUT\$($i.dir)" - - #Loop through files - foreach ($f in $i.files) { - $src = "$env:CALLIGRA_INST\$f" - echo "Copying - $src" - $errstr = copy-newer $src $dst - - # If we got an error when copying, print something helpful - if ( $errstr ) { - if ($Error[0].Exception.GetType() -eq [System.IO.IOException]) { - echo "INFO: file $dst already exists." - } - elseif ($i.optional) { - echo $errstr - } - else { - Write-Warning $errstr - } - } - } -} diff -Nru krita-3.1.4/packaging/windows/krita_installer/PreserveGUIDs.xslt krita-3.1.4+dfsg/packaging/windows/krita_installer/PreserveGUIDs.xslt --- krita-3.1.4/packaging/windows/krita_installer/PreserveGUIDs.xslt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/PreserveGUIDs.xslt 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -Nru krita-3.1.4/packaging/windows/krita_installer/README.txt krita-3.1.4+dfsg/packaging/windows/krita_installer/README.txt --- krita-3.1.4/packaging/windows/krita_installer/README.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/README.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -Krita installer README -------------------- - -This includes instructions for preparing your environment to build an MSI installer for Krita 3 on Windows. - -Preparation ------------ - -You will need to have a working KDE Windows environment which lets you build Calligra on the Windows platform. - -The default folder structure is: -parent ($PACKAGER_ROOT) -+-krita -+-installer-input (receives a packaged version of Krita + KDE, output from package.ps1) -+-installer-output (intermediate and complete MSI written by build_msi.ps1 process) -+-installer-temp (temp folder used by the package.ps1 process) -+-deps (stores 3rd party dependencies - Visual C++ runtime components for the installer) - +-vcredist - +-DLLs - +-MergeModules (stores .msm files distrubuted with Visual Studio) -+-wix310 (install wix 3.10 here) - -You will require the Wix toolset. Currently tested with 3.10. -This may be downloaded from http://wixtoolset.org/ -Extract the .zip into the installation folder - -Setting up the environment ------------------------- - -The following script sets the necessary shell variables. - -> .\env.ps1 - -You will need to customize the script to, at a minimum, update the version -number. You should also ensure that the variables inside match your directory -structure. Check whether it worked correctly with the command: - -> dir variables: - -To choose how/whether to distribute the VC++ runtime files, you must set -KRITA_VC2015_DISTRIBUTE to point to the process you intend to use. - - DLL - informs wix that you want to distribute DLLs with it - MSM - informs wix that you want to use the MergeModule - -Any other value is ignored and causes an error message to be displayed if it is -not found. - -If wix has been installed anywhere other than ..\wix36, then you must set -KRITA_WIX_BIN to point to it. - -KRITA_VERSION - the version number of the package. This must consist of four -sets of digits separate by periods (e.g. 2.3.87.1). Currently the numbering -convention for KRITA_VERSION uses the first three to identify the last main -tagged release of calligra, and the fourth for subsequent builds from master. - -KRITA_GITREV - the intention is for this to take a git revision identifier. -This needs to be set in advance, and would normally be set by the build process -which created the Calligra installation. - -PACKAGER_ROOT - working path for package.ps1 and build_msi.ps1 - -You must set CALLIGRA_INST to point to the inst folder of the Calligra -installation. KDEROOT is set by kdeenv, so should not need to be explicitly -declared. - - - -Packaging Calligra ------------------- - -Now you can run: -.\package.ps1 - -This will copy files from KRITA_INST and KDEROOT in to KRITA_INPUT, -packaging the Windows distribution of Calligra with the required KDE files. The -KRITA_TEMP folder contains some files that package touches, but it should clean -this up on completion. This should complete without errors (although you may -need to prompt it to overwrite files ...may need to review this behaviour) - -Once this has completed, you are ready to run: -.\build_msi.ps1 - -This will run all the required steps: - heat to read the KRITA_INPUT directory in order to generate HeatFragment.wxs - candle to build the intermediate obj files fromm the xml sources - light to build the msi file. - - diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/package/env.bat krita-3.1.4+dfsg/packaging/windows/krita_installer/res/package/env.bat --- krita-3.1.4/packaging/windows/krita_installer/res/package/env.bat 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/package/env.bat 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -:: Set Calligra variables -:: -@echo off -set KDEHOME=%appdata%\krita -set KDESYCOCA=%~dp0sycoca -set XDG_DATA_DIRS=%~dp0share -set KDEDIRS=%~dp0 -set KDEDIR=%~dp0 -set PATH=%~dp0bin;%~dp0lib;%~dp0lib\krita;%PATH% -set QT_PLUGIN_PATH=%~dp0lib -:: Launch application and all additional parameters -%* Binary files /tmp/tmpPcGPys/yXNm9hjHIg/krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/Bitmaps/bannrbmp.bmp and /tmp/tmpPcGPys/gY5vBIqyy1/krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/Bitmaps/bannrbmp.bmp differ Binary files /tmp/tmpPcGPys/yXNm9hjHIg/krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/Bitmaps/billboard03.bmp and /tmp/tmpPcGPys/gY5vBIqyy1/krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/Bitmaps/billboard03.bmp differ Binary files /tmp/tmpPcGPys/yXNm9hjHIg/krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/Bitmaps/Billboards/billboard.bmp and /tmp/tmpPcGPys/gY5vBIqyy1/krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/Bitmaps/Billboards/billboard.bmp differ Binary files /tmp/tmpPcGPys/yXNm9hjHIg/krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/Bitmaps/Billboards/template.bmp and /tmp/tmpPcGPys/gY5vBIqyy1/krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/Bitmaps/Billboards/template.bmp differ Binary files /tmp/tmpPcGPys/yXNm9hjHIg/krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/Bitmaps/dlgbmp.bmp and /tmp/tmpPcGPys/gY5vBIqyy1/krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/Bitmaps/dlgbmp.bmp differ Binary files /tmp/tmpPcGPys/yXNm9hjHIg/krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/Bitmaps/dlgbmp.bmp.bmp and /tmp/tmpPcGPys/gY5vBIqyy1/krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/Bitmaps/dlgbmp.bmp.bmp differ Binary files /tmp/tmpPcGPys/yXNm9hjHIg/krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/Bitmaps/exclamic.ico and /tmp/tmpPcGPys/gY5vBIqyy1/krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/Bitmaps/exclamic.ico differ Binary files /tmp/tmpPcGPys/yXNm9hjHIg/krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/Bitmaps/info.ico and /tmp/tmpPcGPys/gY5vBIqyy1/krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/Bitmaps/info.ico differ Binary files /tmp/tmpPcGPys/yXNm9hjHIg/krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/Bitmaps/New.ico and /tmp/tmpPcGPys/gY5vBIqyy1/krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/Bitmaps/New.ico differ Binary files /tmp/tmpPcGPys/yXNm9hjHIg/krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/Bitmaps/Up.ico and /tmp/tmpPcGPys/gY5vBIqyy1/krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/Bitmaps/Up.ico differ diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/CustomExitDialog.wxs krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/CustomExitDialog.wxs --- krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/CustomExitDialog.wxs 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/CustomExitDialog.wxs 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/CustomMaintenanceWelcomeDlg.wxs krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/CustomMaintenanceWelcomeDlg.wxs --- krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/CustomMaintenanceWelcomeDlg.wxs 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/CustomMaintenanceWelcomeDlg.wxs 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ - - - - - - - - !(wix.WixUICostingPopupOptOut) OR CostingComplete = 1 - - - 1 - - - - - - - - - - Installed AND NOT RESUME AND NOT Preselected AND NOT PATCH - - - - \ No newline at end of file diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/CustomProgressDlg.wxs krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/CustomProgressDlg.wxs --- krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/CustomProgressDlg.wxs 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/CustomProgressDlg.wxs 1970-01-01 00:00:00.000000000 +0000 @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/CustomResumeDlg.wxs krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/CustomResumeDlg.wxs --- krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/CustomResumeDlg.wxs 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/CustomResumeDlg.wxs 1970-01-01 00:00:00.000000000 +0000 @@ -1,52 +0,0 @@ - - - - - - - - - - 1 - - - - - - - - - - Installed AND (RESUME OR Preselected) - - - - \ No newline at end of file diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/CustomUI_Mondo.wxs krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/CustomUI_Mondo.wxs --- krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/CustomUI_Mondo.wxs 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/CustomUI_Mondo.wxs 1970-01-01 00:00:00.000000000 +0000 @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - 1 - - NOT Installed - Installed AND PATCH - - 1 - LicenseAccepted = "1" - - Installed - NOT Installed - 1 - - NOT Installed OR WixUI_InstallMode = "Change" - Installed AND NOT PATCH - Installed AND PATCH - - 1 - - 1 - 1 - 1 - 1 - - - - - \ No newline at end of file diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/CustomWelcomeDlg.wxs krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/CustomWelcomeDlg.wxs --- krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/CustomWelcomeDlg.wxs 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/CustomWelcomeDlg.wxs 1970-01-01 00:00:00.000000000 +0000 @@ -1,44 +0,0 @@ - - - - - - - - Installed AND PATCH - - - 1 - - - - - - NOT Installed OR NOT PATCH - Installed AND PATCH - - - Installed AND PATCH - NOT Installed OR NOT PATCH - - - - - - NOT Installed OR PATCH - - - - \ No newline at end of file diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/gpl-2.0.rtf krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/gpl-2.0.rtf --- krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/gpl-2.0.rtf 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/gpl-2.0.rtf 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\deflang2057{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}{\f1\fnil\fprq1\fcharset0 Courier New,courier;}{\f2\fnil\fcharset0 Calibri;}} -{\colortbl ;\red0\green0\blue0;\red0\green0\blue255;} -{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\sb280\sa240\cf1\lang9\b\f0\fs22 GNU GENERAL PUBLIC LICENSE\par -\pard\sb240\sa240\b0 Version 2, June 1991\par -\pard\sb240\f1 Copyright (C) 1989, 1991 Free Software Foundation, Inc. \par -\pard 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\par -\cf0\f2\par -\cf1\f1 Everyone is permitted to copy and distribute verbatim copies\par -\pard\sa240 of this license document, but changing it is not allowed.\par -\pard\b\f0 Preamble\par -\pard\sb240\sa240\b0 The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.\par -When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.\par -To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.\par -For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.\par -We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.\par -Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.\par -Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.\par -The precise terms and conditions for copying, distribution and modification follow.\par -\pard\b TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\par -\pard\sb240\sa240 0.\b0\~This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".\par -Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.\par -\b 1.\b0\~You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.\par -You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.\par -\b 2.\b0\~You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:\par -\pard\li600\b a)\b0\~You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.\par -\b b)\b0\~You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.\par -\pard\li600\sa160\b c)\b0\~If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)\par -\pard\sb240\sa240 These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.\par -Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.\par -In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.\par -\b 3.\b0\~You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:\par -\pard\li600\b a)\b0\~Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,\par -\b b)\b0\~Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,\par -\pard\li600\sa160\b c)\b0\~Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)\par -\pard\sb240\sa240 The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.\par -If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.\par -\b 4.\b0\~You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.\par -\b 5.\b0\~You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.\par -\b 6.\b0\~Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.\par -\b 7.\b0\~If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.\par -If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.\par -It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.\par -This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.\par -\b 8.\b0\~If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.\par -\b 9.\b0\~The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.\par -Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.\par -\b 10.\b0\~If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.\par -\pard\sb240\sa240\b NO WARRANTY\par -\pard\sb240\sa240 11.\b0\~BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\par -\b 12.\b0\~IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\par -\pard\sb280\sa240\b END OF TERMS AND CONDITIONS\par -\pard How to Apply These Terms to Your New Programs\par -\pard\sb240\sa240\b0 If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.\par -To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.\par -\pard\sb240\i\f1 one line to give the program's name and an idea of what it does.\par -\pard\i0 Copyright (C) \i yyyy\i0 \i name of author\par -\cf0\i0\f2\par -\pard\cf1\f1 This program is free software; you can redistribute it and/or\par -\pard modify it under the terms of the GNU General Public License\par -as published by the Free Software Foundation; either version 2\par -of the License, or (at your option) any later version.\par -\cf0\f2\par -\cf1\f1 This program is distributed in the hope that it will be useful,\par -but WITHOUT ANY WARRANTY; without even the implied warranty of\par -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\par -GNU General Public License for more details.\par -\cf0\f2\par -\cf1\f1 You should have received a copy of the GNU General Public License\par -along with this program; if not, write to the Free Software\par -\pard\sa240 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\par -\pard\sb240\sa240\f0 Also add information on how to contact you by electronic and paper mail.\par -If the program is interactive, make it output a short notice like this when it starts in an interactive mode:\par -\pard\sb240\f1 Gnomovision version 69, Copyright (C) \i year\i0 \i name of author\par -\pard\i0 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details\par -\pard type `show w'. This is free software, and you are welcome\par -to redistribute it under certain conditions; type `show c' \par -\pard\sa240 for details.\par -\pard\sb240\sa240\f0 The hypothetical commands\~\f1 `show w'\f0\~and\~\f1 `show c'\f0\~should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than\~\f1 `show w'\f0\~and\~\f1 `show c'\f0 ; they could even be mouse-clicks or menu items--whatever suits your program.\par -You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:\par -\pard\sb240\f1 Yoyodyne, Inc., hereby disclaims all copyright\par -\pard interest in the program `Gnomovision'\par -(which makes passes at compilers) written \par -by James Hacker.\par -\cf0\f2\par -\cf1\i\f1 signature of Ty Coon\i0 , 1 April 1989\par -\pard\sa240 Ty Coon, President of Vice\par -\pard\sb240\sa240\f0 This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the\~{\field{\*\fldinst{HYPERLINK "http://www.gnu.org/licenses/lgpl.html"}}{\fldrslt{\ul GNU Lesser General Public License}}}\ulnone\f0\fs22\~instead of this License.\par -} - diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/VSError.wxs krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/VSError.wxs --- krita-3.1.4/packaging/windows/krita_installer/res/UIExtension/VSError.wxs 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/UIExtension/VSError.wxs 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/BundleVC2015x64.wxs krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/BundleVC2015x64.wxs --- krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/BundleVC2015x64.wxs 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/BundleVC2015x64.wxs 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/FindVC2015ia64.wxi krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/FindVC2015ia64.wxi --- krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/FindVC2015ia64.wxi 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/FindVC2015ia64.wxi 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ - - - - 4 - - - - Installed OR (HASVCPP2015) - diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/FindVC2015x64.wxi krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/FindVC2015x64.wxi --- krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/FindVC2015x64.wxi 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/FindVC2015x64.wxi 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ - - - - - - - - Installed OR (HASVCPP2010) - diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/FindVC2015x86.wxi krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/FindVC2015x86.wxi --- krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/FindVC2015x86.wxi 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/FindVC2015x86.wxi 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ - - - - - - - - Installed OR (HASVCPP2015) - diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/MergeModules_x64.wxi krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/MergeModules_x64.wxi --- krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/MergeModules_x64.wxi 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/MergeModules_x64.wxi 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - - - - - - - - - diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/MergeModules_x86.wxi krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/MergeModules_x86.wxi --- krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/MergeModules_x86.wxi 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/MergeModules_x86.wxi 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - - - - - - - - - diff -Nru krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/VC2015DLLs.wxi krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/VC2015DLLs.wxi --- krita-3.1.4/packaging/windows/krita_installer/res/wix_snippets/VC2015DLLs.wxi 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/res/wix_snippets/VC2015DLLs.wxi 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff -Nru krita-3.1.4/packaging/windows/krita_installer/run_heat.bat krita-3.1.4+dfsg/packaging/windows/krita_installer/run_heat.bat --- krita-3.1.4/packaging/windows/krita_installer/run_heat.bat 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/krita_installer/run_heat.bat 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -:: Copyright (c) 2011-2012 KO GmbH. All rights reserved. -:: Copyright (c) 2011-2012 Stuart Dickson -:: -:: The use and distribution terms for this software are covered by the -:: Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php) -:: which can be found in the file CPL.TXT at the root of this distribution. -:: By using this software in any fashion, you are agreeing to be bound by -:: the terms of this license. -:: -:: You must not remove this notice, or any other, from this software. -:: ------------------------------------------------------------------------ -"m:\package\wix36\heat.exe" dir "%C2WINSTALL_INPUT%" -cg CalligraBaseFiles -gg -scom -sreg -sfrag -srd -dr CALLIGRADIR -var env.C2WINSTALL_INPUT -out "%~dp0HeatFragment.wxs" -copy HeatFragment.wxs PreviousHeatFragment.xml /Y Binary files /tmp/tmpPcGPys/yXNm9hjHIg/krita-3.1.4/packaging/windows/krita.lnk and /tmp/tmpPcGPys/gY5vBIqyy1/krita-3.1.4+dfsg/packaging/windows/krita.lnk differ diff -Nru krita-3.1.4/packaging/windows/license_gpl-3.0.rtf krita-3.1.4+dfsg/packaging/windows/license_gpl-3.0.rtf --- krita-3.1.4/packaging/windows/license_gpl-3.0.rtf 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/license_gpl-3.0.rtf 1970-01-01 00:00:00.000000000 +0000 @@ -1,1565 +0,0 @@ -{\rtf1\ansi\deff3\adeflang1025 -{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset0 Liberation Serif{\*\falt Times New Roman};}{\f4\fswiss\fprq2\fcharset0 Liberation Sans{\*\falt Arial};}{\f5\froman\fprq2\fcharset0 Times New Roman;}{\f6\froman\fprq2\fcharset0 Courier New{\*\falt courier};}{\f7\froman\fprq2\fcharset0 Calibri;}{\f8\fnil\fprq1\fcharset128 Courier 10 Pitch;}{\f9\fmodern\fprq1\fcharset128 Courier{\*\falt Courier New};}{\f10\fnil\fprq2\fcharset0 Droid Sans Fallback;}{\f11\fnil\fprq2\fcharset0 Droid Sans Devanagari;}{\f12\fswiss\fprq0\fcharset128 Droid Sans Devanagari;}} -{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;} -{\stylesheet{\s0\snext0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043 Normal;} -{\*\cs15\snext15\cf9\ul\ulc0\langfe255\alang255\lang255 Internet Link;} -{\s16\sbasedon0\snext17\sb240\sa120\keepn\dbch\af10\dbch\af11\afs28\loch\f4\fs28 Heading;} -{\s17\sbasedon0\snext17\sl288\slmult1\sb0\sa140 Text Body;} -{\s18\sbasedon17\snext18\sl288\slmult1\sb0\sa140\dbch\af12 List;} -{\s19\sbasedon0\snext19\sb120\sa120\noline\i\dbch\af12\afs24\ai\fs24 Caption;} -{\s20\sbasedon0\snext20\noline\dbch\af12 Index;} -}{\*\generator LibreOffice/5.2.3.3$Linux_X86_64 LibreOffice_project/20m0$Build-3}{\info{\creatim\yr0\mo0\dy0\hr0\min0}{\revtim\yr2017\mo4\dy26\hr16\min31}{\printim\yr0\mo0\dy0\hr0\min0}}{\*\userprops}\deftab720 -\viewscale120 -{\*\pgdsctbl -{\pgdsc0\pgdscuse451\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\pgdscnxt0 Default Style;}} -\formshade{\*\pgdscno0}\paperh15840\paperw12240\margl1800\margr1800\margt1440\margb1440\sectd\sbknone\sectunlocked1\pgndec\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc -{\*\ftnsep}\pgndec\pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\sb280\sa240{\cf1\b\rtlch \ltrch\loch\fs22\lang9\loch\f5\hich\af5 -Krita is free software under the GNU Public License, Version }{\cf1\b\rtlch \ltrch\loch\fs22\lang9\loch\f5\hich\af5 -3}{\cf1\b\rtlch \ltrch\loch\fs22\lang9\loch\f5\hich\af5 -. } -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\sb280\sa240{\cf1\b\rtlch \ltrch\loch\fs22\lang9\loch\f5\hich\af5 -This means you can get the source code for Krita from }{{\field{\*\fldinst HYPERLINK "http://download.kde.org/stable/krita/" }{\fldrslt {\cf9\ul\ulc0\langfe255\alang255\lang255\cf2\ul\ulc0\b\rtlch \ltrch\loch\fs22\lang9\loch\f5\hich\af5 -http://download.kde.org/stable/krita/}{}}}\cf1\b\rtlch \ltrch\loch\fs22\lang9\loch\f5\hich\af5 - and }{{\field{\*\fldinst HYPERLINK "http://download.kde.org/unstable/krita" }{\fldrslt {\cf9\ul\ulc0\langfe255\alang255\lang255\cf2\ul\ulc0\b\rtlch \ltrch\loch\fs22\lang9\loch\f5\hich\af5 -http://download.kde.org/unstable/krita}{}}}\cf1\b\rtlch \ltrch\loch\fs22\lang9\loch\f5\hich\af5 -. } -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\sb280\sa240{\cf1\b\rtlch \ltrch\loch\fs22\lang9\loch\f5\hich\af5 -The license only applies to the Krita source and binaries, and NOT to your work! You can use Krita to create artworks for commerical purposes without any limitation.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\cf1\i0\ulnone\ulc0\b0\afs14\rtlch \ltrch\fs14\lang9\loch\f8\hich\af8 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -GNU GENERAL PUBLIC LICENSE} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Version 3, 29 June 2007} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Copyright (C) 2007 Free Software Foundation, Inc. } -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Everyone is permitted to copy and distribute verbatim copies} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -of this license document, but changing it is not allowed.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Preamble} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -The GNU General Public License is a free, copyleft license for} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -software and other kinds of works.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -The licenses for most software and other practical works are designed} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -to take away your freedom to share and change the works. By contrast,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the GNU General Public License is intended to guarantee your freedom to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -share and change all versions of a program--to make sure it remains free} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -software for all its users. We, the Free Software Foundation, use the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -GNU General Public License for most of our software; it applies also to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -any other work released this way by its authors. You can apply it to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -your programs, too.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -When we speak of free software, we are referring to freedom, not} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -price. Our General Public Licenses are designed to make sure that you} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -have the freedom to distribute copies of free software (and charge for} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -them if you wish), that you receive source code or can get it if you} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -want it, that you can change the software or use pieces of it in new} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -free programs, and that you know you can do these things.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -To protect your rights, we need to prevent others from denying you} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -these rights or asking you to surrender the rights. Therefore, you have} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -certain responsibilities if you distribute copies of the software, or if} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -you modify it: responsibilities to respect the freedom of others.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -For example, if you distribute copies of such a program, whether} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -gratis or for a fee, you must pass on to the recipients the same} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -freedoms that you received. You must make sure that they, too, receive} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -or can get the source code. And you must show them these terms so they} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -know their rights.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Developers that use the GNU GPL protect your rights with two steps:} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -(1) assert copyright on the software, and (2) offer you this License} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -giving you legal permission to copy, distribute and/or modify it.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -For the developers' and authors' protection, the GPL clearly explains} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -that there is no warranty for this free software. For both users' and} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -authors' sake, the GPL requires that modified versions be marked as} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -changed, so that their problems will not be attributed erroneously to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -authors of previous versions.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Some devices are designed to deny users access to install or run} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -modified versions of the software inside them, although the manufacturer} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -can do so. This is fundamentally incompatible with the aim of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -protecting users' freedom to change the software. The systematic} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -pattern of such abuse occurs in the area of products for individuals to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -use, which is precisely where it is most unacceptable. Therefore, we} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -have designed this version of the GPL to prohibit the practice for those} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -products. If such problems arise substantially in other domains, we} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -stand ready to extend this provision to those domains in future versions} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -of the GPL, as needed to protect the freedom of users.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Finally, every program is threatened constantly by software patents.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -States should not allow patents to restrict development and use of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -software on general-purpose computers, but in those that do, we wish to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -avoid the special danger that patents applied to a free program could} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -make it effectively proprietary. To prevent this, the GPL assures that} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -patents cannot be used to render the program non-free.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -The precise terms and conditions for copying, distribution and} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -modification follow.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -TERMS AND CONDITIONS} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -0. Definitions.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -"This License" refers to version 3 of the GNU General Public License.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -"Copyright" also means copyright-like laws that apply to other kinds of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -works, such as semiconductor masks.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -"The Program" refers to any copyrightable work licensed under this} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -License. Each licensee is addressed as "you". "Licensees" and} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -"recipients" may be individuals or organizations.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -To "modify" a work means to copy from or adapt all or part of the work} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -in a fashion requiring copyright permission, other than the making of an} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -exact copy. The resulting work is called a "modified version" of the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -earlier work or a work "based on" the earlier work.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -A "covered work" means either the unmodified Program or a work based} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -on the Program.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -To "propagate" a work means to do anything with it that, without} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -permission, would make you directly or secondarily liable for} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -infringement under applicable copyright law, except executing it on a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -computer or modifying a private copy. Propagation includes copying,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -distribution (with or without modification), making available to the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -public, and in some countries other activities as well.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -To "convey" a work means any kind of propagation that enables other} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -parties to make or receive copies. Mere interaction with a user through} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -a computer network, with no transfer of a copy, is not conveying.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -An interactive user interface displays "Appropriate Legal Notices"} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -to the extent that it includes a convenient and prominently visible} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -feature that (1) displays an appropriate copyright notice, and (2)} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -tells the user that there is no warranty for the work (except to the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -extent that warranties are provided), that licensees may convey the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -work under this License, and how to view a copy of this License. If} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the interface presents a list of user commands or options, such as a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -menu, a prominent item in the list meets this criterion.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -1. Source Code.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -The "source code" for a work means the preferred form of the work} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -for making modifications to it. "Object code" means any non-source} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -form of a work.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -A "Standard Interface" means an interface that either is an official} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -standard defined by a recognized standards body, or, in the case of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -interfaces specified for a particular programming language, one that} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -is widely used among developers working in that language.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -The "System Libraries" of an executable work include anything, other} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -than the work as a whole, that (a) is included in the normal form of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -packaging a Major Component, but which is not part of that Major} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Component, and (b) serves only to enable use of the work with that} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Major Component, or to implement a Standard Interface for which an} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -implementation is available to the public in source code form. A} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -"Major Component", in this context, means a major essential component} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -(kernel, window system, and so on) of the specific operating system} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -(if any) on which the executable work runs, or a compiler used to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -produce the work, or an object code interpreter used to run it.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -The "Corresponding Source" for a work in object code form means all} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the source code needed to generate, install, and (for an executable} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -work) run the object code and to modify the work, including scripts to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -control those activities. However, it does not include the work's} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -System Libraries, or general-purpose tools or generally available free} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -programs which are used unmodified in performing those activities but} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -which are not part of the work. For example, Corresponding Source} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -includes interface definition files associated with source files for} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the work, and the source code for shared libraries and dynamically} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -linked subprograms that the work is specifically designed to require,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -such as by intimate data communication or control flow between those} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -subprograms and other parts of the work.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -The Corresponding Source need not include anything that users} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -can regenerate automatically from other parts of the Corresponding} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Source.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -The Corresponding Source for a work in source code form is that} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -same work.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -2. Basic Permissions.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -All rights granted under this License are granted for the term of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -copyright on the Program, and are irrevocable provided the stated} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -conditions are met. This License explicitly affirms your unlimited} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -permission to run the unmodified Program. The output from running a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -covered work is covered by this License only if the output, given its} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -content, constitutes a covered work. This License acknowledges your} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -rights of fair use or other equivalent, as provided by copyright law.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -You may make, run and propagate covered works that you do not} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -convey, without conditions so long as your license otherwise remains} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -in force. You may convey covered works to others for the sole purpose} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -of having them make modifications exclusively for you, or provide you} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -with facilities for running those works, provided that you comply with} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the terms of this License in conveying all material for which you do} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -not control copyright. Those thus making or running the covered works} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -for you must do so exclusively on your behalf, under your direction} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -and control, on terms that prohibit them from making any copies of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -your copyrighted material outside their relationship with you.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Conveying under any other circumstances is permitted solely under} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the conditions stated below. Sublicensing is not allowed; section 10} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -makes it unnecessary.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -3. Protecting Users' Legal Rights From Anti-Circumvention Law.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -No covered work shall be deemed part of an effective technological} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -measure under any applicable law fulfilling obligations under article} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -11 of the WIPO copyright treaty adopted on 20 December 1996, or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -similar laws prohibiting or restricting circumvention of such} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -measures.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -When you convey a covered work, you waive any legal power to forbid} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -circumvention of technological measures to the extent such circumvention} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -is effected by exercising rights under this License with respect to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the covered work, and you disclaim any intention to limit operation or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -modification of the work as a means of enforcing, against the work's} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -users, your or third parties' legal rights to forbid circumvention of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -technological measures.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -4. Conveying Verbatim Copies.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -You may convey verbatim copies of the Program's source code as you} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -receive it, in any medium, provided that you conspicuously and} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -appropriately publish on each copy an appropriate copyright notice;} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -keep intact all notices stating that this License and any} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -non-permissive terms added in accord with section 7 apply to the code;} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -keep intact all notices of the absence of any warranty; and give all} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -recipients a copy of this License along with the Program.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -You may charge any price or no price for each copy that you convey,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -and you may offer support or warranty protection for a fee.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -5. Conveying Modified Source Versions.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -You may convey a work based on the Program, or the modifications to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -produce it from the Program, in the form of source code under the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -terms of section 4, provided that you also meet all of these conditions:} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -a) The work must carry prominent notices stating that you modified} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -it, and giving a relevant date.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -b) The work must carry prominent notices stating that it is} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -released under this License and any conditions added under section} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -7. This requirement modifies the requirement in section 4 to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -"keep intact all notices".} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -c) You must license the entire work, as a whole, under this} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -License to anyone who comes into possession of a copy. This} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -License will therefore apply, along with any applicable section 7} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -additional terms, to the whole of the work, and all its parts,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -regardless of how they are packaged. This License gives no} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -permission to license the work in any other way, but it does not} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -invalidate such permission if you have separately received it.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -d) If the work has interactive user interfaces, each must display} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Appropriate Legal Notices; however, if the Program has interactive} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -interfaces that do not display Appropriate Legal Notices, your} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -work need not make them do so.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -A compilation of a covered work with other separate and independent} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -works, which are not by their nature extensions of the covered work,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -and which are not combined with it such as to form a larger program,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -in or on a volume of a storage or distribution medium, is called an} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -"aggregate" if the compilation and its resulting copyright are not} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -used to limit the access or legal rights of the compilation's users} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -beyond what the individual works permit. Inclusion of a covered work} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -in an aggregate does not cause this License to apply to the other} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -parts of the aggregate.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -6. Conveying Non-Source Forms.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -You may convey a covered work in object code form under the terms} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -of sections 4 and 5, provided that you also convey the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -machine-readable Corresponding Source under the terms of this License,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -in one of these ways:} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -a) Convey the object code in, or embodied in, a physical product} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -(including a physical distribution medium), accompanied by the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Corresponding Source fixed on a durable physical medium} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -customarily used for software interchange.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -b) Convey the object code in, or embodied in, a physical product} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -(including a physical distribution medium), accompanied by a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -written offer, valid for at least three years and valid for as} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -long as you offer spare parts or customer support for that product} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -model, to give anyone who possesses the object code either (1) a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -copy of the Corresponding Source for all the software in the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -product that is covered by this License, on a durable physical} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -medium customarily used for software interchange, for a price no} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -more than your reasonable cost of physically performing this} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -conveying of source, or (2) access to copy the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Corresponding Source from a network server at no charge.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -c) Convey individual copies of the object code with a copy of the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -written offer to provide the Corresponding Source. This} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -alternative is allowed only occasionally and noncommercially, and} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -only if you received the object code with such an offer, in accord} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -with subsection 6b.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -d) Convey the object code by offering access from a designated} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -place (gratis or for a charge), and offer equivalent access to the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Corresponding Source in the same way through the same place at no} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -further charge. You need not require recipients to copy the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Corresponding Source along with the object code. If the place to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -copy the object code is a network server, the Corresponding Source} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -may be on a different server (operated by you or a third party)} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -that supports equivalent copying facilities, provided you maintain} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -clear directions next to the object code saying where to find the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Corresponding Source. Regardless of what server hosts the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Corresponding Source, you remain obligated to ensure that it is} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -available for as long as needed to satisfy these requirements.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -e) Convey the object code using peer-to-peer transmission, provided} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -you inform other peers where the object code and Corresponding} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Source of the work are being offered to the general public at no} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -charge under subsection 6d.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -A separable portion of the object code, whose source code is excluded} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -from the Corresponding Source as a System Library, need not be} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -included in conveying the object code work.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -A "User Product" is either (1) a "consumer product", which means any} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -tangible personal property which is normally used for personal, family,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -or household purposes, or (2) anything designed or sold for incorporation} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -into a dwelling. In determining whether a product is a consumer product,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -doubtful cases shall be resolved in favor of coverage. For a particular} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -product received by a particular user, "normally used" refers to a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -typical or common use of that class of product, regardless of the status} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -of the particular user or of the way in which the particular user} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -actually uses, or expects or is expected to use, the product. A product} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -is a consumer product regardless of whether the product has substantial} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -commercial, industrial or non-consumer uses, unless such uses represent} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the only significant mode of use of the product.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -"Installation Information" for a User Product means any methods,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -procedures, authorization keys, or other information required to install} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -and execute modified versions of a covered work in that User Product from} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -a modified version of its Corresponding Source. The information must} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -suffice to ensure that the continued functioning of the modified object} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -code is in no case prevented or interfered with solely because} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -modification has been made.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -If you convey an object code work under this section in, or with, or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -specifically for use in, a User Product, and the conveying occurs as} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -part of a transaction in which the right of possession and use of the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -User Product is transferred to the recipient in perpetuity or for a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -fixed term (regardless of how the transaction is characterized), the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Corresponding Source conveyed under this section must be accompanied} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -by the Installation Information. But this requirement does not apply} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -if neither you nor any third party retains the ability to install} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -modified object code on the User Product (for example, the work has} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -been installed in ROM).} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -The requirement to provide Installation Information does not include a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -requirement to continue to provide support service, warranty, or updates} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -for a work that has been modified or installed by the recipient, or for} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the User Product in which it has been modified or installed. Access to a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -network may be denied when the modification itself materially and} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -adversely affects the operation of the network or violates the rules and} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -protocols for communication across the network.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Corresponding Source conveyed, and Installation Information provided,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -in accord with this section must be in a format that is publicly} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -documented (and with an implementation available to the public in} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -source code form), and must require no special password or key for} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -unpacking, reading or copying.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -7. Additional Terms.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -"Additional permissions" are terms that supplement the terms of this} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -License by making exceptions from one or more of its conditions.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Additional permissions that are applicable to the entire Program shall} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -be treated as though they were included in this License, to the extent} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -that they are valid under applicable law. If additional permissions} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -apply only to part of the Program, that part may be used separately} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -under those permissions, but the entire Program remains governed by} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -this License without regard to the additional permissions.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -When you convey a copy of a covered work, you may at your option} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -remove any additional permissions from that copy, or from any part of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -it. (Additional permissions may be written to require their own} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -removal in certain cases when you modify the work.) You may place} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -additional permissions on material, added by you to a covered work,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -for which you have or can give appropriate copyright permission.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Notwithstanding any other provision of this License, for material you} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -add to a covered work, you may (if authorized by the copyright holders of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -that material) supplement the terms of this License with terms:} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -a) Disclaiming warranty or limiting liability differently from the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -terms of sections 15 and 16 of this License; or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -b) Requiring preservation of specified reasonable legal notices or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -author attributions in that material or in the Appropriate Legal} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Notices displayed by works containing it; or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -c) Prohibiting misrepresentation of the origin of that material, or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -requiring that modified versions of such material be marked in} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -reasonable ways as different from the original version; or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -d) Limiting the use for publicity purposes of names of licensors or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -authors of the material; or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -e) Declining to grant rights under trademark law for use of some} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -trade names, trademarks, or service marks; or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -f) Requiring indemnification of licensors and authors of that} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -material by anyone who conveys the material (or modified versions of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -it) with contractual assumptions of liability to the recipient, for} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -any liability that these contractual assumptions directly impose on} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -those licensors and authors.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -All other non-permissive additional terms are considered "further} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -restrictions" within the meaning of section 10. If the Program as you} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -received it, or any part of it, contains a notice stating that it is} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -governed by this License along with a term that is a further} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -restriction, you may remove that term. If a license document contains} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -a further restriction but permits relicensing or conveying under this} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -License, you may add to a covered work material governed by the terms} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -of that license document, provided that the further restriction does} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -not survive such relicensing or conveying.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -If you add terms to a covered work in accord with this section, you} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -must place, in the relevant source files, a statement of the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -additional terms that apply to those files, or a notice indicating} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -where to find the applicable terms.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Additional terms, permissive or non-permissive, may be stated in the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -form of a separately written license, or stated as exceptions;} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the above requirements apply either way.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -8. Termination.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -You may not propagate or modify a covered work except as expressly} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -provided under this License. Any attempt otherwise to propagate or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -modify it is void, and will automatically terminate your rights under} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -this License (including any patent licenses granted under the third} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -paragraph of section 11).} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -However, if you cease all violation of this License, then your} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -license from a particular copyright holder is reinstated (a)} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -provisionally, unless and until the copyright holder explicitly and} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -finally terminates your license, and (b) permanently, if the copyright} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -holder fails to notify you of the violation by some reasonable means} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -prior to 60 days after the cessation.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Moreover, your license from a particular copyright holder is} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -reinstated permanently if the copyright holder notifies you of the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -violation by some reasonable means, this is the first time you have} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -received notice of violation of this License (for any work) from that} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -copyright holder, and you cure the violation prior to 30 days after} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -your receipt of the notice.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Termination of your rights under this section does not terminate the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -licenses of parties who have received copies or rights from you under} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -this License. If your rights have been terminated and not permanently} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -reinstated, you do not qualify to receive new licenses for the same} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -material under section 10.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -9. Acceptance Not Required for Having Copies.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -You are not required to accept this License in order to receive or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -run a copy of the Program. Ancillary propagation of a covered work} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -occurring solely as a consequence of using peer-to-peer transmission} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -to receive a copy likewise does not require acceptance. However,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -nothing other than this License grants you permission to propagate or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -modify any covered work. These actions infringe copyright if you do} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -not accept this License. Therefore, by modifying or propagating a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -covered work, you indicate your acceptance of this License to do so.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -10. Automatic Licensing of Downstream Recipients.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Each time you convey a covered work, the recipient automatically} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -receives a license from the original licensors, to run, modify and} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -propagate that work, subject to this License. You are not responsible} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -for enforcing compliance by third parties with this License.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -An "entity transaction" is a transaction transferring control of an} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -organization, or substantially all assets of one, or subdividing an} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -organization, or merging organizations. If propagation of a covered} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -work results from an entity transaction, each party to that} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -transaction who receives a copy of the work also receives whatever} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -licenses to the work the party's predecessor in interest had or could} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -give under the previous paragraph, plus a right to possession of the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Corresponding Source of the work from the predecessor in interest, if} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the predecessor has it or can get it with reasonable efforts.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -You may not impose any further restrictions on the exercise of the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -rights granted or affirmed under this License. For example, you may} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -not impose a license fee, royalty, or other charge for exercise of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -rights granted under this License, and you may not initiate litigation} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -(including a cross-claim or counterclaim in a lawsuit) alleging that} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -any patent claim is infringed by making, using, selling, offering for} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -sale, or importing the Program or any portion of it.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -11. Patents.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -A "contributor" is a copyright holder who authorizes use under this} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -License of the Program or a work on which the Program is based. The} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -work thus licensed is called the contributor's "contributor version".} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -A contributor's "essential patent claims" are all patent claims} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -owned or controlled by the contributor, whether already acquired or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -hereafter acquired, that would be infringed by some manner, permitted} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -by this License, of making, using, or selling its contributor version,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -but do not include claims that would be infringed only as a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -consequence of further modification of the contributor version. For} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -purposes of this definition, "control" includes the right to grant} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -patent sublicenses in a manner consistent with the requirements of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -this License.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Each contributor grants you a non-exclusive, worldwide, royalty-free} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -patent license under the contributor's essential patent claims, to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -make, use, sell, offer for sale, import and otherwise run, modify and} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -propagate the contents of its contributor version.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -In the following three paragraphs, a "patent license" is any express} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -agreement or commitment, however denominated, not to enforce a patent} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -(such as an express permission to practice a patent or covenant not to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -sue for patent infringement). To "grant" such a patent license to a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -party means to make such an agreement or commitment not to enforce a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -patent against the party.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -If you convey a covered work, knowingly relying on a patent license,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -and the Corresponding Source of the work is not available for anyone} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -to copy, free of charge and under the terms of this License, through a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -publicly available network server or other readily accessible means,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -then you must either (1) cause the Corresponding Source to be so} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -available, or (2) arrange to deprive yourself of the benefit of the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -patent license for this particular work, or (3) arrange, in a manner} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -consistent with the requirements of this License, to extend the patent} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -license to downstream recipients. "Knowingly relying" means you have} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -actual knowledge that, but for the patent license, your conveying the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -covered work in a country, or your recipient's use of the covered work} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -in a country, would infringe one or more identifiable patents in that} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -country that you have reason to believe are valid.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -If, pursuant to or in connection with a single transaction or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -arrangement, you convey, or propagate by procuring conveyance of, a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -covered work, and grant a patent license to some of the parties} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -receiving the covered work authorizing them to use, propagate, modify} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -or convey a specific copy of the covered work, then the patent license} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -you grant is automatically extended to all recipients of the covered} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -work and works based on it.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -A patent license is "discriminatory" if it does not include within} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the scope of its coverage, prohibits the exercise of, or is} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -conditioned on the non-exercise of one or more of the rights that are} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -specifically granted under this License. You may not convey a covered} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -work if you are a party to an arrangement with a third party that is} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -in the business of distributing software, under which you make payment} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -to the third party based on the extent of your activity of conveying} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the work, and under which the third party grants, to any of the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -parties who would receive the covered work from you, a discriminatory} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -patent license (a) in connection with copies of the covered work} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -conveyed by you (or copies made from those copies), or (b) primarily} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -for and in connection with specific products or compilations that} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -contain the covered work, unless you entered into that arrangement,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -or that patent license was granted, prior to 28 March 2007.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Nothing in this License shall be construed as excluding or limiting} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -any implied license or other defenses to infringement that may} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -otherwise be available to you under applicable patent law.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -12. No Surrender of Others' Freedom.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -If conditions are imposed on you (whether by court order, agreement or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -otherwise) that contradict the conditions of this License, they do not} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -excuse you from the conditions of this License. If you cannot convey a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -covered work so as to satisfy simultaneously your obligations under this} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -License and any other pertinent obligations, then as a consequence you may} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -not convey it at all. For example, if you agree to terms that obligate you} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -to collect a royalty for further conveying from those to whom you convey} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the Program, the only way you could satisfy both those terms and this} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -License would be to refrain entirely from conveying the Program.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -13. Use with the GNU Affero General Public License.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Notwithstanding any other provision of this License, you have} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -permission to link or combine any covered work with a work licensed} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -under version 3 of the GNU Affero General Public License into a single} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -combined work, and to convey the resulting work. The terms of this} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -License will continue to apply to the part which is the covered work,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -but the special requirements of the GNU Affero General Public License,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -section 13, concerning interaction through a network will apply to the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -combination as such.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -14. Revised Versions of this License.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -The Free Software Foundation may publish revised and/or new versions of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the GNU General Public License from time to time. Such new versions will} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -be similar in spirit to the present version, but may differ in detail to} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -address new problems or concerns.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Each version is given a distinguishing version number. If the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Program specifies that a certain numbered version of the GNU General} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Public License "or any later version" applies to it, you have the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -option of following the terms and conditions either of that numbered} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -version or of any later version published by the Free Software} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Foundation. If the Program does not specify a version number of the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -GNU General Public License, you may choose any version ever published} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -by the Free Software Foundation.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -If the Program specifies that a proxy can decide which future} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -versions of the GNU General Public License can be used, that proxy's} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -public statement of acceptance of a version permanently authorizes you} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -to choose that version for the Program.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Later license versions may give you additional or different} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -permissions. However, no additional obligations are imposed on any} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -author or copyright holder as a result of your choosing to follow a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -later version.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -15. Disclaimer of Warranty.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -ALL NECESSARY SERVICING, REPAIR OR CORRECTION.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -16. Limitation of Liability.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -SUCH DAMAGES.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -17. Interpretation of Sections 15 and 16.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -If the disclaimer of warranty and limitation of liability provided} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -above cannot be given local legal effect according to their terms,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -reviewing courts shall apply local law that most closely approximates} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -an absolute waiver of all civil liability in connection with the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Program, unless a warranty or assumption of liability accompanies a} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -copy of the Program in return for a fee.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -END OF TERMS AND CONDITIONS} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -How to Apply These Terms to Your New Programs} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -If you develop a new program, and you want it to be of the greatest} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -possible use to the public, the best way to achieve this is to make it} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -free software which everyone can redistribute and change under these terms.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -To do so, attach the following notices to the program. It is safest} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -to attach them to the start of each source file to most effectively} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -state the exclusion of warranty; and each file should have at least} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the "copyright" line and a pointer to where the full notice is found.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Copyright (C) } -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -This program is free software: you can redistribute it and/or modify} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -it under the terms of the GNU General Public License as published by} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the Free Software Foundation, either version 3 of the License, or} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -(at your option) any later version.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -This program is distributed in the hope that it will be useful,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -but WITHOUT ANY WARRANTY; without even the implied warranty of} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -GNU General Public License for more details.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -You should have received a copy of the GNU General Public License} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -along with this program. If not, see .} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Also add information on how to contact you by electronic and paper mail.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -If the program does terminal interaction, make it output a short} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -notice like this when it starts in an interactive mode:} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 - Copyright (C) } -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -This is free software, and you are welcome to redistribute it} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -under certain conditions; type `show c' for details.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -The hypothetical commands `show w' and `show c' should show the appropriate} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -parts of the General Public License. Of course, your program's commands} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -might be different; for a GUI interface, you would use an "about box".} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -You should also get your employer (if you work as a programmer) or school,} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -if any, to sign a "copyright disclaimer" for the program, if necessary.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -For more information on this, and how to apply and follow the GNU GPL, see} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -.} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043\afs18\rtlch \ltrch\loch\fs18\loch\f9\hich\af9 - -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\fs18\lang9\loch\f9\hich\af9 - }{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -The GNU General Public License does not permit incorporating your program} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -into proprietary programs. If your program is a subroutine library, you} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -may consider it more useful to permit linking proprietary applications with} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -the library. If this is what you want to do, use the GNU Lesser General} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -Public License instead of this License. But first, please read} -\par \pard\plain \s0\nowidctlpar\hyphpar0\cf0\kerning1\dbch\af10\langfe2052\dbch\af11\afs24\alang1081\loch\f3\hich\af3\fs24\lang1043{\afs18\rtlch \ltrch\loch\fs18\lang9\loch\f9\hich\af9 -.} -\par } \ No newline at end of file diff -Nru krita-3.1.4/packaging/windows/makepkg-32.sh krita-3.1.4+dfsg/packaging/windows/makepkg-32.sh --- krita-3.1.4/packaging/windows/makepkg-32.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/makepkg-32.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,78 +0,0 @@ -#!/bin/bash - -# Halt on errors -set -e - -# Be verbose -set -x - -BUILDROOT=/data2/cross -MXEROOT=/data2/cross/mxe/usr/i686-w64-mingw32.shared -APP=krita - -cd $BUILDROOT - -VER=$(grep "#define KRITA_VERSION_STRING" $BUILDROOT/32/build/libs/version/kritaversion.h | cut -d '"' -f 2) -cd $BUILDROOT/krita -cd .. -VERSION=$VER -VERSION="$(sed s/\ /-/g <<<$VERSION)" -echo $VERSION - -PACKAGENAME=$APP"-"$VERSION"-x86" - -mkdir -p $BUILDROOT/out/$PACKAGENAME -mkdir -p $BUILDROOT/out/$PACKAGENAME/bin/data -mkdir -p $BUILDROOT/out/$PACKAGENAME/lib -mkdir -p $BUILDROOT/out/$PACKAGENAME/share - -cp $BUILDROOT/krita/packaging/windows/krita.lnk $BUILDROOT/out/$PACKAGENAME -cp $BUILDROOT/krita/packaging/windows/qt.conf $BUILDROOT/out/$PACKAGENAME/bin - -cp $MXEROOT/bin/krita.exe $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/bin/*.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/bin/*.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/lib/libOpenColorIO.dll $BUILDROOT/out/$PACKAGENAME/bin -cp -r $MXEROOT/lib/kritaplugins $BUILDROOT/out/$PACKAGENAME/lib - -cp $MXEROOT/qt5/bin/Qt5Concurrent.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Core.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Gui.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Network.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5OpenGL.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5PrintSupport.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Qml.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Quick.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Script.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5ScriptTools.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Svg.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5SystemInfo.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Widgets.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5WinExtras.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Xml.dll $BUILDROOT/out/$PACKAGENAME/bin - -cp -r $MXEROOT/qt5/plugins/iconengines $BUILDROOT/out/$PACKAGENAME/bin/ -cp -r $MXEROOT/qt5/plugins/imageformats $BUILDROOT/out/$PACKAGENAME/bin/ -cp -r $MXEROOT/qt5/plugins/printsupport $BUILDROOT/out/$PACKAGENAME/bin/ -cp -r $MXEROOT/qt5/plugins/platforms $BUILDROOT/out/$PACKAGENAME/bin/ -cp -r $MXEROOT/lib/plugins/imageformats/* $BUILDROOT/out/$PACKAGENAME/bin/imageformats/ - -mkdir $BUILDROOT/out/$PACKAGENAME/bin/translations -cp -r $BUILDROOT/qt-translations/qt_* $BUILDROOT/out/$PACKAGENAME/bin/translations - -cp -r $MXEROOT/share/color $BUILDROOT/out/$PACKAGENAME/share -cp -r $MXEROOT/share/color-schemes $BUILDROOT/out/$PACKAGENAME/share -cp -r $MXEROOT/share/kf5 $BUILDROOT/out/$PACKAGENAME/share -cp -r $MXEROOT/share/krita $BUILDROOT/out/$PACKAGENAME/share -cp -r $MXEROOT/share/locale $BUILDROOT/out/$PACKAGENAME/bin/data -cp -r $MXEROOT/share/ocio $BUILDROOT/out/$PACKAGENAME/share - -cd $BUILDROOT/out/ - -zip -r $PACKAGENAME-dbg.zip $PACKAGENAME - -find $BUILDROOT/out/$PACKAGENAME/bin -name \*exe | xargs $BUILDROOT/mxe/usr/bin/i686-w64-mingw32.shared-strip -find $BUILDROOT/out/$PACKAGENAME/bin -name \*dll | xargs $BUILDROOT/mxe/usr/bin/i686-w64-mingw32.shared-strip -find $BUILDROOT/out/$PACKAGENAME/lib -name \*dll | xargs $BUILDROOT/mxe/usr/bin/i686-w64-mingw32.shared-strip - -zip -r $PACKAGENAME.zip $PACKAGENAME diff -Nru krita-3.1.4/packaging/windows/makepkg-64.sh krita-3.1.4+dfsg/packaging/windows/makepkg-64.sh --- krita-3.1.4/packaging/windows/makepkg-64.sh 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/makepkg-64.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,90 +0,0 @@ -#!/bin/bash - -# Halt on errors -set -e - -# Be verbose -set -x - -BUILDROOT=/data2/cross2 -MXEROOT=/data2/cross2/mxe/usr/x86_64-w64-mingw32.shared -APP=krita - -cd $BUILDROOT - -VER=$(grep "#define KRITA_VERSION_STRING" $BUILDROOT/build/libs/version/kritaversion.h | cut -d '"' -f 2) -cd $BUILDROOT/krita -BRANCH=$( git branch | cut -d ' ' -f 2) -BRANCH="$(sed s/\ /-/g <<<$VERSION)" -REVISION=$(git rev-parse --short HEAD) -cd .. -VERSION=$VER$BRANCH-$REVISION -VERSION="$(sed s/\ /-/g <<<$VERSION)" -echo $VERSION - -PACKAGENAME=$APP"-"$VERSION"-x64" - -rm -rf $BUILDROOT/out/$PACKAGENAME -mkdir -p $BUILDROOT/out/$PACKAGENAME -mkdir -p $BUILDROOT/out/$PACKAGENAME/bin/data -mkdir -p $BUILDROOT/out/$PACKAGENAME/lib -mkdir -p $BUILDROOT/out/$PACKAGENAME/share - -cp $BUILDROOT/krita/packaging/windows/krita.lnk $BUILDROOT/out/$PACKAGENAME -cp $BUILDROOT/krita/packaging/windows/qt.conf $BUILDROOT/out/$PACKAGENAME/bin - -cp $MXEROOT/bin/krita.exe $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/bin/*.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/bin/*.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/lib/libOpenColorIO.dll $BUILDROOT/out/$PACKAGENAME/bin -cp -r $MXEROOT/lib/kritaplugins $BUILDROOT/out/$PACKAGENAME/lib - -cp $MXEROOT/qt5/bin/Qt5Concurrent.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Core.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Gui.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Network.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5OpenGL.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5PrintSupport.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Qml.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Quick.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Script.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5ScriptTools.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Svg.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Widgets.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5WinExtras.dll $BUILDROOT/out/$PACKAGENAME/bin -cp $MXEROOT/qt5/bin/Qt5Xml.dll $BUILDROOT/out/$PACKAGENAME/bin - -cp -r $MXEROOT/qt5/plugins/iconengines $BUILDROOT/out/$PACKAGENAME/bin/ -cp -r $MXEROOT/qt5/plugins/imageformats $BUILDROOT/out/$PACKAGENAME/bin/ -cp -r $MXEROOT/qt5/plugins/printsupport $BUILDROOT/out/$PACKAGENAME/bin/ -cp -r $MXEROOT/qt5/plugins/platforms $BUILDROOT/out/$PACKAGENAME/bin/ -cp -r $MXEROOT/lib/plugins/imageformats/* $BUILDROOT/out/$PACKAGENAME/bin/imageformats/ - -mkdir $BUILDROOT/out/$PACKAGENAME/bin/translations -cp -r $BUILDROOT/qt-translations/qt_* $BUILDROOT/out/$PACKAGENAME/bin/translations - -cp -r $MXEROOT/bin/data/color $BUILDROOT/out/$PACKAGENAME/bin/data -cp -r $MXEROOT/bin/data/color-schemes $BUILDROOT/out/$PACKAGENAME/bin/data -cp -r $MXEROOT/bin/data/kf5 $BUILDROOT/out/$PACKAGENAME/bin/data -cp -r $MXEROOT/bin/data/krita $BUILDROOT/out/$PACKAGENAME/share -cp -r $MXEROOT/bin/data/locale $BUILDROOT/out/$PACKAGENAME/bin/data -cp -r $MXEROOT/share/ocio $BUILDROOT/out/$PACKAGENAME/share - -cd $BUILDROOT -rm krita-3.0-l10n-win-current.tar.gz || true -rm -rf locale - -wget http://files.kde.org/krita/build/krita-3.0-l10n-win-current.tar.gz -tar -xf krita-3.0-l10n-win-current.tar.gz -cp -r $BUILDROOT/locale $BUILDROOT/out/$PACKAGENAME/bin/data - -cd $BUILDROOT/out/ - -zip -r $PACKAGENAME-dbg.zip $PACKAGENAME - -find $BUILDROOT/out/$PACKAGENAME/bin -name \*exe | xargs $BUILDROOT/mxe/usr/bin/x86_64-w64-mingw32.shared-strip -find $BUILDROOT/out/$PACKAGENAME/bin -name \*dll | xargs $BUILDROOT/mxe/usr/bin/x86_64-w64-mingw32.shared-strip -find $BUILDROOT/out/$PACKAGENAME/lib -name \*dll | xargs $BUILDROOT/mxe/usr/bin/x86_64-w64-mingw32.shared-strip - -zip -r $PACKAGENAME.zip $PACKAGENAME - diff -Nru krita-3.1.4/packaging/windows/makepkg.bat krita-3.1.4+dfsg/packaging/windows/makepkg.bat --- krita-3.1.4/packaging/windows/makepkg.bat 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/makepkg.bat 1970-01-01 00:00:00.000000000 +0000 @@ -1,77 +0,0 @@ -:: This batch script is meant to prepare a Krita package folder to be zipped or -:: to be a base for the installer. -:: -:: Just drop it next to the "i" install folder where the dependencies and Krita binaries are. -:: -:: TODO: Ask if the user want to make an archive and with which tool -:: TODO: Maybe ask for a custom install folder name? - -@echo off - -if not exist i\ ( -echo Cannot find the install folder! -pause -exit /B -) - -set /P pkg_root=Insert krita package name: - -if [%pkg_root%] == [] ( -echo You entered an empty name! -pause -exit /B -) - -:: Initial folder setup -mkdir %pkg_root% -mkdir %pkg_root%\bin -mkdir %pkg_root%\lib -mkdir %pkg_root%\share - -:: Bin folder -copy i\bin\krita.exe %pkg_root%\bin -copy i\bin\*.dll %pkg_root%\bin -copy i\lib\*.dll %pkg_root%\bin -xcopy /S /Y /I i\lib\plugins\imageformats %pkg_root%\bin\imageformats -xcopy /S /Y /I i\lib\plugins\kf5 %pkg_root%\bin\kf5 -xcopy /S /Y /I i\plugins\platforms\qwindows.dll %pkg_root%\bin\platforms\ -xcopy /Y i\plugins\iconengines\*.dll %pkg_root%\bin\iconengines\ - -:: Translations -mkdir %pkg_root%\bin\translations -copy i\translations\qt_ca.qm %pkg_root%\bin\translations\qt_ca.qm -copy i\translations\qt_cs.qm %pkg_root%\bin\translations\qt_cs.qm -copy i\translations\qt_de.qm %pkg_root%\bin\translations\qt_de.qm -copy i\translations\qt_en.qm %pkg_root%\bin\translations\qt_en.qm -copy i\translations\qt_fi.qm %pkg_root%\bin\translations\qt_fi.qm -copy i\translations\qt_he.qm %pkg_root%\bin\translations\qt_hu.qm -copy i\translations\qt_it.qm %pkg_root%\bin\translations\qt_it.qm -copy i\translations\qt_ja.qm %pkg_root%\bin\translations\qt_ja.qm -copy i\translations\qt_ko.qm %pkg_root%\bin\translations\qt_ko.qm -copy i\translations\qt_lv.qm %pkg_root%\bin\translations\qt_lv.qm -copy i\translations\qt_ru.qm %pkg_root%\bin\translations\qt_ru.qm -copy i\translations\qt_sk.qm %pkg_root%\bin\translations\qt_sk.qm -copy i\translations\qt_uk.qm %pkg_root%\bin\translations\qt_uk.qm -copy i\translations\qt_fr.qm %pkg_root%\bin\translations\qt_fr.qm - -:: Lib -xcopy /Y i\lib\kritaplugins\*.dll %pkg_root%\lib\kritaplugins\ - -:: Share -xcopy /Y /S /I i\share\appdata %pkg_root%\share\appdata -xcopy /Y /S /I i\share\applications %pkg_root%\share\applications -xcopy /Y /S /I i\share\color %pkg_root%\share\color -xcopy /Y /S /I i\share\color-schemes %pkg_root%\share\color-schemes -xcopy /Y /S /I i\share\doc %pkg_root%\share\doc -xcopy /Y /S /I i\share\icons %pkg_root%\share\icons -xcopy /Y /S /I i\share\kf5 %pkg_root%\share\kf5 -xcopy /Y /S /I i\share\krita %pkg_root%\share\krita -xcopy /Y /S /I i\share\kritaplugins %pkg_root%\share\kritaplugins -xcopy /Y /S /I i\share\kservices5 %pkg_root%\share\kservices5 -xcopy /Y /S /I i\share\locale %pkg_root%\share\locale -xcopy /Y /S /I i\share\man %pkg_root%\share\man -xcopy /Y /S /I i\share\mime %pkg_root%\share\mime -xcopy /Y /S /I i\share\ocio %pkg_root%\share\ocio - -::Link -mklink %pkg_root%\krita.exe bin\krita.exe diff -Nru krita-3.1.4/packaging/windows/mxe.txt krita-3.1.4+dfsg/packaging/windows/mxe.txt --- krita-3.1.4/packaging/windows/mxe.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/mxe.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ -# Where are you building? -export BUILDROOT=???? - -cd $BUILDROOT -mkdir cross -mkdir cross/b -mkdir cross/d -mkdir cross/krita-build - -git clone git@github.com:boudewijnrempt/mxe.git -cd mxe -export PATH=$BUILDROOT/mxe/usr/bin:$BUILDROOT/mxe/usr/x86_64-w64-mingw32.shared/qt5/bin:$PATH - -# note: poppler-qt5 and gsl don't work yet -# Use i686-w64-mingw32.shared for 32 bits builds -# note: vc is 1.2, so we either need zagge's branch, or you need to build Vc 0.75 -# yourself. Make sure you use -DBUILD_TESTING=OFF for Vc -make MXE_TARGETS=x86_64-w64-mingw32.shared gcc boost curl eigen exiv2 expat fftw fontconfig freetype gettext ilmbase openexr jpeg lcms libpng libraw opencolorio qt5 qtscript tiff vc zlib gsl - -cd $BUILDROOT -git clone git://anongit.kde.org/krita.git - - -# build the deps that aren't in mxe - -cd b - -x86_64-w64-mingw32.shared-cmake ../krita/3rdparty/ -DEXTERNALS_DOWNLOAD_DIR=$BUILDROOT/d -DINSTALL_ROOT=$BUILDROOT/mxe/usr/x86_64-w64-mingw32.shared -DMXE_TOOLCHAIN=${BUILDROOT}/mxe/usr/x86_64-w64-mingw32.shared/share/cmake/mxe-conf.cmake - -x86_64-w64-mingw32.shared-cmake --build . --target ext_kcrash -x86_64-w64-mingw32.shared-cmake --build . --target ext_poppler - -# You might want to build gsl and vc 0.75 manually - - -# build krita -cd ../build -x86_64-w64-mingw32.shared-cmake ../krita -DDEFINE_NO_DEPRECATED=1 -DBUILD_TESTING=OFF -DKDE4_BUILD_TESTS=OFF -make -j4 install - -# to test, configure wine -# WINEARCH=win64 WINEPREFIX=~/.wine64 winecfg -# Go to the bin directory and test krita: -# WINEPREFIX=~/.wine64 wine ./krita.exe - - -NOTE: Windragon's patch to vc does not work when cross-building vc from -ext_vc. The patch also needs to be added to mxe/vc. The reason is wrong -defines for determining whether we're using mingw. diff -Nru krita-3.1.4/packaging/windows/notes.txt krita-3.1.4+dfsg/packaging/windows/notes.txt --- krita-3.1.4/packaging/windows/notes.txt 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/notes.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -Windows - -copy zlib.lib to zdll.lib for Qt to find it -same for png and ext_tiff - -copy Half.dll from lib to bin; openexr still cannot find ilmbase - -exiv2: currently tzname hacked out, should be be #define tzname _tzname - -todo: libssh, libcurl, libgsl - -boost_system needs to be renamed to plain boost_system.lib - -cl errors out during cmake phase - -need to add png2ico, icons, mimeinfo, translations - -=========================== - -3rdparty deps: - -poppler: doesn't build with msvc 2015 bevause of compiler compatibility issues diff -Nru krita-3.1.4/packaging/windows/package_2.cmd krita-3.1.4+dfsg/packaging/windows/package_2.cmd --- krita-3.1.4/packaging/windows/package_2.cmd 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/package_2.cmd 1970-01-01 00:00:00.000000000 +0000 @@ -1,331 +0,0 @@ -@echo off -:: This batch script is meant to prepare a Krita package folder to be zipped or -:: to be a base for the installer. -:: -:: Just drop it next to the "i" install folder where the dependencies and Krita -:: binaries are. -:: -:: Also copy filelist_bin_dll.txt and filelist_lib_dll.txt if you want more -:: fine-grained DLL dependencies copying. -:: -:: You may want to review the following parameters. -:: -:: Configuration parameters: -:: -:: MINGW_GCC_BIN: Path to the mingw-w64/bin dir -:: SEVENZIP_EXE: Path to 7-Zip executable (either 7z.exe or 7zG.exe) -:: BUILDDIR_SRC: Path to krita source dir (for package shortcut) -:: BUILDDIR_INSTALL: Path to INSTALL prefix of the build -:: -:: Note that paths should only contain alphanumeric, _ and -, except for the -:: path to 7-Zip, which is fine if quoted. -:: -set MINGW_GCC_BIN=C:\TDM-GCC-64\bin\ -set SEVENZIP_EXE="C:\Program Files\7-Zip\7z.exe" -rem set BUILDDIR_SRC=%CD%\krita -set BUILDDIR_SRC=%CD%\krita -set BUILDDIR_INSTALL=%CD%\i - -:: -------- - -set PATH=%MINGW_GCC_BIN%;%PATH% - -echo Krita Windows packaging script -echo. -echo Configurations: -echo MINGW_GCC_BIN: %MINGW_GCC_BIN% -echo SEVENZIP_EXE: %SEVENZIP_EXE% -echo BUILDDIR_SRC: %BUILDDIR_SRC% -echo BUILDDIR_INSTALL: %BUILDDIR_INSTALL% -echo. - -if "%1" == "" ( - set PAUSE=pause -) else ( - set "PAUSE= " -) - -:: Simple checking -if not exist %BUILDDIR_INSTALL% ( - echo ERROR: Cannot find the install folder! - %PAUSE% - exit /B 1 -) -if not "%BUILDDIR_INSTALL: =%" == "%BUILDDIR_INSTALL%" ( - echo ERROR: Install path contains space, which will not work properly! - %PAUSE% - exit /B 1 -) - -:: Decide package name to use -if "%1" == "" ( - echo Please input a package name. It will be used for the output directory, package - echo file name and as the top-level directory of the package. - echo Alternatively, you can pass it as the first argument to this script. - echo You should only use alphanumeric, _ and - - echo. - set /P pkg_name=Package name^> - setlocal - if "!pkg_name!" == "" ( - echo ERROR: You cannot choose an empty name! - %PAUSE% - exit /B 1 - ) - endlocal -) else ( - set pkg_name=%1 -) -echo Package name is "%pkg_name%" - -set pkg_root=%CD%\%pkg_name% -echo Packaging dir is %pkg_root% -echo. -if exist %pkg_root% ( - echo ERROR: Packaging dir already exists! Please remove or rename it first. - %PAUSE% - exit /B 1 -) - -echo. -echo Trying to guess GCC version... -g++ --version > NUL -if errorlevel 1 ( - echo ERROR: g++ is not working. - %PAUSE% - exit /B 1 -) -for /f "delims=" %%a in ('g++ --version ^| find "g++"') do set GCC_VERSION_LINE=%%a -echo -- %GCC_VERSION_LINE% -if "%GCC_VERSION_LINE:tdm64=%" == "%GCC_VERSION_LINE%" ( - echo Compiler doesn't look like TDM64-GCC, assuming simple mingw-w64 - set IS_TDM= -) else ( - echo Compiler looks like TDM64-GCC - set IS_TDM=1 -) - -echo. -echo Trying to guess target architecture... -objdump --version > NUL -if errorlevel 1 ( - echo ERROR: objdump is not working. - %PAUSE% - exit /B 1 -) -for /f "delims=, tokens=1" %%a in ('objdump -f %BUILDDIR_INSTALL%\bin\krita.exe ^| find "architecture"') do set TARGET_ARCH_LINE=%%a -echo -- %TARGET_ARCH_LINE% -if "%TARGET_ARCH_LINE:x86-64=%" == "%TARGET_ARCH_LINE%" ( - echo Target looks like x86 - set IS_X64= -) else ( - echo Target looks like x64 - set IS_x64=1 -) - -echo. -echo Testing for objcopy... -objcopy --version > NUL -if errorlevel 1 ( - echo ERROR: objcopy is not working. - %PAUSE% - exit /B 1 -) - -echo. -echo Testing for strip... -strip --version > NUL -if errorlevel 1 ( - echo ERROR: strip is not working. - %PAUSE% - exit /B 1 -) - -echo. -echo Creating base directories... -mkdir %pkg_root% && ^ -mkdir %pkg_root%\bin && ^ -mkdir %pkg_root%\lib && ^ -mkdir %pkg_root%\share -if errorlevel 1 ( - echo ERROR: Cannot create packaging dir tree! - %PAUSE% - exit /B 1 -) - -echo. -echo Copying GCC libraries... -if x%IS_TDM% == x ( - if x%is_x64% == x ( - :: mingw-w64 x86 - set "STDLIBS=gcc_s_dw2-1 gomp-1 stdc++-6 winpthread-1" - ) else ( - :: mingw-w64 x64 - set "STDLIBS=gcc_s_seh-1 gomp-1 stdc++-6 winpthread-1" - ) -) else ( - if x%is_x64% == x ( - :: TDM-GCC x86 - set "STDLIBS=gomp-1" - ) else ( - :: TDM-GCC x64 - set "STDLIBS=gomp_64-1" - ) -) -for %%L in (%STDLIBS%) do copy "%MINGW_GCC_BIN%\lib%%L.dll" %pkg_root%\bin - -echo. -echo Copying files... -:: krita.exe -copy %BUILDDIR_INSTALL%\bin\krita.exe %pkg_root%\bin -:: DLLs from bin/ -if exist filelist_bin_dll.txt ( - for /f %%F in (filelist_bin_dll.txt) do copy %BUILDDIR_INSTALL%\bin\%%F %pkg_root%\bin -) else ( - echo INFO: filelist_bin_dll.txt not found, copying all DLLs except Qt5 from bin/ - setlocal enableextensions enabledelayedexpansion - for /f "delims=" %%F in ('dir /b "%BUILDDIR_INSTALL%\bin\*.dll"') do ( - set file=%%F - set file=!file:~0,3! - if not x!file! == xQt5 copy %BUILDDIR_INSTALL%\bin\%%F %pkg_root%\bin - ) - endlocal -) -:: symsrv.yes for Dr. Mingw -copy %BUILDDIR_INSTALL%\bin\symsrv.yes %pkg_root%\bin -:: DLLs from lib/ -if exist filelist_lib_dll.txt ( - for /f %%F in (filelist_lib_dll.txt) do copy %BUILDDIR_INSTALL%\lib\%%F %pkg_root%\bin -) else ( - echo INFO: filelist_lib_dll.txt not found, copying all DLLs from lib/ - copy %BUILDDIR_INSTALL%\lib\*.dll %pkg_root%\bin -) -:: Boost, there might be more than one leftover but we can't really do much -copy %BUILDDIR_INSTALL%\bin\libboost_system-*.dll %pkg_root%\bin -:: KF5 plugins may be placed at different locations depending on how Qt is built -xcopy /S /Y /I %BUILDDIR_INSTALL%\lib\plugins\imageformats %pkg_root%\bin\imageformats -xcopy /S /Y /I %BUILDDIR_INSTALL%\plugins\imageformats %pkg_root%\bin\imageformats -xcopy /S /Y /I %BUILDDIR_INSTALL%\lib\plugins\kf5 %pkg_root%\bin\kf5 -xcopy /S /Y /I %BUILDDIR_INSTALL%\plugins\kf5 %pkg_root%\bin\kf5 -:: Qt Translations -:: it seems that windeployqt does these, but only *some* of these??? -mkdir %pkg_root%\bin\translations -setlocal enableextensions enabledelayedexpansion -for /f "delims=" %%F in ('dir /b "%BUILDDIR_INSTALL%\translations\qt_*.qm"') do ( - :: Exclude qt_help_*.qm - set temp=%%F - set temp2=!temp:_help=! - if x!temp2! == x!temp! copy %BUILDDIR_INSTALL%\translations\!temp! %pkg_root%\bin\translations\!temp! -) -endlocal -:: Krita plugins -xcopy /Y %BUILDDIR_INSTALL%\lib\kritaplugins\*.dll %pkg_root%\lib\kritaplugins\ - -:: Share -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\color %pkg_root%\share\color -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\color-schemes %pkg_root%\share\color-schemes -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\icons %pkg_root%\share\icons -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\kf5 %pkg_root%\share\kf5 -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\krita %pkg_root%\share\krita -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\kritaplugins %pkg_root%\share\kritaplugins -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\mime %pkg_root%\share\mime -:: Not useful on Windows it seems -rem xcopy /Y /S /I %BUILDDIR_INSTALL%\share\appdata %pkg_root%\share\appdata -rem xcopy /Y /S /I %BUILDDIR_INSTALL%\share\applications %pkg_root%\share\applications -rem xcopy /Y /S /I %BUILDDIR_INSTALL%\share\doc %pkg_root%\share\doc -rem xcopy /Y /S /I %BUILDDIR_INSTALL%\share\kservices5 %pkg_root%\share\kservices5 -rem xcopy /Y /S /I %BUILDDIR_INSTALL%\share\man %pkg_root%\share\man -rem xcopy /Y /S /I %BUILDDIR_INSTALL%\share\ocio %pkg_root%\share\ocio - -:: Copy locale to bin -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\locale %pkg_root%\bin\locale - -:: Copy shortcut link from source (can't create it dynamically) -copy %BUILDDIR_SRC%\packaging\windows\krita.lnk %pkg_root% - -:: windeployqt -%BUILDDIR_INSTALL%\bin\windeployqt.exe --release -concurrent -network -printsupport -svg -xml -multimedia %pkg_root%\bin\krita.exe - -:: For chopping relative path -:: 512 should be enough -:: n+2 to also account for a trailing backslash -setlocal enableextensions enabledelayedexpansion -for /L %%n in (1 1 512) do if "!pkg_root:~%%n,1!" neq "" set /a "pkg_root_len_plus_one=%%n+2" -endlocal & set pkg_root_len_plus_one=%pkg_root_len_plus_one% - -echo. -echo Splitting debug info from binaries... -call :split-debug "%pkg_root%\bin\krita.exe" bin\krita.exe -setlocal enableextensions enabledelayedexpansion -:: Find all DLLs -for /r "%pkg_root%" %%F in (*.dll) do ( - set relpath=%%F - set relpath=!relpath:~%pkg_root_len_plus_one%! - call :split-debug "%%F" !relpath! -) -endlocal - -echo. -echo Packaging debug info... -:: (note that the top-level package dir is not included) -%SEVENZIP_EXE% a -tzip %pkg_name%-dbg.zip -r %pkg_root%\*.debug -echo -------- - -echo. -echo Packaging stripped binaries... -%SEVENZIP_EXE% a -tzip %pkg_name%.zip %pkg_root%\ -xr!.debug -echo -------- - -echo. -echo. -echo Krita packaged as %pkg_name%.zip -if exist %pkg_name%-dbg.zip echo Debug info packaged as %pkg_name%-dbg.zip -echo Packaging dir is %pkg_root% -echo NOTE: Do not create installer with packaging dir unless you removed all debug -echo info from it! -echo. -echo Please remember to actually test the package before releasing it. -echo. -%PAUSE% - -exit /b - -:split-debug -echo Splitting debug info of %2 -objcopy --only-keep-debug %~1 %~1.debug -if ERRORLEVEL 1 exit /b %ERRORLEVEL% -:: If the debug file is small enough then consider there being no debug info. -:: Discard these files since they somehow make gdb crash. -call :getfilesize %~1.debug -if /i %getfilesize_retval% LEQ 2048 ( - echo Discarding %2.debug - del %~1.debug - exit /b 0 -) -if not exist %~dp1.debug mkdir %~dp1.debug -move %~1.debug %~dp1.debug\ > NUL -strip %~1 -:: Add debuglink -:: FIXME: There is a problem with gdb that cause it to output this warning -:: FIXME: "warning: section .gnu_debuglink not found in xxx.debug" -:: FIXME: I tried adding a link to itself but this kills drmingw :( -objcopy --add-gnu-debuglink="%~dp1.debug\%~nx1.debug" %~1 -exit /b %ERRORLEVEL% - -:getfilesize -set getfilesize_retval=%~z1 -goto :eof - -:relpath_dirpath -call :relpath_dirpath_internal "" "%~1" -goto :eof - -:relpath_dirpath_internal -for /f "tokens=1* delims=\" %%a in ("%~2") do ( - :: If part 2 is empty, it means part 1 is probably the file name - if x%%b==x ( - set relpath_dirpath_retval=%~1 - ) else ( - call :relpath_dirpath_internal "%~1%%a\" %%b - ) -) -goto :eof diff -Nru krita-3.1.4/packaging/windows/package.bat krita-3.1.4+dfsg/packaging/windows/package.bat --- krita-3.1.4/packaging/windows/package.bat 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/package.bat 1970-01-01 00:00:00.000000000 +0000 @@ -1,103 +0,0 @@ -:: This batch script is meant to prepare a Krita package folder to be zipped or -:: to be a base for the installer. -:: -:: Just drop it next to the "i" install folder where the dependencies and Krita binaries are. -:: -:: TODO: Ask if the user want to make an archive and with which tool -:: TODO: Maybe ask for a custom install folder name? -set ZIP="c:\Program Files\7-Zip" -set MINGW_GCC_BIN=c:\TDM-GCC-64\bin\ -set BUILDROOT=%CD% - -set BUILDDIR_INSTALL=%BUILDROOT%\i -set PATH=%MINGW_GCC_BIN%;%PATH% - -@echo off - -if not exist %BUILDDIR_INSTALL% ( -echo Cannot find the install folder! -pause -exit /B -) - -set /P pkg_root=Insert krita package name: - -if [%pkg_root%] == [] ( -echo You entered an empty name! -pause -exit /B -) - -:: Initial folder setup -mkdir %pkg_root% -mkdir %pkg_root%\bin -mkdir %pkg_root%\lib -mkdir %pkg_root%\share - -:: Bin folder -copy %MINGW_GCC_BIN%\lib*.dll %pkg_root%\bin -copy %BUILDDIR_INSTALL%\bin\krita.exe %pkg_root%\bin -copy %BUILDDIR_INSTALL%\bin\*.dll %pkg_root%\bin -copy %BUILDDIR_INSTALL%\lib\*.dll %pkg_root%\bin -xcopy /S /Y /I %BUILDDIR_INSTALL%\plugins\imageformats %pkg_root%\bin\imageformats -xcopy /S /Y /I %BUILDDIR_INSTALL%\plugins\kf5 %pkg_root%\bin\kf5 -xcopy /S /Y /I %BUILDDIR_INSTALL%\plugins\platforms\qwindows.dll %pkg_root%\bin\platforms\ -xcopy /S /Y /I %BUILDDIR_INSTALL%\plugins\printsupport %pkg_root%\bin\printsupport -xcopy /Y %BUILDDIR_INSTALL%\plugins\iconengines\*.dll %pkg_root%\bin\iconengines\ - -:: Translations -mkdir %pkg_root%\bin\translations -copy %BUILDDIR_INSTALL%\translations\qt_ca.qm %pkg_root%\bin\translations\qt_ca.qm -copy %BUILDDIR_INSTALL%\translations\qt_cs.qm %pkg_root%\bin\translations\qt_cs.qm -copy %BUILDDIR_INSTALL%\translations\qt_de.qm %pkg_root%\bin\translations\qt_de.qm -copy %BUILDDIR_INSTALL%\translations\qt_en.qm %pkg_root%\bin\translations\qt_en.qm -copy %BUILDDIR_INSTALL%\translations\qt_fi.qm %pkg_root%\bin\translations\qt_fi.qm -copy %BUILDDIR_INSTALL%\translations\qt_he.qm %pkg_root%\bin\translations\qt_hu.qm -copy %BUILDDIR_INSTALL%\translations\qt_it.qm %pkg_root%\bin\translations\qt_it.qm -copy %BUILDDIR_INSTALL%\translations\qt_ja.qm %pkg_root%\bin\translations\qt_ja.qm -copy %BUILDDIR_INSTALL%\translations\qt_ko.qm %pkg_root%\bin\translations\qt_ko.qm -copy %BUILDDIR_INSTALL%\translations\qt_lv.qm %pkg_root%\bin\translations\qt_lv.qm -copy %BUILDDIR_INSTALL%\translations\qt_ru.qm %pkg_root%\bin\translations\qt_ru.qm -copy %BUILDDIR_INSTALL%\translations\qt_sk.qm %pkg_root%\bin\translations\qt_sk.qm -copy %BUILDDIR_INSTALL%\translations\qt_uk.qm %pkg_root%\bin\translations\qt_uk.qm -copy %BUILDDIR_INSTALL%\translations\qt_fr.qm %pkg_root%\bin\translations\qt_fr.qm - -:: Lib -xcopy /Y %BUILDDIR_INSTALL%\lib\kritaplugins\*.dll %pkg_root%\lib\kritaplugins\ -strip %pkg_root%\lib\kritaplugins\*.dll - -:: Share -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\appdata %pkg_root%\share\appdata -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\applications %pkg_root%\share\applications -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\color %pkg_root%\share\color -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\color-schemes %pkg_root%\share\color-schemes -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\doc %pkg_root%\share\doc -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\icons %pkg_root%\share\icons -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\kf5 %pkg_root%\share\kf5 -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\krita %pkg_root%\share\krita -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\kritaplugins %pkg_root%\share\kritaplugins -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\kservices5 %pkg_root%\share\kservices5 -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\locale %pkg_root%\bin\locale -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\man %pkg_root%\share\man -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\mime %pkg_root%\share\mime -xcopy /Y /S /I %BUILDDIR_INSTALL%\share\ocio %pkg_root%\share\ocio - -::Link -copy %BUILDROOT%\krita\packaging\windows\krita.lnk %pkg_root% - -%BUILDDIR_INSTALL%\bin\windeployqt.exe %pkg_root%\bin\krita.exe - -:: Debug build - -%ZIP%\7z.exe a -tzip %pkg_root%-dbg.zip %pkg_root% - -:: Bin folder -strip %pkg_root%\bin\krita.exe -strip %pkg_root%\bin\*.dll -strip %pkg_root%\bin\imageformats\*.dll -strip %pkg_root%\bin\kf5\*.dll -strip %pkg_root%\bin\kf5\org.kde.kwindowsystem.platforms\*.dll -strip %pkg_root%\bin\platforms\*.dll -strip %pkg_root%\bin\iconengines\*.dll - -%ZIP%\7z.exe a -tzip %pkg_root%.zip %pkg_root% diff -Nru krita-3.1.4/packaging/windows/qt.conf krita-3.1.4+dfsg/packaging/windows/qt.conf --- krita-3.1.4/packaging/windows/qt.conf 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/packaging/windows/qt.conf 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -[Paths] -Prefix = . -Translations = translations diff -Nru krita-3.1.4/winquirks/netinet/in.h krita-3.1.4+dfsg/winquirks/netinet/in.h --- krita-3.1.4/winquirks/netinet/in.h 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/winquirks/netinet/in.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#ifndef QUIRK_NETINET_IN_H -#define QUIRK_NETINET_IN_H - -/* - * this is used for htonl mostly. - * - * while POSIX specifies as the portable - * include file, is used throughout - * calligra. - * - */ - -#pragma message("winquirk: no netinet/in.h!") -#include -#endif diff -Nru krita-3.1.4/winquirks/README krita-3.1.4+dfsg/winquirks/README --- krita-3.1.4/winquirks/README 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/winquirks/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -Without introducing some artificial compatibility layers, -a native windows development environment (e.g. Visual Studio 2010) -does not know about some includes known in the UNIX world. - -For this reason the winquirks/ directory shall provide a minimal -approach to such an compatibility layer. diff -Nru krita-3.1.4/winquirks/sys/time.h krita-3.1.4+dfsg/winquirks/sys/time.h --- krita-3.1.4/winquirks/sys/time.h 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/winquirks/sys/time.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ -#ifndef QUIRK_SYS_TIME_H -#define QUIRK_SYS_TIME_H - -#include -#include - -#if defined(_MSC_VER) || defined(_MSC_EXTENSIONS) - #include - #define DELTA_EPOCH_IN_MICROSECS 11644473600000000Ui64 -#else - #define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL -#endif - -#ifndef _TIMEZONE_DEFINED /* Matches sys/time.h and mingw32/include/time.h */ -#define _TIMEZONE_DEFINED -struct timezone -{ - int tz_minuteswest; /* minutes W of Greenwich */ - int tz_dsttime; /* type of dst correction */ -}; -#endif - -static int -gettimeofday(struct timeval * tv, struct timezone * tz) -{ - FILETIME ft; - unsigned __int64 tmpres = 0; - static int tzflag; - - if (NULL != tv) - { - GetSystemTimeAsFileTime(&ft); - - tmpres |= ft.dwHighDateTime; - tmpres <<= 32; - tmpres |= ft.dwLowDateTime; - - /*converting file time to unix epoch*/ - tmpres -= DELTA_EPOCH_IN_MICROSECS; - tmpres /= 10; /*convert into microseconds*/ - tv->tv_sec = (long)(tmpres / 1000000UL); - tv->tv_usec = (long)(tmpres % 1000000UL); - } - - if (NULL != tz) - { - if (!tzflag) - { - _tzset(); - tzflag++; - } - tz->tz_minuteswest = _timezone / 60; - tz->tz_dsttime = _daylight; - } - - return 0; -} -#endif diff -Nru krita-3.1.4/winquirks/sys/utsname.h krita-3.1.4+dfsg/winquirks/sys/utsname.h --- krita-3.1.4/winquirks/sys/utsname.h 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/winquirks/sys/utsname.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -#ifndef QUIRK_SYS_UTSNAME_H -#define QUIRK_SYS_UTSNAME_H -#pragma message("winquirk: no sys/utsname.h!") -#endif diff -Nru krita-3.1.4/winquirks/unistd.h krita-3.1.4+dfsg/winquirks/unistd.h --- krita-3.1.4/winquirks/unistd.h 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/winquirks/unistd.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,189 +0,0 @@ -#ifndef QUIRK_UNISTD_H -#define QUIRK_UNISTD_H - -#ifndef _MSC_VER -#include -#else - -#pragma message("winquirk: no unistd.h!") - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#define getpid _getpid -#define popen _popen -#define pclose _pclose -#define ssize_t SSIZE_T - -#if 0 -static int gethostname(char *__name, size_t __len) { - DWORD len = __len; - if (0==GetComputerNameA(__name, &len)) - return -1; - return 0; -} -#endif - - -#define environ _environ - -/* -#define _IFMT 0170000 // type of file -#define _IFDIR 0040000 // directory -#define S_ISDIR(m) (((m)&_IFMT) == _IFDIR) -*/ - -#define S_ISUID 0004000 -#define S_IRWXU 0000700 -#define S_IRWXG 0000070 -#define S_IRWXO 0000007 -#define S_ISGID 0002000 -#define S_ISVTX 0001000 - -#define S_IRUSR 0000400 -#define S_IWUSR 0000200 - -#define S_IRGRP 0000040 -#define S_IWGRP 0000020 - -#define S_IROTH 0000004 -#define S_IWOTH 0000002 - -#define PATH_SEPARATOR '\\' - -#if defined(_MSC_VER) && !defined(S_IREAD) -# define S_IFMT _S_IFMT /* File type mask */ -# define S_IFDIR _S_IFDIR /* Directory */ -# define S_IFCHR _S_IFCHR /* Character device */ -# define S_IFFIFO _S_IFFIFO /* Pipe */ -# define S_IFREG _S_IFREG /* Regular file */ -# define S_IREAD _S_IREAD /* Read permission */ -# define S_IWRITE _S_IWRITE /* Write permission */ -# define S_IEXEC _S_IEXEC /* Execute permission */ -#endif - -#define S_IFFIFO 0 -#define S_IFLNK 0 -#define S_IFBLK 0 -#define S_IFSOCK 0 -#define S_IXUSR 0 -#define S_IXGRP 0 -#define S_IXOTH 0 - -#if 0 -#define S_ISLNK(x) 0 -#define S_ISBLK(x) 0 -#define S_ISCHR(x) 0 -#define S_ISFIFO(x) 0 -#define S_ISSOCK(x) 0 -#else -#define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFFIFO) -#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) -#define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG) -#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK) -#define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK) -#define S_ISCHR(mode) (((mode) & S_IFMT) == S_IFCHR) -#define S_ISBLK(mode) (((mode) & S_IFMT) == S_IFBLK) -#endif - - -#define F_OK 0 -#define R_OK 4 -#define W_OK 2 -#define X_OK 1 - -#ifndef STDIN_FILENO -#define STDIN_FILENO 0 -#endif - -#ifndef STDOUT_FILENO -#define STDOUT_FILENO 1 -#endif - -#ifndef STDERR_FILENO -#define STDERR_FILENO 2 -#endif - -#if defined _MSC_VER -#if _MSC_VER < 1600 -#define ENOTSUP ENOSYS -#endif -#endif -typedef unsigned int gid_t; -typedef unsigned int uid_t; - -#if defined(__MINGW64__) && defined(_WIN64) -/* MINGW_EXTENSION */ -typedef long long int pid_t; -/* "long long int" is an alternative to __int64 */ -#else -typedef int mode_t; -typedef int pid_t; -#endif - - -#define getgroups(x,y) 0 - -static uid_t geteuid() { - return -2; -} - -static uid_t getuid() { - return -2; -} - -static int readlink(const char *__path, char *__buf, int __buflen) -{ - if (!__path) { - errno = EINVAL; - return -1; - } - if ( (__buflen < 0) || ((int)strlen(__path)>(__buflen-1)) ) - { - errno = ENAMETOOLONG; - return -1; - } - if (access(__path, R_OK) == 0) { - /* ok, copy to buf */ - strncpy(__buf,__path,__buflen); - errno = 0; - return 0; - } - errno = ENOENT; - return -1; -} - - -#ifdef __cplusplus -extern "C" { - -#if 0 -int setenv(const char *name, const char *value, int overwrite); -int unsetenv (const char *name); -#endif - -} -#endif /* __cplusplus */ - - -static int sleep(unsigned int sec) { - Sleep(sec*1000); - return 0; -} - -#endif -#endif diff -Nru krita-3.1.4/winquirks/utime.h krita-3.1.4+dfsg/winquirks/utime.h --- krita-3.1.4/winquirks/utime.h 2017-05-26 06:47:55.000000000 +0000 +++ krita-3.1.4+dfsg/winquirks/utime.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -#ifndef QUIRK_UTIME_H -#define QUIRK_UTIME_H -#pragma message("winquirk: no utime.h!") - -#include - -#include - -#endif