Skip to content

Commit ff685c1

Browse files
bootstrap: tools::host_libtool & pkgs::libexpat
Signed-off-by: Andy-Python-Programmer <[email protected]>
1 parent 7ed0e9a commit ff685c1

File tree

2 files changed

+182
-1
lines changed

2 files changed

+182
-1
lines changed

bootstrap.yml

Lines changed: 122 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,33 @@ tools:
342342
- args: ['ninja', 'install', '-j@PARALLELISM@']
343343
# quiet: true
344344

345+
- name: host-libtool
346+
exports_aclocal: true
347+
source:
348+
name: libtool
349+
subdir: 'bundled'
350+
git: 'https://git.savannah.gnu.org/git/libtool.git'
351+
tag: 'v2.4.6'
352+
version: '2.4.6'
353+
tools_required:
354+
- host-autoconf-v2.69
355+
- host-automake-v1.16
356+
regenerate:
357+
# libtool's ./bootstrap does a shallow clone with insufficient depth.
358+
- args: ['git', 'submodule', 'update', '--init']
359+
- args: ['./bootstrap']
360+
tools_required:
361+
- host-autoconf-v2.69
362+
- host-automake-v1.16
363+
configure:
364+
- args:
365+
- '@THIS_SOURCE_DIR@/configure'
366+
- '--prefix=@PREFIX@'
367+
compile:
368+
- args: ['make', '-j@PARALLELISM@']
369+
install:
370+
- args: ['make', 'install']
371+
345372
- name: wayland-scanner
346373
from_source: wayland
347374
configure:
@@ -889,7 +916,7 @@ packages:
889916
- '-j@PARALLELISM@'
890917
- args: ['make', 'install', 'INSTALL_TOP=@THIS_COLLECT_DIR@/usr']
891918

892-
# -------------------- wayland (wayland-protocols, wayland-scanner) --------------------
919+
# -------------------- wayland (wayland-protocols, wayland-scanner, wayland, libexpat, host-libtool, libffi) --------------------
893920
- name: wayland-protocols
894921
source:
895922
subdir: 'bundled'
@@ -915,6 +942,100 @@ packages:
915942
DESTDIR: '@THIS_COLLECT_DIR@'
916943
quiet: true
917944

945+
- name: libexpat
946+
source:
947+
subdir: 'bundled'
948+
git: 'https://github.com/libexpat/libexpat.git'
949+
tag: 'R_2_4_1'
950+
version: '2.4.1'
951+
tools_required:
952+
- host-autoconf-v2.69
953+
- host-automake-v1.16
954+
- host-libtool
955+
regenerate:
956+
- args: ['./buildconf.sh']
957+
workdir: '@THIS_SOURCE_DIR@/expat'
958+
tools_required:
959+
- host-autoconf-v2.69
960+
- host-automake-v1.16
961+
- host-gcc
962+
pkgs_required:
963+
- mlibc
964+
configure:
965+
- args:
966+
- '@THIS_SOURCE_DIR@/expat/configure'
967+
- '--host=x86_64-aero'
968+
- '--prefix=/usr'
969+
- '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
970+
# We disable xmlwf to avoid building its documentation.
971+
- '--without-xmlwf'
972+
build:
973+
- args: ['make', '-j@PARALLELISM@']
974+
- args: ['make', 'install']
975+
environ:
976+
DESTDIR: '@THIS_COLLECT_DIR@'
977+
quiet: true
978+
979+
# - name: libffi
980+
# source:
981+
# subdir: 'bundled'
982+
# git: 'https://github.com/libffi/libffi.git'
983+
# tag: 'v3.4.2'
984+
# version: '3.4.2'
985+
# tools_required:
986+
# - host-autoconf-v2.69
987+
# - host-automake-v1.16
988+
# regenerate:
989+
# - args: ['./autogen.sh']
990+
# - args: ['cp',
991+
# '@BUILD_ROOT@/tools/host-automake-v1.11/share/automake-1.11/config.sub',
992+
# '@THIS_SOURCE_DIR@/']
993+
# tools_required:
994+
# - host-gcc
995+
# pkgs_required:
996+
# - mlibc
997+
# configure:
998+
# - args:
999+
# - '@THIS_SOURCE_DIR@/configure'
1000+
# - '--host=x86_64-aero'
1001+
# - '--prefix=/usr'
1002+
# - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
1003+
# build:
1004+
# - args: ['make', '-j@PARALLELISM@']
1005+
# - args: ['make', 'install']
1006+
# environ:
1007+
# DESTDIR: '@THIS_COLLECT_DIR@'
1008+
# quiet: true
1009+
1010+
# - name: wayland
1011+
# from_source: wayland
1012+
# tools_required:
1013+
# - host-gcc
1014+
# - wayland-scanner
1015+
# - host-libtool
1016+
# pkgs_required:
1017+
# - mlibc
1018+
# - libexpat
1019+
# - libffi
1020+
# configure:
1021+
# - args:
1022+
# - 'meson'
1023+
# - '--cross-file'
1024+
# - '@SOURCE_ROOT@/userland/cross-file.ini'
1025+
# - '--prefix=/usr'
1026+
# - '--buildtype=debugoptimized'
1027+
# - '-Ddtd_validation=false'
1028+
# - '-Ddocumentation=false'
1029+
# - '-Dscanner=false'
1030+
# - '@THIS_SOURCE_DIR@'
1031+
# environ:
1032+
# PKG_CONFIG_SYSROOT_DIR: '@BUILD_ROOT@/system-root'
1033+
# build:
1034+
# - args: ['ninja']
1035+
# - args: ['ninja', 'install']
1036+
# environ:
1037+
# DESTDIR: '@THIS_COLLECT_DIR@'
1038+
9181039
tasks:
9191040
- name: sysroot
9201041
pkgs_required:

