diff options
Diffstat (limited to 'vcpkg/ports/libmemcached-awesome')
| -rw-r--r-- | vcpkg/ports/libmemcached-awesome/in_port_t.diff | 15 | ||||
| -rw-r--r-- | vcpkg/ports/libmemcached-awesome/no-static-exports.diff | 72 | ||||
| -rw-r--r-- | vcpkg/ports/libmemcached-awesome/p9y-targets.diff | 12 | ||||
| -rw-r--r-- | vcpkg/ports/libmemcached-awesome/portfile.cmake | 57 | ||||
| -rw-r--r-- | vcpkg/ports/libmemcached-awesome/vcpkg.json | 18 |
5 files changed, 174 insertions, 0 deletions
diff --git a/vcpkg/ports/libmemcached-awesome/in_port_t.diff b/vcpkg/ports/libmemcached-awesome/in_port_t.diff new file mode 100644 index 0000000..e5e095f --- /dev/null +++ b/vcpkg/ports/libmemcached-awesome/in_port_t.diff @@ -0,0 +1,15 @@ +diff --git a/include/libmemcached-1.0/struct/server.h b/include/libmemcached-1.0/struct/server.h +index 9a27c9c9..69d9696d 100644 +--- a/include/libmemcached-1.0/struct/server.h ++++ b/include/libmemcached-1.0/struct/server.h +@@ -21,6 +21,10 @@ + # include <netdb.h> + #endif + ++#ifdef HAVE_IN_PORT_T ++# include <netinet/in.h> ++#endif ++ + #ifdef NI_MAXHOST + # define MEMCACHED_NI_MAXHOST NI_MAXHOST + #else diff --git a/vcpkg/ports/libmemcached-awesome/no-static-exports.diff b/vcpkg/ports/libmemcached-awesome/no-static-exports.diff new file mode 100644 index 0000000..3269e35 --- /dev/null +++ b/vcpkg/ports/libmemcached-awesome/no-static-exports.diff @@ -0,0 +1,72 @@ +diff --git a/include/libhashkit-1.0/visibility.h b/include/libhashkit-1.0/visibility.h +index dce8c097..6eeb7314 100644 +--- a/include/libhashkit-1.0/visibility.h ++++ b/include/libhashkit-1.0/visibility.h +@@ -23,7 +23,10 @@ + * HASHKIT_LOCAL is used for non-api symbols. + */ + +-#if defined(BUILDING_HASHKIT) ++#if defined(HASHKIT_STATIC) ++# define HASHKIT_API ++# define HASHKIT_LOCAL ++#elif defined(BUILDING_HASHKIT) + # if defined(HAVE_VISIBILITY) && HAVE_VISIBILITY + # define HASHKIT_API __attribute__((visibility("default"))) + # define HASHKIT_LOCAL __attribute__((visibility("hidden"))) +@@ -45,4 +48,4 @@ + # define HASHKIT_API + # define HASHKIT_LOCAL + # endif /* defined(_MSC_VER) */ +-#endif /* defined(BUILDING_HASHKIT) */ ++#endif /* defined(HASHKIT_STATIC) */ +diff --git a/include/libmemcached-1.0/visibility.h b/include/libmemcached-1.0/visibility.h +index 62c4ea22..4495aa04 100644 +--- a/include/libmemcached-1.0/visibility.h ++++ b/include/libmemcached-1.0/visibility.h +@@ -23,7 +23,10 @@ + * LIBMEMCACHED_LOCAL is used for non-api symbols. + */ + +-#if defined(BUILDING_LIBMEMCACHEDINTERNAL) ++#if defined(LIBMEMCACHED_STATIC) ++# define LIBMEMCACHED_API ++# define LIBMEMCACHED_LOCAL ++#elif defined(BUILDING_LIBMEMCACHEDINTERNAL) + # if defined(HAVE_VISIBILITY) && HAVE_VISIBILITY + # define LIBMEMCACHED_API __attribute__((visibility("default"))) + # define LIBMEMCACHED_LOCAL __attribute__((visibility("default"))) +@@ -61,4 +64,4 @@ + # define LIBMEMCACHED_LOCAL + # endif /* defined(_MSC_VER) */ + # endif /* defined(BUILDING_LIBMEMCACHED) */ +-#endif /* defined(BUILDING_LIBMEMCACHEDINTERNAL) */ ++#endif /* defined(LIBMEMCACHED_STATIC) */ +diff --git a/src/libhashkit/CMakeLists.txt b/src/libhashkit/CMakeLists.txt +index 455570af..c0d9d743 100644 +--- a/src/libhashkit/CMakeLists.txt ++++ b/src/libhashkit/CMakeLists.txt +@@ -30,6 +30,9 @@ set_target_properties(libhashkit PROPERTIES + SOVERSION ${LIBHASHKIT_SO_SOVERSION} + VERSION ${LIBHASHKIT_SO_VERSION}) + target_compile_options(libhashkit PRIVATE -DBUILDING_HASHKIT) ++if(NOT BUILD_SHARED_LIBS) ++ target_compile_options(libhashkit PUBLIC -DHASHKIT_STATIC) ++endif() + target_include_directories(libhashkit PRIVATE + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_BINARY_DIR}/src +diff --git a/src/libmemcached/CMakeLists.txt b/src/libmemcached/CMakeLists.txt +index 05116ae8..a1a2ac00 100644 +--- a/src/libmemcached/CMakeLists.txt ++++ b/src/libmemcached/CMakeLists.txt +@@ -94,6 +94,9 @@ set_target_properties(libmemcached PROPERTIES + SOVERSION ${LIBMEMCACHED_SO_SOVERSION} + VERSION ${LIBMEMCACHED_SO_VERSION}) + target_compile_definitions(libmemcached PRIVATE -DBUILDING_LIBMEMCACHED) ++if(NOT BUILD_SHARED_LIBS) ++ target_compile_definitions(libmemcached PUBLIC -DLIBMEMCACHED_STATIC) ++endif() + target_link_libraries(libmemcached PUBLIC libhashkit Threads::Threads ${CMAKE_DL_LIBS}) + target_link_libraries(libmemcached PRIVATE p9y) + if(MSVC) diff --git a/vcpkg/ports/libmemcached-awesome/p9y-targets.diff b/vcpkg/ports/libmemcached-awesome/p9y-targets.diff new file mode 100644 index 0000000..271e097 --- /dev/null +++ b/vcpkg/ports/libmemcached-awesome/p9y-targets.diff @@ -0,0 +1,12 @@ +diff --git a/support/libmemcached-config.cmake.in b/support/libmemcached-config.cmake.in +index d6fd629b..31e8c8be 100644 +--- a/support/libmemcached-config.cmake.in ++++ b/support/libmemcached-config.cmake.in +@@ -3,6 +3,7 @@ + include(CMakeFindDependencyMacro) + find_dependency(Threads) + ++include(${CMAKE_CURRENT_LIST_DIR}/p9y-targets.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/libhashkit-targets.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/libmemcached-targets.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/libmemcachedprotocol-targets.cmake) diff --git a/vcpkg/ports/libmemcached-awesome/portfile.cmake b/vcpkg/ports/libmemcached-awesome/portfile.cmake new file mode 100644 index 0000000..2dcdca8 --- /dev/null +++ b/vcpkg/ports/libmemcached-awesome/portfile.cmake @@ -0,0 +1,57 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO awesomized/libmemcached + REF ${VERSION} + SHA512 0a10a2431142ec6e4547f82fdd35b55c018264e5f8c39910a65252c3f53d862fb5945e7a671951915aac076767cc995740b3e499eb584017a38eb2d1e82171fb + HEAD_REF v1.x + PATCHES + in_port_t.diff + no-static-exports.diff + p9y-targets.diff +) + +vcpkg_find_acquire_program(BISON) +vcpkg_find_acquire_program(FLEX) + +# Options are initialized from env variables. Control env. +foreach(var IN ITEMS + BUILD_TESTING + BUILD_DOCSONLY BUILD_DOCS BUILD_DOCS_HTML BUILD_DOCS_MAN BUILD_DOCS_MANGZ + ENABLE_SASL + ENABLE_DTRACE + ENABLE_HASH_HSIEH + ENABLE_OPENSSL_CRYPTO + # Extra deps: pthreads, libevent + ENABLE_MEMASLAP +) + set(ENV{${var}} OFF) +endforeach() +set(ENV{ENABLE_SANITIZERS} "") +set(ENV{ENABLE_HASH_FNV64} ON) +set(ENV{ENABLE_HASH_MURMUR} ON) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DBISON_EXECUTABLE=${BISON}" + "-DFLEX_EXECUTABLE=${FLEX}" + "-DVCPKG_LOCK_FIND_PACKAGE_Backtrace=OFF" + "-DVCPKG_LOCK_FIND_PACKAGE_PkgConfig=OFF" +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/libmemcached-awesome") +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES memcapable memcat memcp memdump memerror memexist memflush memparse memping memrm memslap memstat memtouch) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libmemcached-1.0/visibility.h" "#if defined(LIBMEMCACHED_STATIC)" "#if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libhashkit-1.0/visibility.h" "#if defined(HASHKIT_STATIC)" "#if 1") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/vcpkg/ports/libmemcached-awesome/vcpkg.json b/vcpkg/ports/libmemcached-awesome/vcpkg.json new file mode 100644 index 0000000..11cc24a --- /dev/null +++ b/vcpkg/ports/libmemcached-awesome/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libmemcached-awesome", + "version": "1.1.4", + "description": "Open source C/C++ client library and tools for the memcached server", + "homepage": "https://awesomized.github.io/libmemcached/", + "license": "BSD-3-Clause", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |