Remove some autotools stages.

This commit is contained in:
Andrius Štikonas 2023-02-25 08:10:03 +08:00
parent 3b90aae529
commit 2c559bb49d
14 changed files with 6 additions and 296 deletions

View File

@ -431,40 +431,21 @@ At this stage we still do not have a working autotools system, so we manually in
Autoconf 2.52 is the newest version of ``autoconf`` that does not need ``perl``, and hence
a bit easier to install.
This is not a full featured autoconf install, it is missing other programs such as ``autoheader``
but is sufficient to build autoconf 2.53.
automake 1.6.3
==============
GNU Automake is a tool for automatically generating Makefile.in files. It is another major
part of GNU Autotools build system and consists of ``aclocal`` and ``automake`` scripts.
We bootstrap it using a 3 stage process:
We bootstrap it using a 2 stage process:
1. Use ``sed`` to replace a few placeholder variables in ``aclocal.in`` script.
Then we manually install ``aclocal`` script and its dependencies.
2. Patch ``configure.in`` to create ``automake`` file but skip ``Makefile.in`` processing.
Again we manually install ``automake`` script and its dependencies.
3. We now use ``aclocal``, ``autoconf``, and ``automake`` to do a proper build and install.
automake 1.4-p6
===============
This is an older version of GNU Automake. Various versions of GNU Autotools are not fully
compatible, and we will need older ``automake`` to build some older software.
autoconf 2.52
=============
We now properly rebuild ``autoconf`` using ``automake-1.4`` and manually installed ``autoconf``.
autoconf 2.13
=============
An older ``autoconf`` will be necessary to build GNU Binutils.
autoconf 2.12
=============
Yet another old autoconf version that we will need for some parts of GNU Binutils.
autoconf 2.53
=============
@ -481,7 +462,7 @@ autoconf macros to make it build with ``autoconf-2.53``.
autoconf 2.54
=============
More ``autoconf``.
Never version of ``autoconf``.
autoconf 2.55
=============

View File

@ -1,7 +1,4 @@
6fd4d09b3dfc5866cce714264493b0be92f5bada16e0fac36f8f2d110cc5a2b7 autoconf-2.12_0.tar.bz2
00b8c5bd3e1d5262262994d5598ddbb301c00e264a7996adce660323561b275e autoconf-2.13_0.tar.bz2
2dac610769286171ca81e736d729f5227938596cf44a0a8a764009715c55d23b autoconf-2.52_0.tar.bz2
2a0171e6c1aaad392a997de99341858053e4f00b07faf3c2132e8baa3866e8f8 autoconf-2.52_1.tar.bz2
7345a49227ed69774e01097c514f1ebd3abaeed0b2b9136b7f5ee1b0fe573390 autoconf-2.53_0.tar.bz2
6acc512d0a0ea3a860f708893a157609b93947c257df25ae324230c5aeca405e autoconf-2.54_0.tar.bz2
234e67c19653777fed7779c0c88c7592ca21d916b3e08eb366f85ed0f3ad6a9a autoconf-2.55_0.tar.bz2
@ -17,10 +14,8 @@ d5fcce4baea5e11f983a7e4b7148545ab6720bb4e010898c73387f6711be67f4 autoconf-2.64_
34925adeaa2876a5e068adeb17b71fe7c7105244c3cb5439d33f7406310674da automake-1.11.2_0.tar.bz2
a7bd12bd0c639783ce1c0e9f640cf004a87460bbda8154bc550c5e6884457b48 automake-1.15.1_0.tar.bz2
57100612d902537b72ee2fd3dfecc903f2ea3959f1a480af87c6a1ef9a9d7c03 automake-1.16.3_0.tar.bz2
ffdc0060708c37924ebac9dd6f1ce68602c5f39727fc7cd9d40115da847325d6 automake-1.4-p6_0.tar.bz2
1c7e09ac08f156960420fca1f6e8560c1855bf01b001a0648b56153d6ceb9c28 automake-1.6.3_0.tar.bz2
444131776779d1f27628088a817bfb8c9aa85f4b036b934794a71e484ec9bd70 automake-1.6.3_1.tar.bz2
c6bb649dfe72027395f4017a361b6e53773b21d19b307fc4d71088c4217449c1 automake-1.6.3_2.tar.bz2
ef08694bf8e78ffcf56f9c8a63b0f189e301c06f02ab240e15e4c7fe354c2a0d automake-1.7_0.tar.bz2
e8ff13753943e43972a8cf1672819f001718ed38e5497cf7b554c21a507ba22b automake-1.7.8_0.tar.bz2
9922651b64ad2e29b944082f26db223008220155048f25d64df1f6d82071ff1c automake-1.8.5_0.tar.bz2

