github/workflow: enable libftdi based adapters
authorTarek BOCHKATI <tarek.bouchkati@gmail.com>
Mon, 30 May 2022 13:48:06 +0000 (14:48 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Fri, 3 Jun 2022 23:46:02 +0000 (23:46 +0000)
Change-Id: I74b07b21573294dd7d9d3caf41c5755622c77149
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7008
Tested-by: jenkins
Reviewed-by: Xiaofan Chen <xiaofanc@gmail.com>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
.github/workflows/snapshot.yml
contrib/cross-build.sh

index 0de0cf3f6c2e3c665e2c7d3361124beb3bbeffc5..e5997a055bc69c9d6bece95b25cbfd750e24f58b 100644 (file)
@@ -38,6 +38,14 @@ jobs:
           cd hidapi-hidapi-${HIDAPI_VER}
           ./bootstrap
           echo "HIDAPI_SRC=$PWD" >> $GITHUB_ENV
+      - name: Prepare libftdi
+        env:
+          LIBFTDI_VER: 1.5
+        run: |
+          mkdir -p $DL_DIR && cd $DL_DIR
+          wget "http://www.intra2net.com/en/developer/libftdi/download/libftdi1-${LIBFTDI_VER}.tar.bz2"
+          tar -xjf libftdi1-${LIBFTDI_VER}.tar.bz2
+          echo "LIBFTDI_SRC=$PWD/libftdi1-${LIBFTDI_VER}" >> $GITHUB_ENV
       - name: Prepare capstone
         env:
           CAPSTONE_VER: 4.0.2
@@ -54,6 +62,7 @@ jobs:
           HOST: i686-w64-mingw32
           LIBUSB1_CONFIG: --enable-shared --disable-static
           HIDAPI_CONFIG: --enable-shared --disable-static --disable-testgui
+          LIBFTDI_CONFIG: -DSTATICLIBS=OFF -DEXAMPLES=OFF -DFTDI_EEPROM=OFF
           CAPSTONE_CONFIG: "CAPSTONE_BUILD_CORE_ONLY=yes CAPSTONE_STATIC=yes CAPSTONE_SHARED=no"
         run: |
           # check if there is tag pointing at HEAD, otherwise take the HEAD SHA-1 as OPENOCD_TAG
index 7c572f55d75c2fbd3b9f245f5e1a40e6ecdd1059..9328c3ab649bbe0c1285b641c4609a6515c9adc6 100755 (executable)
@@ -121,11 +121,17 @@ fi
 if [ -d $LIBFTDI_SRC ] ; then
   mkdir -p $LIBFTDI_BUILD_DIR
   cd $LIBFTDI_BUILD_DIR
-  # libftdi requires libusb1 static libraries, granted by:
-  # export LIBUSB1_CONFIG="--enable-static ..."
+  # note : libftdi versions < 1.5 requires libusb1 static
+  #   hint use : # export LIBUSB1_CONFIG="--enable-static ..."
+  #   not needed since libftdi-1.5 when LIBFTDI_CONFIG="-DSTATICLIBS=OFF ..."
+
+  # fix <toolchain>.cmake file
+  ESCAPED_SYSROOT=$(printf '%s\n' "$SYSROOT" | sed -e 's/[\/&]/\\&/g')
+  sed -i -E "s/(SET\(CMAKE_FIND_ROOT_PATH\s+).+\)/\1${ESCAPED_SYSROOT})/" \
+    ${LIBFTDI_SRC}/cmake/Toolchain-${HOST_TRIPLET}.cmake
+
   cmake $LIBFTDI_CONFIG \
-    -DLIBUSB_INCLUDE_DIR=${SYSROOT}${PREFIX}/include/libusb-1.0 \
-    -DLIBUSB_LIBRARIES=${SYSROOT}${PREFIX}/lib/libusb-1.0.a \
+    -DCMAKE_TOOLCHAIN_FILE=${LIBFTDI_SRC}/cmake/Toolchain-${HOST_TRIPLET}.cmake \
     -DCMAKE_INSTALL_PREFIX=${PREFIX} \
     -DPKG_CONFIG_EXECUTABLE=`which pkg-config` \
     $LIBFTDI_SRC