aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libftdi1
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/libftdi1')
-rw-r--r--vcpkg/ports/libftdi1/cmake-version.diff19
-rw-r--r--vcpkg/ports/libftdi1/disable-config-script.diff12
-rw-r--r--vcpkg/ports/libftdi1/exports.def71
-rw-r--r--vcpkg/ports/libftdi1/libdir.diff12
-rw-r--r--vcpkg/ports/libftdi1/libftdipp1.diff39
-rw-r--r--vcpkg/ports/libftdi1/libusb.diff16
-rw-r--r--vcpkg/ports/libftdi1/linkage.diff49
-rw-r--r--vcpkg/ports/libftdi1/portfile.cmake79
-rw-r--r--vcpkg/ports/libftdi1/vcpkg.json31
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"
+ ]
+ }
+ }
+}