diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libftdi1 | |
Diffstat (limited to 'vcpkg/ports/libftdi1')
| -rw-r--r-- | vcpkg/ports/libftdi1/cmake-version.diff | 19 | ||||
| -rw-r--r-- | vcpkg/ports/libftdi1/disable-config-script.diff | 12 | ||||
| -rw-r--r-- | vcpkg/ports/libftdi1/exports.def | 71 | ||||
| -rw-r--r-- | vcpkg/ports/libftdi1/libdir.diff | 12 | ||||
| -rw-r--r-- | vcpkg/ports/libftdi1/libftdipp1.diff | 39 | ||||
| -rw-r--r-- | vcpkg/ports/libftdi1/libusb.diff | 16 | ||||
| -rw-r--r-- | vcpkg/ports/libftdi1/linkage.diff | 49 | ||||
| -rw-r--r-- | vcpkg/ports/libftdi1/portfile.cmake | 79 | ||||
| -rw-r--r-- | vcpkg/ports/libftdi1/vcpkg.json | 31 |
9 files changed, 328 insertions, 0 deletions
diff --git a/vcpkg/ports/libftdi1/cmake-version.diff b/vcpkg/ports/libftdi1/cmake-version.diff new file mode 100644 index 0000000..6ab7a74 --- /dev/null +++ b/vcpkg/ports/libftdi1/cmake-version.diff @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5aecafc..4158267 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,5 @@ + # Project ++cmake_minimum_required(VERSION 3.5) + project(libftdi1 C) + set(MAJOR_VERSION 1) + set(MINOR_VERSION 5) +@@ -11,8 +12,6 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) + if("${CMAKE_BUILD_TYPE}" STREQUAL "") + set(CMAKE_BUILD_TYPE RelWithDebInfo) + endif("${CMAKE_BUILD_TYPE}" STREQUAL "") +-set(CMAKE_COLOR_MAKEFILE ON) +-cmake_minimum_required(VERSION 2.6 FATAL_ERROR) + + add_definitions(-Wall) + diff --git a/vcpkg/ports/libftdi1/disable-config-script.diff b/vcpkg/ports/libftdi1/disable-config-script.diff new file mode 100644 index 0000000..d573d92 --- /dev/null +++ b/vcpkg/ports/libftdi1/disable-config-script.diff @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4158267..61828d3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -170,6 +170,7 @@ install(FILES ${CMAKE_BINARY_DIR}/libftdi1.pc ${CMAKE_BINARY_DIR}/libftdipp1.pc + DESTINATION lib${LIB_SUFFIX}/pkgconfig) + + if (UNIX OR MINGW) ++elseif (0) + configure_file ( libftdi1-config.in ${CMAKE_CURRENT_BINARY_DIR}/libftdi1-config @ONLY ) + install ( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libftdi1-config + DESTINATION bin ) diff --git a/vcpkg/ports/libftdi1/exports.def b/vcpkg/ports/libftdi1/exports.def new file mode 100644 index 0000000..8fbbd38 --- /dev/null +++ b/vcpkg/ports/libftdi1/exports.def @@ -0,0 +1,71 @@ +EXPORTS
+ convert_baudrate_UT_export
+ ftdi_deinit
+ ftdi_disable_bitbang
+ ftdi_eeprom_build
+ ftdi_eeprom_decode
+ ftdi_eeprom_get_strings
+ ftdi_eeprom_initdefaults
+ ftdi_eeprom_set_strings
+ ftdi_erase_eeprom
+ ftdi_free
+ ftdi_get_eeprom_buf
+ ftdi_get_eeprom_value
+ ftdi_get_error_string
+ ftdi_get_latency_timer
+ ftdi_get_library_version
+ ftdi_init
+ ftdi_list_free
+ ftdi_list_free2
+ ftdi_new
+ ftdi_poll_modem_status
+ ftdi_read_chipid
+ ftdi_read_data
+ ftdi_read_data_get_chunksize
+ ftdi_read_data_set_chunksize
+ ftdi_read_data_submit
+ ftdi_read_eeprom
+ ftdi_read_eeprom_location
+ ftdi_read_pins
+ ftdi_set_baudrate
+ ftdi_set_bitmode
+ ftdi_set_eeprom_buf
+ ftdi_set_eeprom_user_data
+ ftdi_set_eeprom_value
+ ftdi_set_error_char
+ ftdi_set_event_char
+ ftdi_set_interface
+ ftdi_set_latency_timer
+ ftdi_set_line_property
+ ftdi_set_line_property2
+ ftdi_set_usbdev
+ ftdi_setdtr
+ ftdi_setdtr_rts
+ ftdi_setflowctrl
+ ftdi_setflowctrl_xonxoff
+ ftdi_setrts
+ ftdi_tciflush
+ ftdi_tcioflush
+ ftdi_tcoflush
+ ftdi_transfer_data_cancel
+ ftdi_transfer_data_done
+ ftdi_usb_close
+ ftdi_usb_find_all
+ ftdi_usb_get_strings
+ ftdi_usb_get_strings2
+ ftdi_usb_open
+ ftdi_usb_open_bus_addr
+ ftdi_usb_open_desc
+ ftdi_usb_open_desc_index
+ ftdi_usb_open_dev
+ ftdi_usb_open_string
+ ftdi_usb_purge_buffers
+ ftdi_usb_purge_rx_buffer
+ ftdi_usb_purge_tx_buffer
+ ftdi_usb_reset
+ ftdi_write_data
+ ftdi_write_data_get_chunksize
+ ftdi_write_data_set_chunksize
+ ftdi_write_data_submit
+ ftdi_write_eeprom
+ ftdi_write_eeprom_location
diff --git a/vcpkg/ports/libftdi1/libdir.diff b/vcpkg/ports/libftdi1/libdir.diff new file mode 100644 index 0000000..eac596c --- /dev/null +++ b/vcpkg/ports/libftdi1/libdir.diff @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fa5b3bf..5963df0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -166,6 +166,7 @@ endif(${UNIX}) + if(${WIN32}) + set(libdir ${CMAKE_INSTALL_PREFIX}/bin) + endif(${WIN32}) ++set(libdir ${CMAKE_INSTALL_PREFIX}/lib) + + configure_file(${CMAKE_SOURCE_DIR}/libftdi1.pc.in ${CMAKE_BINARY_DIR}/libftdi1.pc @ONLY) + configure_file(${CMAKE_SOURCE_DIR}/libftdipp1.pc.in ${CMAKE_BINARY_DIR}/libftdipp1.pc @ONLY) diff --git a/vcpkg/ports/libftdi1/libftdipp1.diff b/vcpkg/ports/libftdi1/libftdipp1.diff new file mode 100644 index 0000000..93aaadb --- /dev/null +++ b/vcpkg/ports/libftdi1/libftdipp1.diff @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4158267..64ad5b3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -135,7 +135,7 @@ endif () + + add_subdirectory(src) + if ( FTDIPP ) +- project(libftdipp1 C CXX) ++ enable_language(CXX) + add_subdirectory(ftdipp) + endif () + if ( PYTHON_BINDINGS ) +@@ -192,6 +192,7 @@ list ( APPEND LIBFTDI_STATIC_LIBRARIES ${LIBUSB_LIBRARIES} ) + if ( FTDIPP ) + set ( LIBFTDIPP_LIBRARY ftdipp1 ) + set ( LIBFTDIPP_LIBRARIES ${LIBFTDIPP_LIBRARY} ) ++ list ( APPEND LIBFTDI_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ) + list ( APPEND LIBFTDIPP_LIBRARIES ${LIBUSB_LIBRARIES} ) + endif () + set ( LIBFTDI_LIBRARY_DIRS ${libdir} ) +@@ -203,6 +204,7 @@ set ( LIBFTDI_ROOT_DIR ${prefix} ) + set ( LIBFTDI_VERSION_STRING ${VERSION_STRING} ) + set ( LIBFTDI_VERSION_MAJOR ${MAJOR_VERSION} ) + set ( LIBFTDI_VERSION_MINOR ${MINOR_VERSION} ) ++set ( LIBFTDIPP_LIBRARIES ${LIBFTDIPP_LIBRARY} ${LIBFTDI_LIBRARIES}) + + set ( LIBFTDI_USE_FILE ${CMAKE_INSTALL_PREFIX}/${LIBFTDI_CMAKE_CONFIG_DIR}/UseLibFTDI1.cmake ) + +diff --git a/libftdipp1.pc.in b/libftdipp1.pc.in +index 8158f38..b4fff0a 100644 +--- a/libftdipp1.pc.in ++++ b/libftdipp1.pc.in +@@ -8,4 +8,4 @@ Description: C++ wrapper for libftdi1 + Requires: libftdi1 + Version: @VERSION@ + Libs: -L${libdir} -lftdipp1 +-Cflags: -I${includedir} ++Cflags: -I${includedir} -I${prefix}/include diff --git a/vcpkg/ports/libftdi1/libusb.diff b/vcpkg/ports/libftdi1/libusb.diff new file mode 100644 index 0000000..186a79d --- /dev/null +++ b/vcpkg/ports/libftdi1/libusb.diff @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b5c812c..7fb66f7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,7 +24,10 @@ if(${CMAKE_BUILD_TYPE} STREQUAL Debug) + endif(${CMAKE_BUILD_TYPE} STREQUAL Debug) + + # find libusb +-find_package ( USB1 REQUIRED ) ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(LIBUSB REQUIRED libusb-1.0) ++set(LIBUSB_INCLUDE_DIR "${LIBUSB_INCLUDE_DIRS}") ++set(LIBUSB_LIBRARIES "${LIBUSB_LINK_LIBRARIES}") + include_directories ( ${LIBUSB_INCLUDE_DIR} ) + + # Find Boost diff --git a/vcpkg/ports/libftdi1/linkage.diff b/vcpkg/ports/libftdi1/linkage.diff new file mode 100644 index 0000000..5bc19ef --- /dev/null +++ b/vcpkg/ports/libftdi1/linkage.diff @@ -0,0 +1,49 @@ +diff --git a/ftdipp/CMakeLists.txt b/ftdipp/CMakeLists.txt +index fac5bcc..8a20a04 100644 +--- a/ftdipp/CMakeLists.txt ++++ b/ftdipp/CMakeLists.txt +@@ -11,6 +11,11 @@ include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR} + + include_directories(${Boost_INCLUDE_DIRS}) + ++if(WIN32) ++ set(BUILD_SHARED_LIBS OFF) ++ set(STATICLIBS ON) ++endif() ++if(BUILD_SHARED_LIBS) + # Shared library + add_library(ftdipp1 SHARED ${cpp_sources}) + +@@ -28,6 +33,7 @@ install ( TARGETS ftdipp1 + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) ++endif() + + # Static library + if ( STATICLIBS ) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 17b3617..087fba8 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -19,8 +19,12 @@ configure_file(ftdi_version_i.h.in "${CMAKE_CURRENT_BINARY_DIR}/ftdi_version_i.h + + # Targets + set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/ftdi_stream.c CACHE INTERNAL "List of c sources" ) ++if(WIN32) ++ set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/exports.def CACHE INTERNAL "List of c sources" ) ++endif() + set(c_headers ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.h CACHE INTERNAL "List of c headers" ) + ++if(BUILD_SHARED_LIBS) + add_library(ftdi1 SHARED ${c_sources}) + + math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatibility with previous releases +@@ -37,6 +41,7 @@ install ( TARGETS ftdi1 + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) ++endif() + + if ( STATICLIBS ) + add_library(ftdi1-static STATIC ${c_sources}) diff --git a/vcpkg/ports/libftdi1/portfile.cmake b/vcpkg/ports/libftdi1/portfile.cmake new file mode 100644 index 0000000..fabdcd4 --- /dev/null +++ b/vcpkg/ports/libftdi1/portfile.cmake @@ -0,0 +1,79 @@ +vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.intra2net.com/en/developer/libftdi/download/libftdi1-1.5.tar.bz2"
+ FILENAME "libftdi1-1.5.tar.bz2"
+ SHA512 c525b2ab6aff9ef9254971ae7d57f3549a36a36875765c48f947d52532814a2a004de1232389d4fe824a8c8ab84277b08427308573476e1da9b7db83db802f6f
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ SOURCE_BASE 1.5
+ PATCHES
+ cmake-version.diff
+ disable-config-script.diff
+ linkage.diff
+ libdir.diff
+ libftdipp1.diff
+ libusb.diff
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/exports.def" DESTINATION "${SOURCE_PATH}/src")
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATICLIBS)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS options
+ FEATURES
+ cpp FTDIPP
+)
+
+vcpkg_find_acquire_program(PKGCONFIG)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${options}
+ -DBUILD_TESTS=OFF
+ -DCMAKE_CXX_STANDARD=11
+ -DDOCUMENTATION=OFF
+ -DEXAMPLES=OFF
+ -DFTDI_EEPROM=OFF
+ -DLIB_SUFFIX=
+ "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}"
+ -DPYTHON_BINDINGS=OFF
+ -DSTATICLIBS=${STATICLIBS}
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_fixup_pkgconfig()
+
+if(NOT VCPKG_BUILD_TYPE)
+ file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/cmake/libftdi1/LibFTDI1Config.cmake" "${CURRENT_PACKAGES_DIR}/debug/lib/cmake/libftdi1/LibFTDI1Config-debug.cmake")
+endif()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libftdi1)
+vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/LibFTDI1Config.cmake" "/lib/cmake/${PORT}/" "/share/${PORT}/")
+if(NOT VCPKG_BUILD_TYPE)
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/LibFTDI1Config-debug.cmake" "/debug/lib/cmake/${PORT}/" "/share/${PORT}/")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/LibFTDI1Config-debug.cmake" "{_IMPORT_PREFIX}" "{VCPKG_IMPORT_PREFIX}")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/LibFTDI1Config-debug.cmake" "{VCPKG_IMPORT_PREFIX}/debug/include/" "{VCPKG_IMPORT_PREFIX}/include/")
+ file(READ "${CURRENT_PACKAGES_DIR}/share/${PORT}/LibFTDI1Config.cmake" release_config)
+ file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/LibFTDI1Config.cmake" "
+if(NOT DEFINED CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE MATCHES \"^[Dd][Ee][Bb][Uu][Gg]\$\")
+ include(\"\${CMAKE_CURRENT_LIST_DIR}/LibFTDI1Config-debug.cmake\")
+ return()
+endif()
+${release_config}"
+ )
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")
+if(NOT "cpp" IN_LIST FEATURES)
+ file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libftdipp1.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libftdipp1.pc")
+endif()
+
+set(file_list "${SOURCE_PATH}/COPYING.LIB")
+if("cpp" IN_LIST FEATURES)
+ set(file_list "${SOURCE_PATH}/LICENSE" "${SOURCE_PATH}/COPYING.LIB" "${SOURCE_PATH}/COPYING.GPL")
+endif()
+
+vcpkg_install_copyright(FILE_LIST ${file_list})
diff --git a/vcpkg/ports/libftdi1/vcpkg.json b/vcpkg/ports/libftdi1/vcpkg.json new file mode 100644 index 0000000..89d77cf --- /dev/null +++ b/vcpkg/ports/libftdi1/vcpkg.json @@ -0,0 +1,31 @@ +{ + "name": "libftdi1", + "version": "1.5", + "port-version": 5, + "description": "FTDI USB driver with bitbang mode", + "homepage": "https://www.intra2net.com/en/developer/libftdi/", + "license": "LGPL-2.1-only AND MIT", + "dependencies": [ + { + "name": "libusb", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "cpp": { + "description": "C++ bindings", + "license": "GPL-2.0-only WITH eCos-exception-2.0", + "dependencies": [ + "boost-smart-ptr" + ] + } + } +} |