mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-01-19 03:06:42 +00:00
9265403b8b
Homogenise the references to crosstool-NG: - the project is named "crosstool-NG" - the front-end is named "ct-ng" - don't use shortcuts (such as "ct-ng" to stand for "crosstool-NG") Default action is to print help. Don't speak of make rules when dumping help, just speak of actions.
139 lines
3.4 KiB
Bash
Executable File
139 lines
3.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
VERSION=$(cat version)
|
|
DATE=$(date +%Y%m%d)
|
|
|
|
PREFIX_DEFAULT=/usr/local
|
|
|
|
BINDIR_set=
|
|
LIBDIR_set=
|
|
DOCDIR_set=
|
|
MANDIR_set=
|
|
LOCAL_set=
|
|
|
|
get_optval(){
|
|
local ret
|
|
case "$1" in
|
|
--*=?*)
|
|
echo "${1}" |cut -d '=' -f 2-
|
|
ret=0
|
|
;;
|
|
*)
|
|
echo "${2}"
|
|
ret=1
|
|
;;
|
|
esac
|
|
return ${ret}
|
|
}
|
|
|
|
set_prefix() {
|
|
local ret
|
|
PREFIX=$(get_optval "$1" "$2")
|
|
ret=$?
|
|
[ -z "${BINDIR_set}" ] && BINDIR="${PREFIX}/bin"
|
|
[ -z "${LIBDIR_set}" ] && LIBDIR="${PREFIX}/lib/ct-ng-${VERSION}"
|
|
[ -z "${DOCDIR_set}" ] && DOCDIR="${PREFIX}/share/doc/ct-ng-${VERSION}"
|
|
[ -z "${MANDIR_set}" ] && MANDIR="${PREFIX}/share/man/man1"
|
|
return ${ret}
|
|
}
|
|
|
|
set_bindir() {
|
|
local ret
|
|
BINDIR=$(get_optval "$1" "$2")
|
|
ret=$?
|
|
BINDIR_set=1
|
|
return ${ret}
|
|
}
|
|
|
|
set_libdir() {
|
|
local ret
|
|
LIBDIR=$(get_optval "$1" "$2")
|
|
ret=$?
|
|
LIBDIR_set=1
|
|
return ${ret}
|
|
}
|
|
|
|
set_docdir() {
|
|
local ret
|
|
DOCDIR=$(get_optval "$1" "$2")
|
|
ret=$?
|
|
DOCDIR_set=1
|
|
return ${ret}
|
|
}
|
|
|
|
set_mandir() {
|
|
local ret
|
|
MANDIR=$(get_optval "$1" "$2")
|
|
ret=$?
|
|
MANDIR_set=1
|
|
return ${ret}
|
|
}
|
|
|
|
do_help() {
|
|
cat <<__EOF__
|
|
\`configure' configures crosstool-NG ${VERSION} to adapt to many kind of systems.
|
|
|
|
USAGE: ./configure [OPTION]...
|
|
|
|
Defaults for the options are specified in brackets.
|
|
|
|
Configuration:
|
|
-h, --help display this help and exit
|
|
--prefix=PREFIX install files in PREFIX [${PREFIX_DEFAULT}]
|
|
--local don't install, and use current directory
|
|
|
|
By default, \`make install' will install all the files in
|
|
\`${PREFIX_DEFAULT}/bin', \`${PREFIX_DEFAULT}/lib' etc. You can specify
|
|
an installation prefix other than \`${PREFIX_DEFAULT}' using \`--prefix',
|
|
for instance \`--prefix=\${HOME}'.
|
|
|
|
For better control, use the options below.
|
|
|
|
Fine tuning of the installation directories:
|
|
--bindir=DIR user executables [PREFIX/bin]
|
|
--libdir=DIR object code libraries [PREFIX/lib]
|
|
--docdir=DIR info documentation [PREFIX/share/doc]
|
|
--mandir=DIR man documentation [PREFIX/share/man]
|
|
__EOF__
|
|
}
|
|
|
|
while [ $# -ne 0 ]; do
|
|
case "$1" in
|
|
--prefix*) set_prefix "$1" "$2" && shift || shift 2;;
|
|
--bindir*) set_bindir "$1" "$2" && shift || shift 2;;
|
|
--libdir*) set_libdir "$1" "$2" && shift || shift 2;;
|
|
--docdir*) set_docdir "$1" "$2" && shift || shift 2;;
|
|
--mandir*) set_mandir "$1" "$2" && shift || shift 2;;
|
|
--local) LOCAL_set=1; shift;;
|
|
--help|-h) do_help; exit 0;;
|
|
*) do_help; exit 1;;
|
|
esac
|
|
done
|
|
|
|
[ -z "${PREFIX}" ] && set_prefix "" "${PREFIX_DEFAULT}"
|
|
if [ "${LOCAL_set}" = "1" ]; then
|
|
set_prefix "" $(pwd)
|
|
set_bindir "" $(pwd)
|
|
set_libdir "" $(pwd)
|
|
set_docdir "" $(pwd)/docs
|
|
set_mandir "" $(pwd)/docs
|
|
fi
|
|
|
|
sed -r -e "s,@@BINDIR@@,${BINDIR},g;" \
|
|
-e "s,@@LIBDIR@@,${LIBDIR},g;" \
|
|
-e "s,@@DOCDIR@@,${DOCDIR},g;" \
|
|
-e "s,@@MANDIR@@,${MANDIR},g;" \
|
|
-e "s,@@VERSION@@,${VERSION},g;" \
|
|
-e "s,@@DATE@@,${DATE},g;" \
|
|
-e "s,@@LOCAL@@,${LOCAL_set},g;" \
|
|
Makefile.in >Makefile
|
|
|
|
cat <<__EOF__
|
|
crosstool-NG configured as follows:
|
|
PREFIX="${PREFIX}"
|
|
BINDIR="${BINDIR}"
|
|
LIBDIR="${LIBDIR}"
|
|
DOCDIR="${DOCDIR}"
|
|
MANDIR="${MANDIR}"
|
|
__EOF__
|