mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-29 19:20:48 +00:00
7d283ab48d
Supports both autotools-like --host=... switch and Linux kernel-style CROSS_COMPILE env var.
79 lines
1.7 KiB
Bash
79 lines
1.7 KiB
Bash
## lvl. 43 regex dragon awaits thee.
|
|
print_help()
|
|
{ cat << EOF
|
|
====================
|
|
Quickbuild script
|
|
====================
|
|
Package: $PACKAGE_NAME
|
|
Version: $PACKAGE_VERSION
|
|
|
|
General environment variables:
|
|
CC: C compiler
|
|
CFLAGS: C compiler flags
|
|
CXX: C++ compiler
|
|
CXXFLAGS: C++ compiler flags
|
|
LDFLAGS: Linker flags
|
|
|
|
General options:
|
|
--prefix=\$path: Install path prefix
|
|
--host=HOST: cross-compile to build programs to run on HOST
|
|
--help: Show this help
|
|
|
|
Custom options:
|
|
EOF
|
|
while IFS='=#' read VAR VAL COMMENT; do
|
|
VAR=$(echo "${VAR##HAVE_}" | tr '[A-Z]' '[a-z]')
|
|
case "$VAL" in
|
|
'yes'*)
|
|
echo "--disable-$VAR: $COMMENT";;
|
|
'no'*)
|
|
echo "--enable-$VAR: $COMMENT";;
|
|
'auto'*)
|
|
echo "--enable-$VAR: $COMMENT"
|
|
echo "--disable-$VAR";;
|
|
*)
|
|
echo "--with-$VAR: $COMMENT";;
|
|
esac
|
|
done < 'qb/config.params.sh'
|
|
}
|
|
|
|
opt_exists() # $opt is returned if exists in OPTS
|
|
{ opt=$(echo "$1" | tr '[a-z]' '[A-Z]')
|
|
for OPT in $OPTS; do [ "$opt" = "$OPT" ] && return; done
|
|
print_help; exit 1
|
|
}
|
|
|
|
parse_input() # Parse stuff :V
|
|
{ OPTS=; while IFS='=' read VAR dummy; do OPTS="$OPTS ${VAR##HAVE_}"; done < 'qb/config.params.sh'
|
|
#OPTS contains all available options in config.params.sh - used to speedup
|
|
#things in opt_exists()
|
|
|
|
while [ "$1" ]; do
|
|
case "$1" in
|
|
--prefix=*) PREFIX=${1##--prefix=};;
|
|
--host=*) CROSS_COMPILE=${1##--host=}-;;
|
|
--enable-*)
|
|
opt_exists "${1##--enable-}"
|
|
eval "HAVE_$opt=yes"
|
|
;;
|
|
--disable-*)
|
|
opt_exists "${1##--disable-}"
|
|
eval "HAVE_$opt=no"
|
|
;;
|
|
--with-*)
|
|
arg=${1##--with-}
|
|
val=${arg##*=}
|
|
opt_exists "${arg%%=*}"
|
|
eval "$opt=$val"
|
|
;;
|
|
-h|--help) print_help; exit 0;;
|
|
*) print_help; exit 1;;
|
|
esac
|
|
shift
|
|
done
|
|
}
|
|
|
|
. qb/config.params.sh
|
|
|
|
parse_input "$@"
|