Commit Graph

38 Commits

Author SHA1 Message Date
Michael Pratt
89a8269c10
tools/automake: move file requirements to higher strictness
GNU standards requires certain files at the top-level directory
of a package that automake is used with, mostly documentation.

If one of these files happens to be missing, autoreconf would fail.

Move these file requirements to the more strict 'GNITS' setting.

Link: https://www.gnu.org/software/automake/manual/html_node/Strictness.html
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-05-04 06:07:28 +02:00
Michael Pratt
b094c6976c tools/automake: verbose variable compatibility
An old patch attempted to harmonize the way that
both Openwrt and Automake uses the $(V) variable.
However, it was reverted because of the side-effects.

This method is more simple and just
allows Automake to accept any string
as part of the verbosity toggle,
falling back to the default if null.

Ref: e6901bf90 ("tools/automake: Revert "Do not use $(V) - force AM_V=1"")
Ref: 43365ca66 ("Do not use $(V) - force AM_V=1")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-27 00:41:49 +02:00
Michael Pratt
f509935fe3 tools/automake: bump to 1.16.5
Automake releases 1.16.2 to 1.16.5 are major releases,
the two before are minor releases.

The first patch needed rewriting, some lines moved
to be consistent with the same change upstream in other files.
This also simplifies the patch.

Second patch refreshed.

Links to changelogs in order, oldest to newest.

Link: https://lists.gnu.org/archive/html/info-gnu/2018-02/msg00008.html
Link: https://lists.gnu.org/archive/html/info-gnu/2018-03/msg00002.html
Link: https://lists.gnu.org/archive/html/info-gnu/2020-03/msg00009.html
Link: https://lists.gnu.org/archive/html/info-gnu/2020-11/msg00005.html
Link: https://lists.gnu.org/archive/html/info-gnu/2021-07/msg00013.html
Link: https://lists.gnu.org/archive/html/info-gnu/2021-10/msg00000.html
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Michael Pratt
a3cf796e77 tools/automake: use make variable to generate aclocal symlinks
Instead of having a somewhat random list of aclocal symlinks
which are named with the API versioning scheme,
install a symlink for every API version since 1.11
(the first release after Automake was moved to git)
using the API version number from the version of automake
that is currently in openwrt.

Automake API versioning does not include the patch level number.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Michael Pratt
8d0ff17ec9 tools/automake: clean up build recipes
The configure option datarootdir
defaults to PREFIX/share.

The Host/Clean define should be Host/Uninstall
otherwise it is removing the build directory
before there is a chance to try "make uninstall"
in that directory.
Host/Clean/Default is no longer defined.

Consolidate the install stage with Host/Uninstall,
since it is essentially uninstalling before installing.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Christian Marangi
3606fcce0b
automake: use STAGING_DIR_HOST in relocatable patch
Instead of using STAGING_DIR and then go up one dir with '../' use
directly STAGING_DIR_HOST env variable. This should produce cleaner
symbolic links.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-01-09 21:33:18 +01:00
Rosen Penev
a63805b25f
tools: add Host/Uninstall where possible
This cleans staging_dir when calling tool/x/clean.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-10-20 00:33:22 +02:00
Leonardo Mörlein
ffd9bd7b9b
automake: always use correct path for aclocal.real
Before this commit, it was assumed that aclocal.real is in the PATH. While
this was fine for the normal build workflow, this led to some issues if

    make TOPDIR="$(pwd)" -C "$pkgdir" compile

was called manually. The command failed with:

    /home/.../openwrt/staging_dir/host/bin/aclocal: line 2: aclocal.real: command not found
    autoreconf: /home/.../openwrt/staging_dir/host/bin/aclocal failed with exit status: 127

After the commit, the package is built sucessfully.

Signed-off-by: Leonardo Mörlein <me@irrelefant.net>
2022-07-14 12:57:12 +02:00
Fredrik Olofsson
e6901bf902 tools/automake: Revert "Do not use $(V) - force AM_V=1"
This reverts commit 43365ca662 ("Do not use $(V) - force AM_V=1") as
it breaks verbose output in automake packages, deviating from the
upstream and expected behaviour.

