aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2016-12-27 14:41:39 -0800
committerAlexander Karatarakis <alkarata@microsoft.com>2016-12-27 14:41:39 -0800
commita06fa64182a0c1f41793c1d023d168e288820f91 (patch)
tree280dc19b7e64c22dad894e0652bdbf99226e3982
parente1e4596ec943aa7b38b6d18f30fad0794b70f422 (diff)
parent7ecf688cca944629a8cf09eaf1276b7dc69c1021 (diff)
downloadvcpkg-a06fa64182a0c1f41793c1d023d168e288820f91.tar.gz
vcpkg-a06fa64182a0c1f41793c1d023d168e288820f91.zip
Merge branch 'add-liblzma' of https://github.com/codicodi/vcpkg into codicodi-add-liblzma
-rw-r--r--ports/liblzma/CMakeLists.txt104
-rw-r--r--ports/liblzma/CONTROL3
-rw-r--r--ports/liblzma/auto-define-lzma-api-static.patch14
-rw-r--r--ports/liblzma/portfile.cmake29
4 files changed, 150 insertions, 0 deletions
diff --git a/ports/liblzma/CMakeLists.txt b/ports/liblzma/CMakeLists.txt
new file mode 100644
index 000000000..5bf723c2f
--- /dev/null
+++ b/ports/liblzma/CMakeLists.txt
@@ -0,0 +1,104 @@
+cmake_minimum_required(VERSION 3.0)
+project(liblzma)
+
+add_definitions(-DHAVE_CONFIG_H)
+if(BUILD_SHARED_LIBS)
+ add_definitions(-DLIBLZMADLL_EXPORTS)
+ add_definitions(-DDLL_EXPORT)
+endif()
+
+include_directories(windows)
+include_directories(src/liblzma/common)
+include_directories(src/common)
+include_directories(src/liblzma/api)
+include_directories(src/liblzma/check)
+include_directories(src/liblzma/delta)
+include_directories(src/liblzma/lz)
+include_directories(src/liblzma/lzma)
+include_directories(src/liblzma/rangecoder)
+include_directories(src/liblzma/simple)
+
+add_library(liblzma
+ src/common/tuklib_cpucores.c
+ src/common/tuklib_physmem.c
+ src/liblzma/check/check.c
+ src/liblzma/check/crc32_fast.c
+ src/liblzma/check/crc32_table.c
+ src/liblzma/check/crc64_fast.c
+ src/liblzma/check/crc64_table.c
+ src/liblzma/check/sha256.c
+ src/liblzma/common/alone_decoder.c
+ src/liblzma/common/alone_encoder.c
+ src/liblzma/common/auto_decoder.c
+ src/liblzma/common/block_buffer_decoder.c
+ src/liblzma/common/block_buffer_encoder.c
+ src/liblzma/common/block_decoder.c
+ src/liblzma/common/block_encoder.c
+ src/liblzma/common/block_header_decoder.c
+ src/liblzma/common/block_header_encoder.c
+ src/liblzma/common/block_util.c
+ src/liblzma/common/common.c
+ src/liblzma/common/easy_buffer_encoder.c
+ src/liblzma/common/easy_decoder_memusage.c
+ src/liblzma/common/easy_encoder.c
+ src/liblzma/common/easy_encoder_memusage.c
+ src/liblzma/common/easy_preset.c
+ src/liblzma/common/filter_buffer_decoder.c
+ src/liblzma/common/filter_buffer_encoder.c
+ src/liblzma/common/filter_common.c
+ src/liblzma/common/filter_decoder.c
+ src/liblzma/common/filter_encoder.c
+ src/liblzma/common/filter_flags_decoder.c
+ src/liblzma/common/filter_flags_encoder.c
+ src/liblzma/common/hardware_cputhreads.c
+ src/liblzma/common/hardware_physmem.c
+ src/liblzma/common/index.c
+ src/liblzma/common/index_decoder.c
+ src/liblzma/common/index_encoder.c
+ src/liblzma/common/index_hash.c
+ src/liblzma/common/outqueue.c
+ src/liblzma/common/stream_buffer_decoder.c
+ src/liblzma/common/stream_buffer_encoder.c
+ src/liblzma/common/stream_decoder.c
+ src/liblzma/common/stream_encoder.c
+ src/liblzma/common/stream_encoder_mt.c
+ src/liblzma/common/stream_flags_common.c
+ src/liblzma/common/stream_flags_decoder.c
+ src/liblzma/common/stream_flags_encoder.c
+ src/liblzma/common/vli_decoder.c
+ src/liblzma/common/vli_encoder.c
+ src/liblzma/common/vli_size.c
+ src/liblzma/delta/delta_common.c
+ src/liblzma/delta/delta_decoder.c
+ src/liblzma/delta/delta_encoder.c
+ src/liblzma/lzma/fastpos_table.c
+ src/liblzma/lzma/lzma2_decoder.c
+ src/liblzma/lzma/lzma2_encoder.c
+ src/liblzma/lzma/lzma_decoder.c
+ src/liblzma/lzma/lzma_encoder.c
+ src/liblzma/lzma/lzma_encoder_optimum_fast.c
+ src/liblzma/lzma/lzma_encoder_optimum_normal.c
+ src/liblzma/lzma/lzma_encoder_presets.c
+ src/liblzma/lz/lz_decoder.c
+ src/liblzma/lz/lz_encoder.c
+ src/liblzma/lz/lz_encoder_mf.c
+ src/liblzma/rangecoder/price_table.c
+ src/liblzma/simple/arm.c
+ src/liblzma/simple/armthumb.c
+ src/liblzma/simple/ia64.c
+ src/liblzma/simple/powerpc.c
+ src/liblzma/simple/simple_coder.c
+ src/liblzma/simple/simple_decoder.c
+ src/liblzma/simple/simple_encoder.c
+ src/liblzma/simple/sparc.c
+ src/liblzma/simple/x86.c)
+
+install(TARGETS liblzma
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib)
+
+if(NOT LIBLZMA_SKIP_HEADERS)
+ install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma DESTINATION include)
+ install(FILES ${PROJECT_SOURCE_DIR}/src/liblzma/api/lzma.h DESTINATION include)
+endif()
diff --git a/ports/liblzma/CONTROL b/ports/liblzma/CONTROL
new file mode 100644
index 000000000..648316130
--- /dev/null
+++ b/ports/liblzma/CONTROL
@@ -0,0 +1,3 @@
+Source: liblzma
+Version: 5.2.2
+Description: Compression library with an API similar to that of zlib.
diff --git a/ports/liblzma/auto-define-lzma-api-static.patch b/ports/liblzma/auto-define-lzma-api-static.patch
new file mode 100644
index 000000000..b2643fe6a
--- /dev/null
+++ b/ports/liblzma/auto-define-lzma-api-static.patch
@@ -0,0 +1,14 @@
+diff --git a/lzma.h b/lzma.h
+index ce675a7..ac0fc98 100644
+--- a/lzma.h
++++ b/lzma.h
+@@ -187,6 +187,9 @@
+ * need to worry about LZMA_API_STATIC. Also the calling convention is
+ * omitted on Cygwin but not on MinGW.
+ */
++
++#define LZMA_API_STATIC
++
+ #ifndef LZMA_API_IMPORT
+ # if !defined(LZMA_API_STATIC) && defined(_WIN32) && !defined(__GNUC__)
+ # define LZMA_API_IMPORT __declspec(dllimport)
diff --git a/ports/liblzma/portfile.cmake b/ports/liblzma/portfile.cmake
new file mode 100644
index 000000000..bb2b6e083
--- /dev/null
+++ b/ports/liblzma/portfile.cmake
@@ -0,0 +1,29 @@
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/xz-5.2.2)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://tukaani.org/xz/xz-5.2.2.tar.gz"
+ FILENAME "xz-5.2.2.tar.gz"
+ SHA512 8d6249f93c5c43e1c8eeb21f93b22330fd54575e20bbb4af3d06721192d9f0ca3351878964c9640238ac410b7dd9f16329793c7be7355c7ca0db92c6db6ab813)
+
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS_DEBUG
+ -DLIBLZMA_SKIP_HEADERS=ON)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/auto-define-lzma-api-static.patch)
+endif()
+
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblzma)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/liblzma/COPYING ${CURRENT_PACKAGES_DIR}/share/liblzma/copyright)