aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/mman
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/mman
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/mman')
-rw-r--r--vcpkg/ports/mman/mman-static.patch33
-rw-r--r--vcpkg/ports/mman/portfile.cmake28
-rw-r--r--vcpkg/ports/mman/usage4
-rw-r--r--vcpkg/ports/mman/vcpkg.json14
4 files changed, 79 insertions, 0 deletions
diff --git a/vcpkg/ports/mman/mman-static.patch b/vcpkg/ports/mman/mman-static.patch
new file mode 100644
index 0000000..ce7be49
--- /dev/null
+++ b/vcpkg/ports/mman/mman-static.patch
@@ -0,0 +1,33 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4696ad4..a72bbce 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,6 +8,10 @@ option (BUILD_TESTS "tests?" OFF)
+ set (headers mman.h)
+ set (sources mman.c)
+
++if(NOT BUILD_SHARED_LIBS)
++ add_definitions(-DMMANSHARED_EXPORT=)
++endif()
++
+ add_library (mman ${sources})
+
+ install (TARGETS mman RUNTIME DESTINATION bin
+diff --git a/mman.h b/mman.h
+index 4065bc6..435ea26 100644
+--- a/mman.h
++++ b/mman.h
+@@ -15,11 +15,13 @@
+ #include <_mingw.h>
+ #endif
+
++#if !defined(MMANSHARED_EXPORT)
+ #if defined(MMAN_LIBRARY)
+ #define MMANSHARED_EXPORT __declspec(dllexport)
+ #else
+ #define MMANSHARED_EXPORT __declspec(dllimport)
+ #endif
++#endif
+
+ /* Determine offset type */
+ #include <stdint.h>
diff --git a/vcpkg/ports/mman/portfile.cmake b/vcpkg/ports/mman/portfile.cmake
new file mode 100644
index 0000000..4e57ba9
--- /dev/null
+++ b/vcpkg/ports/mman/portfile.cmake
@@ -0,0 +1,28 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO witwall/mman-win32
+ REF f5ff813c53935c3078f48e1f03a6944c4e7b459c
+ SHA512 49c9a63a0a3c6fa585a76e65425f6fb1fdaa23cc87e53d5afb7a1298bcd4956298c076ee78f24dd5df5f5a0c5f6244c6abb63b40818e4d2546185fa37a73bf0d
+ HEAD_REF master
+ PATCHES
+ mman-static.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include/mman)
+file(RENAME ${CURRENT_PACKAGES_DIR}/include/sys ${CURRENT_PACKAGES_DIR}/include/mman/sys)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/mman)
+file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/mman RENAME copyright)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mman/sys/mman.h" "__declspec(dllimport)" "")
+endif()
+
+vcpkg_copy_pdbs()
diff --git a/vcpkg/ports/mman/usage b/vcpkg/ports/mman/usage
new file mode 100644
index 0000000..25d00d4
--- /dev/null
+++ b/vcpkg/ports/mman/usage
@@ -0,0 +1,4 @@
+The mman.h header deployed by mman is placed in mman/sys/mman.h to avoid accidental inclusion.
+
+ find_path(MMAN_DIR NAMES sys/mman.h PATH_SUFFIXES mman)
+ target_include_directories(main PRIVATE ${MMAN_DIR})
diff --git a/vcpkg/ports/mman/vcpkg.json b/vcpkg/ports/mman/vcpkg.json
new file mode 100644
index 0000000..2554140
--- /dev/null
+++ b/vcpkg/ports/mman/vcpkg.json
@@ -0,0 +1,14 @@
+{
+ "name": "mman",
+ "version-string": "git-f5ff813",
+ "port-version": 5,
+ "description": "A light implementation of the mmap functions for MinGW.",
+ "homepage": "https://github.com/witwall/mman-win32",
+ "supports": "windows",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}