openwrt/tools
Michael Pratt 8ce3873a28 tools/elfutils: do not use libtool for all subdirectories
Importing gnulib in order to have a local portable library
to link against for missing functions currently requires
using libtool to produce the libgnu.la library.

Ideally, linking would be simple if the rest of the libraries
built by elfutils were also built using libtool, as linking
them together would not require any manipulations of library paths.

However, upstream elfutils does not support building the libraries
statically with libtool, so using libtool comes at the cost
of creating a huge patch to introduce that functionality.

For building on macOS, it turns out that libgnu.la is only needed
for building the binaries, and that just one or two objects from libgnu
are needed to build the libraries, so in this case, it would be simple
to add the specific non-libtool-wrapped library and objects
to the link paths as needed, rather than use libtool to link
the libtool wrappers, which greatly reduces the need to patch.

Not using libtool also makes the original Makefile definitions for LIBADD
once again be the right ones to use. However, to be portable,
for libdw the wildcard function needs to be used in order to exclude
special archive members like "__.SYMDEF" which are not compiled objects
because some BSD-like versions of ar include that metadata in the list,
or because the library included may have objects from another subdirectory.
Also, the rest of the subdirectories have custom "LDLIBS" variables
meant for building shared objects only, so define the LIBADD variables
with objects from those existing definitions so that when building only
the static versions of the libraries, those objects can still be included.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/15690
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-06-19 11:22:13 +02:00
..
7z
autoconf tools: prefer gz or bz2 tarballs 2024-04-06 11:24:18 +02:00
autoconf-archive
automake tools: prefer gz or bz2 tarballs 2024-04-06 11:24:18 +02:00
b43-tools treewide: update PKG_MIRROR_HASH to zst 2024-04-06 11:24:18 +02:00
bash
bc
bison tools/bison: hardcode path to m4 with STAGING_DIR_HOST 2024-04-25 21:33:51 +02:00
bzip2 tools/bzip2: switch to cmake 2024-04-03 18:56:58 +02:00
cbootimage treewide: update PKG_MIRROR_HASH to zst 2024-04-06 11:24:18 +02:00
cbootimage-configs treewide: update PKG_MIRROR_HASH to zst 2024-04-06 11:24:18 +02:00
ccache tools/ccache: update to 4.10.0 2024-06-10 16:08:19 +02:00
cmake tools/cmake: update to 3.29.5 2024-06-10 01:27:02 +02:00
coreutils tools/coreutils: update to 9.5 2024-04-25 21:33:51 +02:00
cpio
dosfstools
dwarves tools/dwarves: update to v1.27 2024-06-13 14:16:33 +02:00
e2fsprogs tools: prefer gz or bz2 tarballs 2024-04-06 11:24:18 +02:00
elftosb tools: refresh all patches 2024-05-23 11:49:03 +02:00
elfutils tools/elfutils: do not use libtool for all subdirectories 2024-06-19 11:22:13 +02:00
expat tools/expat: fix PKG_CPE_ID 2024-04-27 23:37:57 +02:00
fakeroot tools/fakeroot: update to 1.33 2024-06-18 23:02:17 +02:00
findutils tools/findutils: update to 4.10.0 2024-06-10 13:02:06 +02:00
firmware-utils treewide: update PKG_MIRROR_HASH to zst 2024-04-06 11:24:18 +02:00
flex tools/flex: fix PKG_CPE_ID 2024-04-27 12:08:11 +02:00
flock
genext2fs
gengetopt gengetopt: backport patch fixing support for c++17 2024-05-01 15:45:25 +02:00
gmp tools: prefer gz or bz2 tarballs 2024-04-06 11:24:18 +02:00
gnulib tools/gnulib: add fallocate-posix module 2024-06-19 11:22:13 +02:00
include tools: add more linux include files to fix x86 build on macos 2024-05-07 12:50:27 +02:00
isl tools: prefer gz or bz2 tarballs 2024-04-06 11:24:18 +02:00
libdeflate tools: libdeflate: backport fix for AVX-VNNI 2024-04-15 13:52:37 +02:00
liblzo tools: refresh all patches 2024-05-23 11:49:03 +02:00
libressl
libtool tools: prefer gz or bz2 tarballs 2024-04-06 11:24:18 +02:00
llvm-bpf
lz4 tools/lz4: remove patches 2024-05-23 11:49:02 +02:00
lzma tools: refresh all patches 2024-05-23 11:49:03 +02:00
lzma-old
lzop tools: refresh all patches 2024-05-23 11:49:03 +02:00
m4 tools: prefer gz or bz2 tarballs 2024-04-06 11:24:18 +02:00
make-ext4fs treewide: update PKG_MIRROR_HASH to zst 2024-04-06 11:24:18 +02:00
meson tools/meson: update to 1.3.2 2024-03-29 23:42:22 +01:00
missing-macros tools/missing-macros: install files from HOST_BUILD_DIR instead of src 2024-05-22 11:53:52 +02:00
mkimage tools/mkimage: update to v2024.04 2024-05-29 10:43:50 +02:00
mklibs
mold tools: mold: update to 2.31.0 2024-05-09 10:45:29 +02:00
mpc
mpfr tools: prefer gz or bz2 tarballs 2024-04-06 11:24:18 +02:00
mtd-utils
mtools
ninja
padjffs2 tools/padjffs2: use Host/Prepare/Default instead of raw commands 2024-05-22 11:56:45 +02:00
patch tools: refresh all patches 2024-05-23 11:49:03 +02:00
patch-image
patchelf
pkgconf tools/pkgconf: update to 2.2.0 2024-06-14 15:27:39 +02:00
quilt tools/quilt: update to 0.68 2024-06-09 21:23:28 +02:00
sdimage treewide: update PKG_MIRROR_HASH to zst 2024-04-06 11:24:18 +02:00
sed tools: prefer gz or bz2 tarballs 2024-04-06 11:24:18 +02:00
sparse tools/sparse: fix compilation with GCC14 2024-06-16 22:40:42 +02:00
squashfs3-lzma
squashfs4 treewide: update PKG_MIRROR_HASH to zst 2024-04-06 11:24:18 +02:00
sstrip
tar tools: tar: update to 1.35 2024-06-18 19:49:54 +02:00
util-linux tools: prefer gz or bz2 tarballs 2024-04-06 11:24:18 +02:00
xz Revert "tools/xz: update to 5.6.1" (CVE-2024-3094) 2024-03-29 16:59:56 +00:00
yafut tools: add Yafut to enable creating Yaffs filesystem images 2024-06-05 17:03:24 +02:00
zip
zlib tools/zlib: fix PKG_CPE_ID 2024-04-27 12:07:37 +02:00
zstd tools/zstd: enable position independent code compilation 2024-04-24 12:16:48 +02:00
Makefile tools: remove kernel2minor 2024-06-05 17:03:24 +02:00