View File

@ -1,26 +0,0 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
rm configure standards.info autoconf.info
touch autoconf.info
autoconf-2.52
sed -i '/^acdatadir/s:$:-2.12:' Makefile.in
}
src_configure() {
./configure --prefix="${PREFIX}" --program-suffix=-2.12
}
src_compile() {
make MAKEINFO=true
}
src_install() {
make MAKEINFO=true DESTDIR="${DESTDIR}" install
}

View File

@ -1,57 +0,0 @@
SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: GPL-2.0-only
Add DESTDIR support to autoconf 2.12.
--- Makefile.in 2022-02-19 19:42:37.817348420 +1100
+++ Makefile.in 2022-02-19 19:44:34.067256768 +1100
@@ -121,27 +121,27 @@
cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@
installdirs:
- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir)
+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(infodir) $(DESTDIR)$(acdatadir)
install: all $(M4FILES) acconfig.h installdirs install-info
@case `$(M4) --help < /dev/null 2>&1` in \
*reload-state*) echo installing frozen m4 files; \
- $(M4) -F $(acdatadir)/autoconf.m4f -I${srcdir} ${srcdir}/autoconf.m4 ; \
- $(M4) -F $(acdatadir)/autoheader.m4f -I${srcdir} ${srcdir}/autoheader.m4 ;; \
+ $(M4) -F $(DESTDIR)$(acdatadir)/autoconf.m4f -I${srcdir} ${srcdir}/autoconf.m4 ; \
+ $(M4) -F $(DESTDIR)$(acdatadir)/autoheader.m4f -I${srcdir} ${srcdir}/autoheader.m4 ;; \
*traditional*) ;; \
*) echo Error: Autoconf requires GNU m4 1.1 or later; exit 1 ;; \
esac
for p in $(ASCRIPTS); do \
- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
+ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
done
for i in $(M4FILES) acconfig.h; do \
- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
+ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(acdatadir)/$$i; \
done
-if test -f autoscan; then \
- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \
+ $(INSTALL_PROGRAM) autoscan $(DESTDIR)$(bindir)/`echo autoscan|sed '$(transform)'`; \
for i in acfunctions acheaders acidentifiers acprograms \
acmakevars; do \
- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
+ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(acdatadir)/$$i; \
done; \
else :; fi
@@ -149,11 +149,11 @@
install-info: info installdirs
if test -f autoconf.info; then \
for i in *.info*; do \
- $(INSTALL_DATA) $$i $(infodir)/$$i; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/$$i; \
done; \
else \
for i in $(srcdir)/*.info*; do \
- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
done; \
fi

View File

@ -1 +0,0 @@
https://mirrors.kernel.org/gnu/autoconf/autoconf-2.12.tar.gz 66fde474e124e80c843560041cd68820c9dce56e696f388312ba30361a814a16

View File

@ -1,26 +0,0 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
rm configure standards.info autoconf.info
touch autoconf.info
autoconf-2.52
sed -i '/^acdatadir/s:$:-2.13:' Makefile.in
}
src_configure() {
./configure --prefix="${PREFIX}" --program-suffix=-2.13
}
src_compile() {
make MAKEINFO=true
}
src_install() {
make MAKEINFO=true DESTDIR="${DESTDIR}" install
}

View File

@ -1,52 +0,0 @@
SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: GPL-2.0-only
Add DESTDIR support to autoconf 2.13.
--- Makefile.in 2022-02-19 20:13:48.181733103 +1100
+++ Makefile.in 2022-02-19 20:14:31.404491394 +1100
@@ -137,23 +137,23 @@
cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@
installdirs:
- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir)
+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(infodir) $(DESTDIR)$(acdatadir)
install: all $(M4FILES) acconfig.h installdirs install-info
for p in $(ASCRIPTS); do \
- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
+ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
done
for i in $(M4FROZEN); do \
- $(INSTALL_DATA) $$i $(acdatadir)/$$i; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(acdatadir)/$$i; \
done
for i in $(M4FILES) acconfig.h; do \
- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
+ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(acdatadir)/$$i; \
done
-if test -f autoscan; then \
- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \
+ $(INSTALL_PROGRAM) autoscan $(DESTDIR)$(bindir)/`echo autoscan|sed '$(transform)'`; \
for i in acfunctions acheaders acidentifiers acprograms \
acmakevars; do \
- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
+ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(acdatadir)/$$i; \
done; \
else :; fi
@@ -161,11 +161,11 @@
install-info: info installdirs
if test -f autoconf.info; then \
for i in *.info*; do \
- $(INSTALL_DATA) $$i $(infodir)/$$i; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/$$i; \
done; \
else \
for i in $(srcdir)/*.info*; do \
- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
done; \
fi

View File

@ -1 +0,0 @@
https://mirrors.kernel.org/gnu/autoconf/autoconf-2.13.tar.gz f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e

View File

@ -1,36 +0,0 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm doc/standards.info doc/autoconf.info
rm -- Makefile.in */Makefile.in
rm configure
# Do not use pregenerated manpages
sed -i '/SUBDIRS/s/ man//' Makefile.am
autoconf-2.52
automake-1.4
# Install autoconf data files into versioned directory
for file in */Makefile.in Makefile.in; do
sed -i '/^pkgdatadir/s:$:-@VERSION@:' "$file"
done
}
src_configure() {
./configure --prefix="${PREFIX}" --program-suffix=-2.52
}
src_compile() {
make MAKEINFO=true DESTDIR="${DESTDIR}"
}
src_install() {
# Remove manually installed autoconf
rm "${PREFIX}/bin/autoconf-2.52"
rm -rf "${PREFIX}/share/autoconf-2.52"
make install MAKEINFO=true DESTDIR="${DESTDIR}"
}

