tools: Build autoconf if needed and use it to patch libstdc++
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
db3151d93b
commit
cad0bd8c48
40
tools/setup-autoconf.sh
Executable file
40
tools/setup-autoconf.sh
Executable file
@ -0,0 +1,40 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
source $(dirname $0)/setup-env.sh
|
||||||
|
|
||||||
|
cd $LUNA_ROOT
|
||||||
|
|
||||||
|
# libstdc++ needs autoconf (precisely version 2.69) so if the user has an older/more recent version, we must build autoconf from source.
|
||||||
|
|
||||||
|
export AUTOCONF_VERSION=2.69
|
||||||
|
|
||||||
|
mkdir -p toolchain/tarballs
|
||||||
|
mkdir -p toolchain/build
|
||||||
|
|
||||||
|
if [ ! -f toolchain/tarballs/autoconf-$AUTOCONF_VERSION.tar.gz ]; then
|
||||||
|
echo Downloading autoconf (precisely version 2.69)...
|
||||||
|
|
||||||
|
wget -Otoolchain/tarballs/autoconf-$AUTOCONF_VERSION.tar.gz https://ftp.gnu.org/gnu/autoconf/autoconf-$AUTOCONF_VERSION.tar.gz
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf toolchain/build/build-autoconf
|
||||||
|
rm -rf toolchain/build/autoconf-$AUTOCONF_VERSION
|
||||||
|
|
||||||
|
echo Extracting autoconf (precisely version 2.69)...
|
||||||
|
|
||||||
|
tar xf toolchain/tarballs/autoconf-$AUTOCONF_VERSION.tar.xz -C toolchain/build/
|
||||||
|
|
||||||
|
mkdir -p toolchain/build/build-autoconf
|
||||||
|
|
||||||
|
cd toolchain/build/build-autoconf
|
||||||
|
|
||||||
|
unset CC
|
||||||
|
unset CXX
|
||||||
|
unset LD
|
||||||
|
unset AR
|
||||||
|
|
||||||
|
echo Building autoconf (precisely version 2.69)...
|
||||||
|
|
||||||
|
../autoconf-$AUTOCONF_VERSION/configure --prefix="/"
|
||||||
|
make
|
||||||
|
DESTDIR=$LUNA_ROOT/toolchain/dist make install
|
@ -36,6 +36,10 @@ patch -u -i $LUNA_ROOT/tools/gcc.patch -p 1 -d build
|
|||||||
|
|
||||||
cd -
|
cd -
|
||||||
|
|
||||||
|
cd toolchain/build/gcc-$LUNA_GCC_VERSION_REQUIRED/libstdc++-v3
|
||||||
|
autoconf
|
||||||
|
cd -
|
||||||
|
|
||||||
echo Configuring GCC...
|
echo Configuring GCC...
|
||||||
|
|
||||||
mkdir -p toolchain/build/gcc-$LUNA_ARCH
|
mkdir -p toolchain/build/gcc-$LUNA_ARCH
|
||||||
|
@ -1,6 +1,12 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
if ! $(dirname $0)/test-autoconf.sh
|
||||||
|
then
|
||||||
|
echo Building autoconf...
|
||||||
|
$(dirname $0)/setup-autoconf.sh
|
||||||
|
fi
|
||||||
|
|
||||||
if ! $(dirname $0)/test-binutils.sh
|
if ! $(dirname $0)/test-binutils.sh
|
||||||
then
|
then
|
||||||
echo Building Binutils...
|
echo Building Binutils...
|
||||||
|
16
tools/test-autoconf.sh
Executable file
16
tools/test-autoconf.sh
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
source $(dirname $0)/setup-env.sh
|
||||||
|
|
||||||
|
if [ -x "$(command -v autoconf)" ]
|
||||||
|
then
|
||||||
|
if [ "$(autoconf --version | head -n 1 | awk '{ print $4 }')" == "2.69" ]
|
||||||
|
then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "You have autoconf installed, but it is not version 2.69, which is required by libstdc++. Thus, we must build autoconf from source."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user