patches/libtool/libtool.patch

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
From 634f15ee7db8317cb39e1f13dbd1e4cd16f922e6 Mon Sep 17 00:00:00 2001
2+
From: Andy-Python-Programmer <[email protected]>
3+
Date: Wed, 25 May 2022 16:43:44 +1000
4+
Subject: [PATCH] libtool: aero specific changes
5+
6+
Signed-off-by: Andy-Python-Programmer <[email protected]>
7+
---
8+
build-aux/ltmain.in | 2 +-
9+
m4/libtool.m4 | 15 +++++++++++++++
10+
2 files changed, 16 insertions(+), 1 deletion(-)
11+
12+
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
13+
index d5cf07a..ce97a5f 100644
14+
--- a/build-aux/ltmain.in
15+
+++ b/build-aux/ltmain.in
16+
@@ -6449,7 +6449,7 @@ func_mode_link ()
17+
fi
18+
else
19+
# We cannot seem to hardcode it, guess we'll fake it.
20+
- add_dir=-L$libdir
21+
+ add_dir=-L$lt_sysroot$libdir
22+
# Try looking first in the ___location we're being installed to.
23+
if test -n "$inst_prefix_dir"; then
24+
case $libdir in
25+
diff --git a/m4/libtool.m4 b/m4/libtool.m4
26+
index a3bc337..9136171 100644
27+
--- a/m4/libtool.m4
28+
+++ b/m4/libtool.m4
29+
@@ -2905,6 +2905,17 @@ netbsd*)
30+
hardcode_into_libs=yes
31+
;;
32+
33+
+aero*)
34+
+ version_type=linux # correct to gnu/linux during the next big refactor
35+
+ need_lib_prefix=no
36+
+ need_version=no
37+
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
38+
+ soname_spec='$libname$release$shared_ext$major'
39+
+ shlibpath_var=LD_LIBRARY_PATH
40+
+ shlibpath_overrides_runpath=no
41+
+ hardcode_into_libs=yes
42+
+ ;;
43+
+
44+
newsos6)
45+
version_type=linux # correct to gnu/linux during the next big refactor
46+
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
47+
@@ -3554,6 +3565,10 @@ netbsd*)
48+
fi
49+
;;
50+
51+
+aero*)
52+
+ lt_cv_deplibs_check_method=pass_all
53+
+ ;;
54+
+
55+
newos6*)
56+
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
57+
lt_cv_file_magic_cmd=/usr/bin/file
58+
--
59+
2.25.1
60+

0 commit comments

Comments
 (0)