1#!/usr/bin/env bash 2# Version: 3.0 3# Date: 2023-11-06 4# This bash script generates a CMSIS-DSP Software Pack: 5# 6 7set -o pipefail 8 9# Set version of gen pack library 10# For available versions see https://github.com/Open-CMSIS-Pack/gen-pack/tags. 11# Use the tag name without the prefix "v", e.g., 0.7.0 12REQUIRED_GEN_PACK_LIB="0.9.1" 13 14# Set default command line arguments 15DEFAULT_ARGS=(-c "v") 16 17# Pack warehouse directory - destination 18# Default: ./output 19# 20# PACK_OUTPUT=./output 21 22# Temporary pack build directory, 23# Default: ./build 24# 25# PACK_BUILD=./build 26 27# Specify directory names to be added to pack base directory 28# An empty list defaults to all folders next to this script. 29# Default: empty (all folders) 30# 31PACK_DIRS=" 32 ComputeLibrary 33 Documentation 34 Examples 35 Include 36 PrivateInclude 37 Source 38" 39 40# Specify file names to be added to pack base directory 41# Default: empty 42# 43PACK_BASE_FILES=" 44 LICENSE 45" 46 47# Specify file names to be deleted from pack build directory 48# Default: empty 49# 50PACK_DELETE_FILES=" 51 Documentation/Doxygen 52 Documentation/README.md 53" 54 55# Specify patches to be applied 56# Default: empty 57# 58# PACK_PATCH_FILES="" 59 60# Specify addition argument to packchk 61# Default: empty 62# 63# PACKCHK_ARGS=() 64 65# Specify additional dependencies for packchk 66# Default: empty 67# 68PACKCHK_DEPS=" 69 ARM.CMSIS.pdsc 70" 71 72# Optional: restrict fallback modes for changelog generation 73# Default: full 74# Values: 75# - full Tag annotations, release descriptions, or commit messages (in order) 76# - release Tag annotations, or release descriptions (in order) 77# - tag Tag annotations only 78# 79PACK_CHANGELOG_MODE="tag" 80 81# 82# custom pre-processing steps 83# 84# usage: preprocess <build> 85# <build> The build folder 86# 87function preprocess() { 88 # add custom steps here to be executed 89 # before populating the pack build folder 90 ./Documentation/Doxygen/gen_doc.sh 91 return 0 92} 93 94# 95# custom post-processing steps 96# 97# usage: postprocess <build> 98# <build> The build folder 99# 100function postprocess() { 101 # add custom steps here to be executed 102 # after populating the pack build folder 103 # but before archiving the pack into output folder 104 return 0 105} 106 107############ DO NOT EDIT BELOW ########### 108 109# Set GEN_PACK_LIB_PATH to use a specific gen-pack library root 110# ... instead of bootstrap based on REQUIRED_GEN_PACK_LIB 111if [[ -f "${GEN_PACK_LIB_PATH}/gen-pack" ]]; then 112 . "${GEN_PACK_LIB}/gen-pack" 113else 114 . <(curl -sL "https://raw.githubusercontent.com/Open-CMSIS-Pack/gen-pack/main/bootstrap") 115fi 116 117gen_pack "${DEFAULT_ARGS[@]}" "$@" 118 119exit 0 120