summaryrefslogtreecommitdiff
path: root/bootstrap
diff options
context:
space:
mode:
authorkx <kx@radix-linux.su>2026-09-30 21:14:58 +0300
committerkx <kx@radix-linux.su>2026-09-30 21:14:58 +0300
commit5b1c65152f77e03a4800fceae32d16efe2dadc9c (patch)
treecaffe4b2235503cccfedfb772dc266cb311840b3 /bootstrap
parent8b354d2b9f2640d90705abd324a413a0d8fa3867 (diff)
downloadzubr-trunk.tar.xz
Version 4.1.0HEAD4.1.0trunk
Diffstat (limited to 'bootstrap')
-rwxr-xr-xbootstrap88
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