aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libudis86
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/libudis86
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libudis86')
-rw-r--r--vcpkg/ports/libudis86/CMakeLists.txt60
-rw-r--r--vcpkg/ports/libudis86/fix-macbuild.patch37
-rw-r--r--vcpkg/ports/libudis86/portfile.cmake33
-rw-r--r--vcpkg/ports/libudis86/python3.patch17
-rw-r--r--vcpkg/ports/libudis86/vcpkg.json13
5 files changed, 160 insertions, 0 deletions
diff --git a/vcpkg/ports/libudis86/CMakeLists.txt b/vcpkg/ports/libudis86/CMakeLists.txt
new file mode 100644
index 0000000..eb79427
--- /dev/null
+++ b/vcpkg/ports/libudis86/CMakeLists.txt
@@ -0,0 +1,60 @@
+cmake_minimum_required (VERSION 3.9)
+
+project (udis86)
+
+add_definitions(-DHAVE_STRING_H)
+if (MSVC)
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+set(
+ lib_sources
+ libudis86/decode.c
+ libudis86/itab.c
+ libudis86/syn-att.c
+ libudis86/syn-intel.c
+ libudis86/syn.c
+ libudis86/udis86.c
+)
+
+set(lib_headers
+ libudis86/decode.h
+ libudis86/itab.h
+ libudis86/extern.h
+ libudis86/syn.h
+ libudis86/types.h
+ libudis86/udint.h
+)
+
+set(cli_srcs udcli/udcli.c)
+
+include_directories(.)
+
+add_library(libudis86 ${lib_sources})
+
+if(BUILD_SHARED_LIBS)
+ target_compile_definitions(libudis86 PRIVATE -D_USRDLL)
+endif()
+
+add_executable(udcli ${cli_srcs})
+target_link_libraries(udcli libudis86)
+
+
+install(
+ TARGETS libudis86
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_TOOLS)
+ install (
+ TARGETS udcli
+ RUNTIME DESTINATION tools/libudis86
+ )
+endif()
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES ${lib_headers} DESTINATION include/libudis86)
+ install(FILES udis86.h DESTINATION include)
+endif()
diff --git a/vcpkg/ports/libudis86/fix-macbuild.patch b/vcpkg/ports/libudis86/fix-macbuild.patch
new file mode 100644
index 0000000..c9bf1a9
--- /dev/null
+++ b/vcpkg/ports/libudis86/fix-macbuild.patch
@@ -0,0 +1,37 @@
+diff --git a/libudis86/udis86.c b/libudis86/udis86.c
+index e039c4e..8459012 100644
+--- a/libudis86/udis86.c
++++ b/libudis86/udis86.c
+@@ -34,6 +34,10 @@
+ # endif
+ #endif /* !__UD_STANDALONE__ */
+
++#if defined(__APPLE__)
++# include <string.h>
++#endif
++
+ static void ud_inp_init(struct ud *u);
+
+ /* =============================================================================
+diff --git a/udcli/udcli.c b/udcli/udcli.c
+index 9b044ca..ad1e4ab 100644
+--- a/udcli/udcli.c
++++ b/udcli/udcli.c
+@@ -27,13 +27,11 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <ctype.h>
+-#ifdef _MSC_VER
+-#include "..\udis86.h"
+-#define PACKAGE_STRING "udis86 pre-1.8"
+-#else
+ #include <udis86.h>
+-#include <config.h>
+-#endif
++#define PACKAGE_STRING "udis86 pre-1.8"
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif /* HAVE_CONFIG_H */
+
+ #if defined(__APPLE__)
+ # define FMT64 "ll"
diff --git a/vcpkg/ports/libudis86/portfile.cmake b/vcpkg/ports/libudis86/portfile.cmake
new file mode 100644
index 0000000..24f93ea
--- /dev/null
+++ b/vcpkg/ports/libudis86/portfile.cmake
@@ -0,0 +1,33 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO vmt/udis86
+ REF 56ff6c87c11de0ffa725b14339004820556e343d
+ SHA512 7a98333f9310f5f0466294bd980f03f9269c118a7557832015c59a7b6349a0eeab5642e0e6598d0be76d71f5d2d566d8b8af0ec75c26bdcff45646d60ff18e3a
+ HEAD_REF master
+ PATCHES
+ fix-macbuild.patch
+ python3.patch # from https://github.com/vmt/udis86/pull/133
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_find_acquire_program(PYTHON3)
+
+vcpkg_execute_required_process(
+ COMMAND "${PYTHON3}" "${SOURCE_PATH}/scripts/ud_itab.py" "${SOURCE_PATH}/docs/x86/optable.xml" "${SOURCE_PATH}/libudis86/"
+ WORKING_DIRECTORY "${SOURCE_PATH}"
+ LOGNAME python-${TARGET_TRIPLET}-generate-sources
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS_DEBUG
+ -DDISABLE_INSTALL_HEADERS=ON
+ -DDISABLE_INSTALL_TOOLS=ON
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
+
+file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/libudis86/python3.patch b/vcpkg/ports/libudis86/python3.patch
new file mode 100644
index 0000000..0c8f851
--- /dev/null
+++ b/vcpkg/ports/libudis86/python3.patch
@@ -0,0 +1,17 @@
+diff --git a/scripts/ud_opcode.py b/scripts/ud_opcode.py
+index fe1833d..30c9f43 100644
+--- a/scripts/ud_opcode.py
++++ b/scripts/ud_opcode.py
+@@ -550,10 +550,10 @@ def printWalk(tbl, indent=""):
+ entries = tbl.entries()
+ for k, e in entries:
+ if isinstance(e, UdOpcodeTable):
+- self.log("%s |-<%02x> %s" % (indent, k, e))
++ self.log("%s |-<%02x> %s" % (indent, int(k), e))
+ printWalk(e, indent + " |")
+ elif isinstance(e, UdInsnDef):
+- self.log("%s |-<%02x> %s" % (indent, k, e))
++ self.log("%s |-<%02x> %s" % (indent, int(k), e))
+ printWalk(self.root)
+
+
diff --git a/vcpkg/ports/libudis86/vcpkg.json b/vcpkg/ports/libudis86/vcpkg.json
new file mode 100644
index 0000000..8ec4ad5
--- /dev/null
+++ b/vcpkg/ports/libudis86/vcpkg.json
@@ -0,0 +1,13 @@
+{
+ "name": "libudis86",
+ "version-date": "2018-01-28",
+ "port-version": 4,
+ "description": "Disassembler Library for x86 and x86-64",
+ "homepage": "https://github.com/vmt/udis86",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}