@ -1,60 +0,0 @@ | |||
include $(TOPDIR)/rules.mk | |||
PKG_NAME:=libfolly | |||
PKG_VERSION:=2019.10.07.00 | |||
PKG_RELEASE:=1 | |||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||
PKG_SOURCE_URL:=https://codeload.github.com/facebook/folly/tar.gz/v$(PKG_VERSION)? | |||
PKG_HASH:=3c8ab22e551ff73509aa008454d5e15da9a05b64bc20450459c3da2471729fff | |||
PKG_BUILD_DIR:=$(BUILD_DIR)/folly-$(PKG_VERSION) | |||
PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com> | |||
PKG_LICENSE:=Apache-2.0 | |||
PKG_LICENSE_FILES:=LICENSE | |||
PKG_BUILD_PARALLEL:=1 | |||
CMAKE_INSTALL:=1 | |||
include $(INCLUDE_DIR)/package.mk | |||
include $(INCLUDE_DIR)/cmake.mk | |||
define Package/libfolly | |||
SECTION:=libs | |||
CATEGORY:=Libraries | |||
TITLE:=An open-source C++ library developed and used at Facebook. | |||
URL:=https://github.com/facebook/folly | |||
DEPENDS:=+boost +boost-context +boost-filesystem +boost-program_options +boost-regex \ | |||
+libopenssl +libdouble-conversion +libevent2 +glog +libsodium +libaio +libatomic \ | |||
+libbz2 +zlib +libzstd +liblzma +liblz4 +PACKAGE_libunwind:libunwind | |||
endef | |||
define Package/libfolly/description | |||
An open-source C++ library developed and used at Facebook. | |||
Folly (acronymed loosely after Facebook Open Source Library) is a library of | |||
C++14 components designed with practicality and efficiency in mind. | |||
Folly contains a variety of core library components used extensively at Facebook. | |||
This package includes the shared library. | |||
endef | |||
CMAKE_OPTIONS += \ | |||
-DBUILD_SHARED_LIBS=ON \ | |||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \ | |||
-DFOLLY_HAVE_UNALIGNED_ACCESS_EXITCODE=OFF \ | |||
-DFOLLY_HAVE_UNALIGNED_ACCESS_EXITCODE__TRYRUN_OUTPUT=OFF \ | |||
-DFOLLY_HAVE_LINUX_VDSO_EXITCODE=OFF \ | |||
-DFOLLY_HAVE_LINUX_VDSO_EXITCODE__TRYRUN_OUTPUT=OFF \ | |||
-DFOLLY_HAVE_WCHAR_SUPPORT_EXITCODE=OFF \ | |||
-DFOLLY_HAVE_WCHAR_SUPPORT_EXITCODE__TRYRUN_OUTPUT=OFF \ | |||
-DHAVE_VSNPRINTF_ERRORS_EXITCODE=OFF \ | |||
-DHAVE_VSNPRINTF_ERRORS_EXITCODE__TRYRUN_OUTPUT=OFF | |||
TARGET_CXXFLAGS += -ffunction-sections -fdata-sections -flto | |||
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed | |||
define Package/libfolly/install | |||
$(INSTALL_DIR) $(1)/usr/lib | |||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfolly*.so* $(1)/usr/lib/ | |||
endef | |||
$(eval $(call BuildPackage,libfolly)) |
@ -1,38 +0,0 @@ | |||
--- a/CMakeLists.txt | |||
+++ b/CMakeLists.txt | |||
@@ -112,17 +112,19 @@ configure_file( | |||
auto_sources(files "*.cpp" "RECURSE" "${FOLLY_DIR}") | |||
auto_sources(hfiles "*.h" "RECURSE" "${FOLLY_DIR}") | |||
+string(REPLACE + \\+ FOLLY_DIR_ESCAPED ${FOLLY_DIR}) | |||
+ | |||
# Exclude tests, benchmarks, and other standalone utility executables from the | |||
# library sources. Test sources are listed separately below. | |||
REMOVE_MATCHES_FROM_LISTS(files hfiles | |||
MATCHES | |||
- "^${FOLLY_DIR}/build/" | |||
- "^${FOLLY_DIR}/experimental/exception_tracer/" | |||
- "^${FOLLY_DIR}/experimental/pushmi/" | |||
- "^${FOLLY_DIR}/futures/exercises/" | |||
- "^${FOLLY_DIR}/logging/example/" | |||
- "^${FOLLY_DIR}/(.*/)?test/" | |||
- "^${FOLLY_DIR}/tools/" | |||
+ "^${FOLLY_DIR_ESCAPED}/build/" | |||
+ "^${FOLLY_DIR_ESCAPED}/experimental/exception_tracer/" | |||
+ "^${FOLLY_DIR_ESCAPED}/experimental/pushmi/" | |||
+ "^${FOLLY_DIR_ESCAPED}/futures/exercises/" | |||
+ "^${FOLLY_DIR_ESCAPED}/logging/example/" | |||
+ "^${FOLLY_DIR_ESCAPED}/(.*/)?test/" | |||
+ "^${FOLLY_DIR_ESCAPED}/tools/" | |||
"Benchmark.cpp$" | |||
"Test.cpp$" | |||
) | |||
@@ -175,7 +177,7 @@ list(APPEND hfiles | |||
if (NOT FOLLY_USE_SYMBOLIZER) | |||
REMOVE_MATCHES_FROM_LISTS(files hfiles | |||
MATCHES | |||
- "^${FOLLY_DIR}/experimental/symbolizer/" | |||
+ "^${FOLLY_DIR_ESCAPED}/experimental/symbolizer/" | |||
) | |||
list(REMOVE_ITEM files | |||
${FOLLY_DIR}/SingletonStackTrace.cpp |
@ -1,10 +0,0 @@ | |||
--- a/folly/stats/detail/BufferedStat-inl.h | |||
+++ b/folly/stats/detail/BufferedStat-inl.h | |||
@@ -69,7 +69,6 @@ void BufferedStat<DigestT, ClockT>::doUpdate( | |||
TimePoint now, | |||
const std::unique_lock<SharedMutex>& g, | |||
UpdateMode updateMode) { | |||
- DCHECK(g.owns_lock()); | |||
// Check that no other thread has performed the slide after the check | |||
auto oldExpiry = expiry_.load(std::memory_order_relaxed).tp; | |||
if (now > oldExpiry || updateMode == UpdateMode::Now) { |
@ -1,12 +0,0 @@ | |||
diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake | |||
index 0c212057..a4c06695 100644 | |||
--- a/CMake/folly-deps.cmake | |||
+++ b/CMake/folly-deps.cmake | |||
@@ -12,7 +12,6 @@ find_package(Boost 1.51.0 MODULE | |||
program_options | |||
regex | |||
system | |||
- thread | |||
REQUIRED | |||
) | |||
list(APPEND FOLLY_LINK_LIBRARIES ${Boost_LIBRARIES}) |
@ -1,11 +0,0 @@ | |||
--- a/folly/portability/Asm.h | |||
+++ b/folly/portability/Asm.h | |||
@@ -38,7 +38,7 @@ inline void asm_volatile_pause() { | |||
::_mm_pause(); | |||
#elif defined(__i386__) || FOLLY_X64 | |||
asm volatile("pause"); | |||
-#elif FOLLY_AARCH64 || defined(__arm__) | |||
+#elif FOLLY_AARCH64 || (defined(__arm__) && !(__ARM_ARCH < 7)) | |||
asm volatile("yield"); | |||
#elif FOLLY_PPC64 | |||
asm volatile("or 27,27,27"); |