868b2b66 (kx 2024-12-20 16:11:07 +0300 1) #!/bin/sh
868b2b66 (kx 2024-12-20 16:11:07 +0300 2)
868b2b66 (kx 2024-12-20 16:11:07 +0300 3) CWD=`pwd`
868b2b66 (kx 2024-12-20 16:11:07 +0300 4)
868b2b66 (kx 2024-12-20 16:11:07 +0300 5) program=`basename $0`
868b2b66 (kx 2024-12-20 16:11:07 +0300 6)
868b2b66 (kx 2024-12-20 16:11:07 +0300 7) usage() {
868b2b66 (kx 2024-12-20 16:11:07 +0300 8) cat << EOF
868b2b66 (kx 2024-12-20 16:11:07 +0300 9)
868b2b66 (kx 2024-12-20 16:11:07 +0300 10) Usage: $program [options]
868b2b66 (kx 2024-12-20 16:11:07 +0300 11)
868b2b66 (kx 2024-12-20 16:11:07 +0300 12) Options:
868b2b66 (kx 2024-12-20 16:11:07 +0300 13) -h,--help Display this message.
868b2b66 (kx 2024-12-20 16:11:07 +0300 14) -d,--target-dest-dir=DIR The target ROOTFS directory
868b2b66 (kx 2024-12-20 16:11:07 +0300 15) [default: DIR=/].
868b2b66 (kx 2024-12-20 16:11:07 +0300 16)
868b2b66 (kx 2024-12-20 16:11:07 +0300 17) EOF
868b2b66 (kx 2024-12-20 16:11:07 +0300 18) }
868b2b66 (kx 2024-12-20 16:11:07 +0300 19)
868b2b66 (kx 2024-12-20 16:11:07 +0300 20) TARGET_DEST_DIR=/
868b2b66 (kx 2024-12-20 16:11:07 +0300 21) ACDIR=usr/share/aclocal
868b2b66 (kx 2024-12-20 16:11:07 +0300 22) INCDIR=usr/include
868b2b66 (kx 2024-12-20 16:11:07 +0300 23) SYSTEM_ACDIR=
868b2b66 (kx 2024-12-20 16:11:07 +0300 24) SYSTEM_INCDIR=
868b2b66 (kx 2024-12-20 16:11:07 +0300 25)
868b2b66 (kx 2024-12-20 16:11:07 +0300 26) while [ 0 ] ; do
868b2b66 (kx 2024-12-20 16:11:07 +0300 27) if [ "$1" = "-h" -o "$1" = "--help" ] ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300 28) usage
868b2b66 (kx 2024-12-20 16:11:07 +0300 29) exit 0
868b2b66 (kx 2024-12-20 16:11:07 +0300 30) elif [ "$1" = "-d" -o "$1" = "--target-dest-dir" ] ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300 31) if [ "$2" = "" ] ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300 32) echo -e "\n${program}: ERROR: --target-dest-dir is not specified.\n"
868b2b66 (kx 2024-12-20 16:11:07 +0300 33) usage
868b2b66 (kx 2024-12-20 16:11:07 +0300 34) exit 1
868b2b66 (kx 2024-12-20 16:11:07 +0300 35) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300 36) TARGET_DEST_DIR="$2"
868b2b66 (kx 2024-12-20 16:11:07 +0300 37) shift 2
868b2b66 (kx 2024-12-20 16:11:07 +0300 38) elif [[ $1 == --target-dest-dir=* ]] ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300 39) TARGET_DEST_DIR="`echo $1 | cut -f2 -d'='`"
868b2b66 (kx 2024-12-20 16:11:07 +0300 40) shift 1
868b2b66 (kx 2024-12-20 16:11:07 +0300 41) else
868b2b66 (kx 2024-12-20 16:11:07 +0300 42) if [ "$1" != "" ] ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300 43) echo -e "\n${program}: ERROR: Unknown argument: $1.\n"
868b2b66 (kx 2024-12-20 16:11:07 +0300 44) usage
868b2b66 (kx 2024-12-20 16:11:07 +0300 45) exit 1
868b2b66 (kx 2024-12-20 16:11:07 +0300 46) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300 47) break
868b2b66 (kx 2024-12-20 16:11:07 +0300 48) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300 49) done
868b2b66 (kx 2024-12-20 16:11:07 +0300 50)
868b2b66 (kx 2024-12-20 16:11:07 +0300 51) if [ ! -d "${TARGET_DEST_DIR}" ] ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300 52) echo -e "\n${program}: ERROR: --target-dest-dir is not a directory.\n"
868b2b66 (kx 2024-12-20 16:11:07 +0300 53) usage
868b2b66 (kx 2024-12-20 16:11:07 +0300 54) exit 1
868b2b66 (kx 2024-12-20 16:11:07 +0300 55) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300 56)
868b2b66 (kx 2024-12-20 16:11:07 +0300 57) #
868b2b66 (kx 2024-12-20 16:11:07 +0300 58) # Absolute path:
868b2b66 (kx 2024-12-20 16:11:07 +0300 59) #
868b2b66 (kx 2024-12-20 16:11:07 +0300 60) if [ "${TARGET_DEST_DIR:0:1}" != "/" ] ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300 61) TARGET_DEST_DIR=${CWD}/${TARGET_DEST_DIR}
868b2b66 (kx 2024-12-20 16:11:07 +0300 62) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300 63)
868b2b66 (kx 2024-12-20 16:11:07 +0300 64) #
868b2b66 (kx 2024-12-20 16:11:07 +0300 65) # Remove last '/' char:
868b2b66 (kx 2024-12-20 16:11:07 +0300 66) #
868b2b66 (kx 2024-12-20 16:11:07 +0300 67) if [ "${TARGET_DEST_DIR: -1}" = "/" ] ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300 68) len=${#TARGET_DEST_DIR}
868b2b66 (kx 2024-12-20 16:11:07 +0300 69) let "len = len - 1"
868b2b66 (kx 2024-12-20 16:11:07 +0300 70) tmp="${TARGET_DEST_DIR:0:$len}"
868b2b66 (kx 2024-12-20 16:11:07 +0300 71) TARGET_DEST_DIR=${tmp}
868b2b66 (kx 2024-12-20 16:11:07 +0300 72) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300 73)
868b2b66 (kx 2024-12-20 16:11:07 +0300 74) SYSTEM_ACDIR="${TARGET_DEST_DIR}/${ACDIR}"
868b2b66 (kx 2024-12-20 16:11:07 +0300 75) SYSTEM_INCDIR="${TARGET_DEST_DIR}/${INCDIR}"
868b2b66 (kx 2024-12-20 16:11:07 +0300 76)
868b2b66 (kx 2024-12-20 16:11:07 +0300 77) ################################################################
868b2b66 (kx 2024-12-20 16:11:07 +0300 78) # Libtool:
868b2b66 (kx 2024-12-20 16:11:07 +0300 79) #
868b2b66 (kx 2024-12-20 16:11:07 +0300 80) libtoolize --force --copy
868b2b66 (kx 2024-12-20 16:11:07 +0300 81) #
868b2b66 (kx 2024-12-20 16:11:07 +0300 82) # Используется если в configure.ac вызывается LT_INIT.
868b2b66 (kx 2024-12-20 16:11:07 +0300 83) # Patch необходим по тому, что и lib-ld.m4 и libtool.m4
868b2b66 (kx 2024-12-20 16:11:07 +0300 84) # используют функцию AC_ARG_WITH([gnu-ld], ...
868b2b66 (kx 2024-12-20 16:11:07 +0300 85) # а это приводит к тому, что ./configure --help дважды
868b2b66 (kx 2024-12-20 16:11:07 +0300 86) # выдает подсказку --with-gnu-ld :
868b2b66 (kx 2024-12-20 16:11:07 +0300 87) #
868b2b66 (kx 2024-12-20 16:11:07 +0300 88) patch -p0 < $CWD/config/patches/libtool.m4.patch
868b2b66 (kx 2024-12-20 16:11:07 +0300 89) patch -p0 < $CWD/config/patches/libtool.m4-shared.patch
868b2b66 (kx 2024-12-20 16:11:07 +0300 90)
868b2b66 (kx 2024-12-20 16:11:07 +0300 91) #
868b2b66 (kx 2024-12-20 16:11:07 +0300 92) # End of Libtool.
868b2b66 (kx 2024-12-20 16:11:07 +0300 93) ################################################################
868b2b66 (kx 2024-12-20 16:11:07 +0300 94)
868b2b66 (kx 2024-12-20 16:11:07 +0300 95)
868b2b66 (kx 2024-12-20 16:11:07 +0300 96) aclocal --install -I m4 --force --system-acdir=${SYSTEM_ACDIR}
868b2b66 (kx 2024-12-20 16:11:07 +0300 97) autoheader --include=${SYSTEM_INCDIR}
868b2b66 (kx 2024-12-20 16:11:07 +0300 98) automake --gnu --add-missing --copy --force-missing
868b2b66 (kx 2024-12-20 16:11:07 +0300 99) autoconf --force
868b2b66 (kx 2024-12-20 16:11:07 +0300 100)
868b2b66 (kx 2024-12-20 16:11:07 +0300 101)
868b2b66 (kx 2024-12-20 16:11:07 +0300 102) ################################################################
868b2b66 (kx 2024-12-20 16:11:07 +0300 103) # Remove cache and back files:
868b2b66 (kx 2024-12-20 16:11:07 +0300 104) #
868b2b66 (kx 2024-12-20 16:11:07 +0300 105) rm -rf autom4te.cache *~
868b2b66 (kx 2024-12-20 16:11:07 +0300 106) #
868b2b66 (kx 2024-12-20 16:11:07 +0300 107) # End of Cleanup.
868b2b66 (kx 2024-12-20 16:11:07 +0300 108) ################################################################