aboutsummaryrefslogtreecommitdiff
path: root/ports/folly
diff options
context:
space:
mode:
authorThad House <thadhouse1@gmail.com>2019-05-31 13:49:13 -0700
committerThad House <thadhouse1@gmail.com>2019-05-31 13:49:13 -0700
commit788af2a75cfddbb9ef4e4217f4c0b506d25f2f3b (patch)
tree173ade0e6960917458afe9dd9fb0c3c2b7f32051 /ports/folly
parentf483ae4c7fd04eed671a1de595374f84175311e9 (diff)
parent26a9338c5055193915290527eacb37f2ac7fdcb8 (diff)
downloadvcpkg-788af2a75cfddbb9ef4e4217f4c0b506d25f2f3b.tar.gz
vcpkg-788af2a75cfddbb9ef4e4217f4c0b506d25f2f3b.zip
Merge master
Diffstat (limited to 'ports/folly')
-rw-r--r--ports/folly/CONTROL4
-rw-r--r--ports/folly/boost-1.70.patch23
-rw-r--r--ports/folly/find-double-conversion.patch25
-rw-r--r--ports/folly/find-gflags.patch13
-rw-r--r--ports/folly/missing-include-atomic.patch12
-rw-r--r--ports/folly/no-werror.patch12
-rw-r--r--ports/folly/portfile.cmake36
-rw-r--r--ports/folly/reorder-glog-gflags.patch28
8 files changed, 108 insertions, 45 deletions
diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL
index e780db110..1d673877f 100644
--- a/ports/folly/CONTROL
+++ b/ports/folly/CONTROL
@@ -1,7 +1,7 @@
Source: folly
-Version: 2019.01.28.00-1
+Version: 2019.05.13.00
Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows
-Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread
+Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread, boost-smart-ptr
Default-Features: zlib
Feature: zlib
diff --git a/ports/folly/boost-1.70.patch b/ports/folly/boost-1.70.patch
new file mode 100644
index 000000000..97c01116d
--- /dev/null
+++ b/ports/folly/boost-1.70.patch
@@ -0,0 +1,23 @@
+diff --git a/folly/portability/PThread.cpp b/folly/portability/PThread.cpp
+index d75e012..03019f3 100644
+--- a/folly/portability/PThread.cpp
++++ b/folly/portability/PThread.cpp
+@@ -18,6 +18,9 @@
+
+ #if !FOLLY_HAVE_PTHREAD && _WIN32
+ #include <boost/thread/tss.hpp> // @manual
++#include <boost/thread/exceptions.hpp>
++#include <boost/shared_ptr.hpp>
++#include <boost/thread/thread_only.hpp>
+
+ #include <errno.h>
+
+@@ -684,7 +687,7 @@ int pthread_setspecific(pthread_key_t key, const void* value) {
+ // function, which we don't want to do.
+ boost::detail::set_tss_data(
+ realKey,
+- boost::shared_ptr<boost::detail::tss_cleanup_function>(),
++ 0,0,
+ const_cast<void*>(value),
+ false);
+ return 0;
diff --git a/ports/folly/find-double-conversion.patch b/ports/folly/find-double-conversion.patch
new file mode 100644
index 000000000..53f49e831
--- /dev/null
+++ b/ports/folly/find-double-conversion.patch
@@ -0,0 +1,25 @@
+diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake
+index 1522db2..5ed2ea9 100644
+--- a/CMake/folly-deps.cmake
++++ b/CMake/folly-deps.cmake
+@@ -17,9 +17,17 @@ find_package(Boost 1.51.0 MODULE
+ list(APPEND FOLLY_LINK_LIBRARIES ${Boost_LIBRARIES})
+ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS})
+
+-find_package(DoubleConversion MODULE REQUIRED)
+-list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY})
+-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR})
++find_package(double-conversion CONFIG REQUIRED)
++if (double-conversion_FOUND)
++ message(STATUS "Found double-conversion from package config")
++ set(FOLLY_HAVE_DOUBLE_CONVERSION ON)
++ # How to obtain link libraries from target? double-conversion doesn't set property INTERFACE_LINK_LIBRARIES
++ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR})
++else()
++ find_package(DoubleConversion MODULE)
++ list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY})
++ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR})
++endif()
+
+ set(FOLLY_HAVE_LIBGFLAGS OFF)
+ find_package(gflags CONFIG REQUIRED)
diff --git a/ports/folly/find-gflags.patch b/ports/folly/find-gflags.patch
deleted file mode 100644
index a3e011683..000000000
--- a/ports/folly/find-gflags.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake
-index 437c0cd..5530a35 100644
---- a/CMake/folly-deps.cmake
-+++ b/CMake/folly-deps.cmake
-@@ -22,7 +22,7 @@ list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY})
- list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR})
-
- set(FOLLY_HAVE_LIBGFLAGS OFF)
--find_package(gflags CONFIG QUIET)
-+find_package(gflags CONFIG REQUIRED)
- if (gflags_FOUND)
- message(STATUS "Found gflags from package config")
- set(FOLLY_HAVE_LIBGFLAGS ON)
diff --git a/ports/folly/missing-include-atomic.patch b/ports/folly/missing-include-atomic.patch
new file mode 100644
index 000000000..54c1a4817
--- /dev/null
+++ b/ports/folly/missing-include-atomic.patch
@@ -0,0 +1,12 @@
+diff --git a/folly/portability/PThread.cpp b/folly/portability/PThread.cpp
+index 2891c4c..7c98975 100644
+--- a/folly/portability/PThread.cpp
++++ b/folly/portability/PThread.cpp
+@@ -28,6 +28,7 @@
+ #include <mutex>
+ #include <shared_mutex>
+ #include <thread>
++#include <atomic>
+
+ #include <folly/lang/Assume.h>
+ #include <folly/portability/Windows.h>
diff --git a/ports/folly/no-werror.patch b/ports/folly/no-werror.patch
deleted file mode 100644
index 32fbc9494..000000000
--- a/ports/folly/no-werror.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/CMake/FollyCompilerUnix.cmake b/CMake/FollyCompilerUnix.cmake
-index a9cc2c1..de7d714 100644
---- a/CMake/FollyCompilerUnix.cmake
-+++ b/CMake/FollyCompilerUnix.cmake
-@@ -34,7 +34,6 @@ function(apply_folly_compile_options_to_target THETARGET)
- -std=${CXX_STD}
- -finput-charset=UTF-8
- -fsigned-char
-- -Werror
- -Wall
- -Wno-deprecated
- -Wno-deprecated-declarations
diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake
index 3c695cc99..e77c084f6 100644
--- a/ports/folly/portfile.cmake
+++ b/ports/folly/portfile.cmake
@@ -1,13 +1,10 @@
+include(vcpkg_common_functions)
+
if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
message(FATAL_ERROR "Folly only supports the x64 architecture.")
endif()
-if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- message(STATUS "Warning: Dynamic building not supported yet. Building static.")
- set(VCPKG_LIBRARY_LINKAGE static)
-endif()
-
-include(vcpkg_common_functions)
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
# Required to run build/generate_escape_tables.py et al.
vcpkg_find_acquire_program(PYTHON3)
@@ -17,12 +14,13 @@ vcpkg_add_to_path("${PYTHON3_DIR}")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/folly
- REF v2019.01.28.00
- SHA512 cdd32d863bd98b31332fbcb25a548407857ffd8e611fb5d243821f43fcf240cb796fb4520dddec5537f398c10492e1ecb03de22f7ec0384b98411e9906f40d09
+ REF v2019.05.13.00
+ SHA512 5dfeef0c2845b15e32a29119921d65e349a7ae9bcfa25c406d42d8df1614d2542153cd0ad8d0cf22592045b24272375a7839af91579d6be685cb8a3512586689
HEAD_REF master
PATCHES
- find-gflags.patch
- no-werror.patch
+ missing-include-atomic.patch
+ boost-1.70.patch
+ reorder-glog-gflags.patch
)
file(COPY
@@ -80,15 +78,17 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH share/folly)
# We substitute with generator expressions so that the right libraries are linked for debug and release.
set(FOLLY_TARGETS_CMAKE "${CURRENT_PACKAGES_DIR}/share/folly/folly-targets.cmake")
FILE(READ ${FOLLY_TARGETS_CMAKE} _contents)
-STRING(REPLACE
-[[
-"Threads::Threads;Iphlpapi.lib;Ws2_32.lib;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_context-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_context-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_chrono-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_chrono-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_date_time-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_date_time-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_filesystem-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_filesystem-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_program_options-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_program_options-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_regex-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_regex-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_system-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_system-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_thread-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_thread-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_atomic-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_atomic-vc140-mt-gd.lib>;${_IMPORT_PREFIX}/lib/double-conversion.lib;${_IMPORT_PREFIX}/lib/ssleay32.lib;${_IMPORT_PREFIX}/lib/libeay32.lib;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/zlib.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/zlibd.lib>;gflags;glog::glog;event"
-]]
-[[
-"Threads::Threads;Iphlpapi.lib;Ws2_32.lib;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_context-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_context-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_chrono-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_chrono-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_date_time-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_date_time-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_filesystem-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_filesystem-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_program_options-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_program_options-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_regex-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_regex-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_system-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_system-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_thread-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_thread-vc140-mt-gd.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/boost_atomic-vc140-mt.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/boost_atomic-vc140-mt-gd.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/double-conversion.lib>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/double-conversion.lib>;${_IMPORT_PREFIX}/lib/ssleay32.lib;${_IMPORT_PREFIX}/lib/libeay32.lib;\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/zlib.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/zlibd.lib>;gflags;glog::glog;event"
-]]
- _contents "${_contents}")
+string(REPLACE "\${_IMPORT_PREFIX}/lib/zlib.lib" "ZLIB::ZLIB" _contents "${_contents}")
+STRING(REPLACE "\${_IMPORT_PREFIX}/lib/" "\${_IMPORT_PREFIX}/\$<\$<CONFIG:DEBUG>:debug/>lib/" _contents "${_contents}")
+STRING(REPLACE "\${_IMPORT_PREFIX}/debug/lib/" "\${_IMPORT_PREFIX}/\$<\$<CONFIG:DEBUG>:debug/>lib/" _contents "${_contents}")
+string(REPLACE "-vc140-mt.lib" "-vc140-mt\$<\$<CONFIG:DEBUG>:-gd>.lib" _contents "${_contents}")
FILE(WRITE ${FOLLY_TARGETS_CMAKE} "${_contents}")
+FILE(READ ${CURRENT_PACKAGES_DIR}/share/folly/folly-config.cmake _contents)
+FILE(WRITE ${CURRENT_PACKAGES_DIR}/share/folly/folly-config.cmake
+"include(CMakeFindDependencyMacro)
+find_dependency(Threads)
+find_dependency(glog CONFIG)
+${_contents}")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/folly/reorder-glog-gflags.patch b/ports/folly/reorder-glog-gflags.patch
new file mode 100644
index 000000000..85fd1d9fb
--- /dev/null
+++ b/ports/folly/reorder-glog-gflags.patch
@@ -0,0 +1,28 @@
+diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake
+index e0bbcbb..fb45331 100644
+--- a/CMake/folly-deps.cmake
++++ b/CMake/folly-deps.cmake
+@@ -24,6 +24,11 @@ find_package(DoubleConversion MODULE REQUIRED)
+ list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY})
+ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR})
+
++find_package(Glog MODULE)
++set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND})
++list(APPEND FOLLY_LINK_LIBRARIES ${GLOG_LIBRARY})
++list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR})
++
+ find_package(Gflags MODULE)
+ set(FOLLY_HAVE_LIBGFLAGS ${LIBGFLAGS_FOUND})
+ list(APPEND FOLLY_LINK_LIBRARIES ${LIBGFLAGS_LIBRARY})
+@@ -31,11 +36,6 @@ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBGFLAGS_INCLUDE_DIR})
+ list(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBGFLAGS_LIBRARY})
+ list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBGFLAGS_INCLUDE_DIR})
+
+-find_package(Glog MODULE)
+-set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND})
+-list(APPEND FOLLY_LINK_LIBRARIES ${GLOG_LIBRARY})
+-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR})
+-
+ find_package(LibEvent MODULE REQUIRED)
+ list(APPEND FOLLY_LINK_LIBRARIES ${LIBEVENT_LIB})
+ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR})