diff options
| author | kx <kx@radix-linux.su> | 2026-09-30 21:14:58 +0300 |
|---|---|---|
| committer | kx <kx@radix-linux.su> | 2026-09-30 21:14:58 +0300 |
| commit | 5b1c65152f77e03a4800fceae32d16efe2dadc9c (patch) | |
| tree | caffe4b2235503cccfedfb772dc266cb311840b3 /bootstrap | |
| parent | 8b354d2b9f2640d90705abd324a413a0d8fa3867 (diff) | |
| download | zubr-trunk.tar.xz | |
Diffstat (limited to 'bootstrap')
| -rwxr-xr-x | bootstrap | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/bootstrap b/bootstrap new file mode 100755 index 0000000..d3c77b8 --- /dev/null +++ b/bootstrap @@ -0,0 +1,88 @@ +#!/bin/bash + +CWD=`pwd` +program=`basename $0` + +usage() { + cat << EOF_USAGE + +Usage: $program [options] + +Options: + -h,--help Display this message. + -d,--target-dest-dir=DIR The target ROOTFS directory + [default: DIR=/]. + +The script regenerates files that do not need to be stored in Git: + aclocal.m4 and m4 macros using aclocal; + config.h.in using autoheader; + Makefile.in and helper files using automake; + configure using autoconf. + +EOF_USAGE +} + +TARGET_DEST_DIR=/ +ACDIR=usr/share/aclocal +INCDIR=usr/include +SYSTEM_ACDIR= +SYSTEM_INCDIR= + +while [ 0 ] ; do + if [ "$1" = "-h" -o "$1" = "--help" ] ; then + usage + exit 0 + elif [ "$1" = "-d" -o "$1" = "--target-dest-dir" ] ; then + if [ "$2" = "" ] ; then + echo -e "\n${program}: ERROR: --target-dest-dir is not specified.\n" + usage + exit 1 + fi + TARGET_DEST_DIR="$2" + shift 2 + elif [[ $1 == --target-dest-dir=* ]] ; then + TARGET_DEST_DIR="`echo $1 | cut -f2 -d'='`" + shift 1 + else + if [ "$1" != "" ] ; then + echo -e "\n${program}: ERROR: Unknown argument: $1.\n" + usage + exit 1 + fi + break + fi +done + +if [ ! -d "${TARGET_DEST_DIR}" ] ; then + echo -e "\n${program}: ERROR: --target-dest-dir is not a directory.\n" + usage + exit 1 +fi + +# Absolute path: +if [ "${TARGET_DEST_DIR:0:1}" != "/" ] ; then + TARGET_DEST_DIR=${CWD}/${TARGET_DEST_DIR} +fi + +# Remove last '/' char except for the root itself: +if [ "${TARGET_DEST_DIR}" != "/" -a "${TARGET_DEST_DIR: -1}" = "/" ] ; then + len=${#TARGET_DEST_DIR} + let "len = len - 1" + tmp="${TARGET_DEST_DIR:0:$len}" + TARGET_DEST_DIR=${tmp} +fi + +if [ "${TARGET_DEST_DIR}" = "/" ] ; then + SYSTEM_ACDIR=/${ACDIR} + SYSTEM_INCDIR=/${INCDIR} +else + SYSTEM_ACDIR="${TARGET_DEST_DIR}/${ACDIR}" + SYSTEM_INCDIR="${TARGET_DEST_DIR}/${INCDIR}" +fi + +aclocal --install -I m4 --force --system-acdir=${SYSTEM_ACDIR} || exit 1 +autoheader --include=${SYSTEM_INCDIR} || exit 1 +automake --gnu --add-missing --copy --force-missing || exit 1 +autoconf --force || exit 1 + +rm -rf autom4te.cache |
