crystal-utils.eclass: introduce mycrystalargs

Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in>
This commit is contained in:
Anna (cybertailor) Vyalkova 2022-11-09 12:32:49 +05:00
parent b7ffda32dc
commit 2946a0ea45
No known key found for this signature in database
GPG Key ID: E7B76EDC50864BB1
2 changed files with 19 additions and 2 deletions

View File

@ -61,7 +61,19 @@ _crystal_get_debug_opt() {
# @DESCRIPTION:
# Set Crystal environment variables to match user settings.
#
# Passes arguments to Crystal by reading from an optionally pre-defined local
# mycrystalargs bash array.
#
# Must be run or ecrystal/eshards will fail.
#
# @CODE
# src_configure() {
# local mycrystalargs=(
# -Dfoo
# )
# crystal_configure
# }
# @CODE
crystal_configure() {
debug-print-function ${FUNCNAME} "${@}"
@ -69,6 +81,12 @@ crystal_configure() {
export CRYSTAL_CACHE_DIR="${T}/crystal"
export SHARDS_CACHE_PATH="${T}/shards"
[[ -z ${mycrystalargs} ]] && local -a mycrystalargs=()
local mycrystalargstype=$(declare -p mycrystalargs 2>&-)
if [[ "${mycrystalargstype}" != "declare -a mycrystalargs="* ]]; then
die "mycrystalargs must be declared as array"
fi
local args=(
--link-flags="\"${LDFLAGS}\""
--release
@ -78,6 +96,7 @@ crystal_configure() {
$(is-flagq -mcpu && echo "--mcpu=$(get-flag mcpu)")
$(is-flagq -mcmodel && echo "--mcmodel=$(get-flag mcmodel)")
# TODO: --mattr
"${mycrystalargs[@]}"
)
export CRYSTAL_OPTS="${args[@]}"

View File

@ -64,7 +64,6 @@ shards_src_configure() {
}
# @FUNCTION: shards_src_compile
# @USAGE: [<args>...]
# @DESCRIPTION:
# General function for building packages using Shards.
shards_src_compile() {
@ -73,7 +72,6 @@ shards_src_compile() {
local build_args=(
--threads=$(makeopts_jobs)
--verbose
"${@}"
)
if gshards-has-targets; then