As you can see, neither make command outputs the expected verbose
compile command lines:

```
$ make package/mtd-utils/{clean,compile} V=sc
...
  CCLD     lsmtd
  CC       nand-utils/nanddump.o
  CCLD     nanddump
...
```
```
$ make -C build_dir/target*/mtd-utils-2.1.1 clean
...
$ make -C build_dir/target*/mtd-utils-2.1.1 V=1
...
  CC       lib/libmtd.o
  CC       lib/libfec.o
  CC       lib/common.o
  CC       lib/libcrc32.o
```

The original reason for this commit was some packages failing to build
if V is set to something other than 0 or 1. See the discussion in PR
https://github.com/openwrt/openwrt/pull/2481 for how to fix this in the
package Makefile.

Ref: PR#2481
Acked-by: Mirko Vogt <mirko-openwrt@nanl.de>
Signed-off-by: Fredrik Olofsson <fredrik.olofsson@anyfinetworks.com>
[commit title/description facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-11-06 00:21:15 +01:00
Alexander Couzens
c61a239514
add PKG_CPE_ID ids to package and tools
CPE ids helps to tracks CVE in packages.
https://cpe.mitre.org/specification/

Thanks to swalker for CPE to package mapping and
keep tracking CVEs.

Acked-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2017-11-17 02:24:35 +01:00
Thomas Langer
eafaef3765 automake: Update to version 1.15.1
The new version includes the fix for new perl versions,
so remove the related patch.

Signed-off-by: Thomas Langer <thomas.langer.71@gmail.com>
2017-07-04 22:56:55 +02:00
Daniel Golle
92c80f38cf automake: import upstream fix for perl 5.26
Build broke as distributions now include Perl 5.26 and automake
triggered an "Unescaped left brace in regex" error.
Import upstream commit 13f00eb449 to fix that.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-06-07 19:47:34 +02:00
Felix Fietkau
720b99215d treewide: clean up download hashes
Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-16 22:39:22 +01:00
Jo-Philipp Wich
f6c581cc3e automake: portability fixes
The rework of the host tools discovery caused automake to embed
absolute paths to staging_dir/host/bin/perl into the shebang
of the generated automake executables.

Switch to the portable "/usr/bin/env perl" and enable global
warnings through "$^W" instead of the "-w" interpreter argument.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 44972
2015-03-24 13:13:01 +00:00
Mirko Vogt
bc67ebc585 disable silent-rules by default
OpenWrt hides verbose output by default,
regardless of automake silent-rules being en-/disabled.

If we enable verbose output for package builds (V=s)
however, we'd like to see as most as possible.

Signed-off-by: Mirko Vogt <mirko@openwrt.org>

SVN-Revision: 44685
2015-03-12 00:39:50 +00:00
Mirko Vogt
43365ca662 Do not use $(V) - force AM_V=1
Projects using silent-rules might otherwise fail to compile.

This is due to the following resulting Makefile code:

AM_V_P = $(am__v_P_$(V))
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
am__v_P_0 = false
am__v_P_1 = :

Automake directly uses $(V) for variable name expansion
which fails if $(V) is set to sth. else other than '0' or '1'.

This patch forces automake to not take $(V) into account
but to always use the default config for verbosity.

A better approach would be to actually take $(V) into account,
however not just pass it through (AM_V='$(V)') but
set AM_V to 0 if $V=0 / unset and to 1 otherwise.

This plan however is foiled due to my frustration about
automake as well as my lack of m4 skills.

automake bug report: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20077

Signed-off-by: Mirko Vogt <mirko@openwrt.org>

SVN-Revision: 44684
2015-03-12 00:39:48 +00:00
Jo-Philipp Wich
73a1f3597b tools: bootstrap automake to pickup the correct in-tree autoconf
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 43958
2015-01-13 07:49:01 +00:00
Jo-Philipp Wich
cdaf75b641 tools: automake: update to v1.15
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 43895
2015-01-09 14:51:23 +00:00
Luka Perkov
0b4e8c4c36 automake: update to 1.11.6
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 39108
2013-12-17 02:47:13 +00:00
John Crispin
639ee81002 fixes python related autokrampf install bug
this commit fixes a compile bug triggered by pygobject

SVN-Revision: 32109
2012-06-07 14:57:08 +00:00
Florian Fainelli
093b12cba9 automake: update to 1.11.3
Signed-off-by: Luka Perkov <openwrt@lukaperkov.net>

SVN-Revision: 31173
2012-04-02 16:25:28 +00:00
Jo-Philipp Wich
1ef07eee4a automake: forcibly disable perl ithreads support The SDK when build on a machine with perl ithreads enabled will fail to run on many Gentoo systems because perl is usually built without thread capability there. In order to circumvent this issue forcibly disable the ithreads support, tested on CentOS 5.6, Ubuntu 10.04 LTS and Gentoo.
SVN-Revision: 29979
2012-02-01 15:06:36 +00:00
Jo-Philipp Wich
537164cb6d automake: generate relative aclocal symlinks in staging_dir
SVN-Revision: 29929
2012-01-28 03:51:22 +00:00
Jo-Philipp Wich
122069caba automake: further relocation fixes
SVN-Revision: 29828
2012-01-20 15:19:22 +00:00
Jo-Philipp Wich
4174cdabde automake: make relocatable by searching resources relative to STAGING_DIR
SVN-Revision: 29820
2012-01-20 02:55:55 +00:00
John Crispin
ccb6b0a063 tools: clean up Makefiles / make ccache work
SVN-Revision: 29754
2012-01-15 11:43:13 +00:00
Jo-Philipp Wich
8f591af937 automake: rework patch; only skip when the directories does not exist, this preserves error cases like missing access permissions
SVN-Revision: 24427
2010-12-10 16:10:07 +00:00
Jo-Philipp Wich
127c395a0e automake: use symlinks instead of hardlinks to link aclocal versions
SVN-Revision: 24425
2010-12-10 16:03:27 +00:00
Jo-Philipp Wich
94c3f4ab4d automake: skip over not existing m4 macro directories, don't fail
SVN-Revision: 24424
2010-12-10 16:01:33 +00:00
Alexandros C. Couloumbis
276ef23e4d tools/automake: add symbolic links upto version 1.11.1
SVN-Revision: 24287
2010-12-06 17:38:09 +00:00
Alexandros C. Couloumbis
d5aecceacd tools/automake: update to version 1.11.1
SVN-Revision: 24278
2010-12-06 12:11:47 +00:00
Florian Fainelli
9f15eecf64 update automake to 1.10, fixes #6022
SVN-Revision: 18527
2009-11-24 21:17:20 +00:00
Felix Fietkau
e53003f5fc clean up / fix various Host/Clean templates in tools/
SVN-Revision: 15714
2009-05-08 20:44:47 +00:00
Felix Fietkau
63129f9b4c clean up automake/pkg-config handling, move separate host/package variable exports to templates, fix automake path for host builds
SVN-Revision: 15339
2009-04-22 22:05:55 +00:00
Felix Fietkau
7eb1589875 build system refactoring in preparation for allowing packages to do host-build steps
SVN-Revision: 14610
2009-02-22 04:37:20 +00:00
Lars-Peter Clausen
6b4e3e7609 Check for existence of target aclocal folder before including them.
SVN-Revision: 12934
2008-10-09 12:55:08 +00:00
Lars-Peter Clausen
1f819de60e Add wrapper around aclocal which also search in the targets staging dir aclocal folder for m4 files.
SVN-Revision: 12929
2008-10-08 21:50:03 +00:00
Felix Fietkau
2112af299f add automake to tools/
SVN-Revision: 9901
2007-12-25 00:27:32 +00:00