mirror of
https://github.com/silenty4ng/uv-k5-firmware-chinese-lts
synced 2025-01-27 20:54:47 +00:00
159 lines
5.5 KiB
Bash
159 lines
5.5 KiB
Bash
# -----------------------------------------------------------------------------
|
|
# This file is part of the xPacks distribution.
|
|
# (https://xpack.github.io)
|
|
# Copyright (c) 2019 Liviu Ionescu.
|
|
#
|
|
# Permission to use, copy, modify, and/or distribute this software
|
|
# for any purpose is hereby granted, under the terms of the MIT license.
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
function application_build_versioned_components()
|
|
{
|
|
XBB_OPENOCD_VERSION="$(xbb_strip_version_pre_release "${XBB_RELEASE_VERSION}")"
|
|
|
|
# Keep them in sync with the combo archive content.
|
|
if [[ "${XBB_RELEASE_VERSION}" =~ 0[.]12[.]0-.* ]]
|
|
then
|
|
XBB_OPENOCD_GIT_URL=${XBB_APPLICATION_OPENOCD_GIT_URL:-"https://github.com/openocd-org/openocd.git"}
|
|
XBB_OPENOCD_GIT_BRANCH=${XBB_APPLICATION_OPENOCD_GIT_BRANCH:-"master"}
|
|
|
|
if [ "${XBB_RELEASE_VERSION}" == "0.12.0-1" ]
|
|
then
|
|
XBB_OPENOCD_GIT_COMMIT=${XBB_APPLICATION_OPENOCD_GIT_COMMIT:-"v0.12.0"}
|
|
elif [ "${XBB_RELEASE_VERSION}" == "0.12.0-2" ]
|
|
then
|
|
# Sep 2, 2023
|
|
XBB_OPENOCD_GIT_COMMIT=${XBB_APPLICATION_OPENOCD_GIT_COMMIT:-"18281b0c497694d91c5608be54583172838be75c"}
|
|
else
|
|
echo "Unsupported ${XBB_APPLICATION_LOWER_CASE_NAME} version ${XBB_RELEASE_VERSION}"
|
|
exit 1
|
|
fi
|
|
|
|
# -------------------------------------------------------------------------
|
|
# Build the native dependencies.
|
|
|
|
autotools_build
|
|
|
|
# https://ftp.gnu.org/gnu/texinfo/
|
|
texinfo_build "7.0.3"
|
|
|
|
# -------------------------------------------------------------------------
|
|
# Build the target dependencies.
|
|
|
|
xbb_reset_env
|
|
# Before set target (to possibly update CC & co variables).
|
|
xbb_activate_installed_bin
|
|
|
|
xbb_set_target "requested"
|
|
|
|
# -------------------------------------------------------------------------
|
|
|
|
# https://ftp.gnu.org/pub/gnu/libiconv/
|
|
libiconv_build "1.17"
|
|
|
|
# -------------------------------------------------------------------------
|
|
|
|
# https://sourceforge.net/projects/libusb/files/libusb-1.0/
|
|
libusb1_build "1.0.26"
|
|
|
|
# Starting with v0.12.0, libusb0 is no longer needed.
|
|
# if [ "${XBB_REQUESTED_HOST_PLATFORM}" == "win32" ]
|
|
# then
|
|
# # https://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/
|
|
# libusb_w32_build "1.2.7.3" # "1.2.6.0" # ! PATCH & pkgconfig
|
|
# else
|
|
# # https://sourceforge.net/projects/libusb/files/libusb-compat-0.1/
|
|
# # required by libjaylink
|
|
# libusb0_build "0.1.8"
|
|
# fi
|
|
|
|
# https://www.intra2net.com/en/developer/libftdi/download.php
|
|
libftdi_build "1.5" # ! PATCH
|
|
|
|
# https://github.com/libusb/hidapi/releases
|
|
hidapi_build "0.14.0" # "0.12.0"
|
|
|
|
# -------------------------------------------------------------------------
|
|
# Build the application binaries.
|
|
|
|
xbb_set_executables_install_path "${XBB_APPLICATION_INSTALL_FOLDER_PATH}"
|
|
xbb_set_libraries_install_path "${XBB_DEPENDENCIES_INSTALL_FOLDER_PATH}"
|
|
|
|
openocd_build "${XBB_OPENOCD_VERSION}"
|
|
|
|
# -------------------------------------------------------------------------
|
|
elif [[ "${XBB_RELEASE_VERSION}" =~ 0[.]11[.]0-[5] ]]
|
|
then
|
|
|
|
XBB_OPENOCD_GIT_URL=${XBB_OPENOCD_GIT_URL:-"https://github.com/xpack-dev-tools/openocd.git"}
|
|
|
|
XBB_OPENOCD_GIT_BRANCH=${XBB_OPENOCD_GIT_BRANCH:-"xpack"}
|
|
# XBB_OPENOCD_GIT_BRANCH=${XBB_OPENOCD_GIT_BRANCH:-"xpack-develop"}
|
|
XBB_OPENOCD_GIT_COMMIT=${XBB_OPENOCD_GIT_COMMIT:-"v${XBB_RELEASE_VERSION}-xpack"}
|
|
|
|
# -------------------------------------------------------------------------
|
|
# Build the native dependencies.
|
|
|
|
autotools_build
|
|
|
|
# https://ftp.gnu.org/gnu/texinfo/
|
|
texinfo_build "6.8"
|
|
|
|
# -------------------------------------------------------------------------
|
|
# Build the target dependencies.
|
|
|
|
xbb_reset_env
|
|
# Before set target (to possibly update CC & co variables).
|
|
xbb_activate_installed_bin
|
|
|
|
xbb_set_target "requested"
|
|
|
|
# -------------------------------------------------------------------------
|
|
|
|
if [ "${XBB_REQUESTED_HOST_PLATFORM}" != "darwin" ]
|
|
then
|
|
|
|
# https://ftp.gnu.org/pub/gnu/libiconv/
|
|
libiconv_build "1.17" # "1.16"
|
|
|
|
fi
|
|
|
|
# -------------------------------------------------------------------------
|
|
|
|
# https://sourceforge.net/projects/libusb/files/libusb-1.0/
|
|
libusb1_build "1.0.26"
|
|
|
|
if [ "${XBB_REQUESTED_HOST_PLATFORM}" == "win32" ]
|
|
then
|
|
# https://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/
|
|
libusb_w32_build "1.2.6.0" # ! PATCH & pkgconfig
|
|
else
|
|
# https://sourceforge.net/projects/libusb/files/libusb-compat-0.1/
|
|
# required by libjaylink
|
|
libusb0_build "0.1.5"
|
|
fi
|
|
|
|
# https://www.intra2net.com/en/developer/libftdi/download.php
|
|
libftdi_build "1.5" # ! PATCH
|
|
|
|
# https://github.com/libusb/hidapi/releases
|
|
hidapi_build "0.12.0" # "0.10.1" # ! pkgconfig/hidapi-*-windows.pc
|
|
|
|
# -------------------------------------------------------------------------
|
|
# Build the application binaries.
|
|
|
|
xbb_set_executables_install_path "${XBB_APPLICATION_INSTALL_FOLDER_PATH}"
|
|
xbb_set_libraries_install_path "${XBB_DEPENDENCIES_INSTALL_FOLDER_PATH}"
|
|
|
|
openocd_build "${XBB_OPENOCD_VERSION}"
|
|
|
|
# -------------------------------------------------------------------------
|
|
else
|
|
echo "Unsupported ${XBB_APPLICATION_LOWER_CASE_NAME} version ${XBB_RELEASE_VERSION}"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# -----------------------------------------------------------------------------
|