View File

@ -1,27 +0,0 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm -- configure Makefile.in */Makefile.in aclocal.m4 automake.info*
aclocal-1.6
autoconf-2.52
# When building with newer automake we get the following error
# Makefile.am:59: ETAGS_ARGS multiply defined in condition TRUE
sed -i '/ETAGS_ARGS/,+1d' Makefile.am
automake-1.6
}
src_configure() {
./configure --prefix="${PREFIX}"
}
src_compile() {
make MAKEINFO=true
}
src_install() {
make install MAKEINFO=true DESTDIR="${DESTDIR}"
rm "${DESTDIR}${PREFIX}/bin/automake"
rm "${DESTDIR}${PREFIX}/bin/aclocal"
}

View File

@ -1 +0,0 @@
https://mirrors.kernel.org/gnu/automake/automake-1.4-p6.tar.gz 503cdc2b0992a4309545d17f462cb15f99bb57b7161dfc4082b2e7188f2bcc0f

View File

@ -1,30 +0,0 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
rm -- configure Makefile.in */Makefile.in */*/Makefile.in aclocal.m4 automake.info*
aclocal-1.6
autoconf-2.52
automake-1.6
}
src_configure() {
./configure --prefix="${PREFIX}"
}
src_compile() {
make MAKEINFO=true
}
src_install() {
# cleanup old manual install
rm "${PREFIX}"/bin/automake-1.6
rm "${PREFIX}"/bin/aclocal-1.6
rm -rf "${PREFIX}"/share/automake-1.6
rm -rf "${PREFIX}"/share/aclocal-1.6
make install MAKEINFO=true DESTDIR="${DESTDIR}"
rm "${DESTDIR}${PREFIX}/bin/automake"
rm "${DESTDIR}${PREFIX}/bin/aclocal"
}

View File

@ -156,19 +156,10 @@ build perl-5.6.2
populate_device_nodes
build autoconf-2.52 stage1.sh
build autoconf-2.52
build automake-1.6.3 stage1.sh
build automake-1.6.3 stage2.sh
build automake-1.6.3 stage3.sh
build automake-1.4-p6
build autoconf-2.52 stage2.sh
build autoconf-2.13
build autoconf-2.12
build autoconf-2.53