void-packages/common/environment/setup/options.sh
Michael Carlberg d5c58a3c60 xbps-src: new vopt_onoff helper
CMake helper function used to set bool argument values

Usage example:

    configure_args+=" $(vopt_onoff logging WITH_LOGGING)"

    configure_args+=" -DWITH_LOGGING=OFF"
2018-05-03 01:26:32 -04:00

40 lines
1,009 B
Bash

# vim: set ts=4 sw=4 et:
vopt_if() {
local name="build_option_$1" t="$2" f="$3"
if [ ${!name} ]; then
echo -n "$t"
else
echo -n "$f"
fi
}
vopt_with() {
local opt="$1" flag="${2:-$1}"
vopt_if "$opt" "--with-${flag}" "--without-${flag}"
}
vopt_enable() {
local opt="$1" flag="${2:-$1}"
if [ "$#" -gt "2" ]; then
msg_error "vopt_enable $opt: $(($# - 2)) excess parameter(s)\n"
fi
vopt_if "$1" "--enable-${flag}" "--disable-${flag}"
}
vopt_conflict() {
local opt1="$1" opt2="$2" n1="build_option_$1" n2="build_option_$2"
if [ "${!n1}" -a "${!n2}" ]; then
msg_error "options '${opt1}' and '${opt2}' conflict\n"
fi
}
vopt_onoff() {
local opt="$1" prop="$2"
if [ "$#" -lt "2" ]; then
msg_error "vopt_onoff <build_option> <property>: missing values\n"
elif [ "$#" -gt "2" ]; then
msg_error "vopt_onoff $opt: $(($# - 2)) excess parameter(s)\n"
fi
vopt_if "$1" "-D${prop}=ON" "-D${prop}=OFF"
}