forked from openwrt/openwrt
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Compiles faster, is PIC by default, and does not have pkgconfig files with wrong paths. Add various fixes to it as it seems cross compilation was never tested. Signed-off-by: Rosen Penev <rosenp@gmail.com>
- Loading branch information
Showing
16 changed files
with
384 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
From c387d4fe7a1435a762a5b7d8b75feb13ad613315 Mon Sep 17 00:00:00 2001 | ||
From: Anatoly Pugachev <matorola@gmail.com> | ||
Date: Fri, 8 Apr 2022 15:34:16 +0300 | ||
Subject: [PATCH] libfdisk: meson.build fix typo | ||
|
||
--- | ||
libfdisk/meson.build | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
--- a/libfdisk/meson.build | ||
+++ b/libfdisk/meson.build | ||
@@ -11,7 +11,7 @@ libfdisk_h = configure_file( | ||
output : 'libfdisk.h', | ||
configuration : defs, | ||
install : build_libfdisk, | ||
- install_dir : join_paths(get_option('includedir'), 'libfisk'), | ||
+ install_dir : join_paths(get_option('includedir'), 'libfdisk'), | ||
) | ||
|
||
lib_fdisk_sources = ''' |
22 changes: 22 additions & 0 deletions
22
package/utils/util-linux/patches/020-meson-fix-compilation-without-systemd.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
From 38b15ca2dc4ca32bbe4a2449e1c7b645e4577840 Mon Sep 17 00:00:00 2001 | ||
From: Rosen Penev <rosenp@gmail.com> | ||
Date: Fri, 29 Apr 2022 16:53:43 -0700 | ||
Subject: [PATCH 1/7] meson: fix compilation without systemd | ||
|
||
systemdsystemunitdir is used elsewhere. | ||
|
||
Signed-off-by: Rosen Penev <rosenp@gmail.com> | ||
--- | ||
meson.build | 1 + | ||
1 file changed, 1 insertion(+) | ||
|
||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -720,6 +720,7 @@ if fs_search_path_extra != '' | ||
endif | ||
conf.set_quoted('FS_SEARCH_PATH', fs_search_path) | ||
|
||
+systemdsystemunitdir = '' | ||
if systemd.found() | ||
systemdsystemunitdir = systemd.get_pkgconfig_variable('systemdsystemunitdir') | ||
endif |
34 changes: 34 additions & 0 deletions
34
package/utils/util-linux/patches/030-meson-don-t-use-run.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
From e25db9169450d3d5fb43656a2eae5c08999310f4 Mon Sep 17 00:00:00 2001 | ||
From: Rosen Penev <rosenp@gmail.com> | ||
Date: Fri, 29 Apr 2022 16:56:54 -0700 | ||
Subject: [PATCH 2/7] meson: don't use run | ||
|
||
Fixes cross compilation. run is not needed anyway. | ||
|
||
Signed-off-by: Rosen Penev <rosenp@gmail.com> | ||
--- | ||
meson.build | 6 ++---- | ||
1 file changed, 2 insertions(+), 4 deletions(-) | ||
|
||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -577,8 +577,7 @@ int main(void) { | ||
return tzname ? 0 : 1; | ||
} | ||
'''.format(have ? 1 : 0) | ||
-result = cc.run(code, name : 'using tzname[]') | ||
-have = result.compiled() and result.returncode() == 0 | ||
+have = cc.compiles(code, name : 'using tzname[]') | ||
conf.set('HAVE_TZNAME', have ? 1 : false) | ||
|
||
socket_libs = [] | ||
@@ -641,8 +640,7 @@ int main(void) { | ||
return (*__progname != 0); | ||
} | ||
''' | ||
-result = cc.run(code, name : 'using __progname') | ||
-have = result.compiled() and result.returncode() == 0 | ||
+have = cc.compiles(code, name : 'using __progname') | ||
conf.set('HAVE___PROGNAME', have ? 1 : false) | ||
|
||
build_plymouth_support = get_option('build-plymouth-support') |
23 changes: 23 additions & 0 deletions
23
package/utils/util-linux/patches/040-meson-fix-cpu_set_t-test.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
From 4194bb5b35e9b5f3296bf17b7cabcc5cb1632ba3 Mon Sep 17 00:00:00 2001 | ||
From: Rosen Penev <rosenp@gmail.com> | ||
Date: Fri, 29 Apr 2022 16:55:15 -0700 | ||
Subject: [PATCH 3/7] meson: fix cpu_set_t test | ||
|
||
_GNU_SOURCE is needed here. | ||
|
||
Signed-off-by: Rosen Penev <rosenp@gmail.com> | ||
--- | ||
meson.build | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -379,7 +379,7 @@ endforeach | ||
have = cc.has_header('sched.h') | ||
conf.set10('HAVE_DECL_CPU_ALLOC', have) | ||
# We get -1 if the size cannot be determined | ||
-have_cpu_set_t = cc.sizeof('cpu_set_t', prefix : '#include <sched.h>') > 0 | ||
+have_cpu_set_t = cc.sizeof('cpu_set_t', prefix : '#define _GNU_SOURCE\n#include <sched.h>') > 0 | ||
conf.set('HAVE_CPU_SET_T', have_cpu_set_t ? 1 : false) | ||
|
||
have = cc.has_header_symbol('stdlib.h', 'environ') |
23 changes: 23 additions & 0 deletions
23
package/utils/util-linux/patches/050-meson-fix-environ-search.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
From 1e9e2b9fe365cc4a0025d44dc0a9c54bfffe9058 Mon Sep 17 00:00:00 2001 | ||
From: Rosen Penev <rosenp@gmail.com> | ||
Date: Fri, 29 Apr 2022 18:16:17 -0700 | ||
Subject: [PATCH 4/7] meson: fix environ search | ||
|
||
musl has it defined in unistd.h and hidden behind _GNU_SOURCE. | ||
|
||
Signed-off-by: Rosen Penev <rosenp@gmail.com> | ||
--- | ||
meson.build | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -382,7 +382,7 @@ conf.set10('HAVE_DECL_CPU_ALLOC', have) | ||
have_cpu_set_t = cc.sizeof('cpu_set_t', prefix : '#define _GNU_SOURCE\n#include <sched.h>') > 0 | ||
conf.set('HAVE_CPU_SET_T', have_cpu_set_t ? 1 : false) | ||
|
||
-have = cc.has_header_symbol('stdlib.h', 'environ') | ||
+have = cc.has_header_symbol('unistd.h', 'environ', prefix : '#define _GNU_SOURCE') | ||
conf.set10('HAVE_ENVIRON_DECL', have) | ||
|
||
have = cc.has_header_symbol('signal.h', 'sighandler_t') |
23 changes: 23 additions & 0 deletions
23
package/utils/util-linux/patches/060-meson-add-_GNU_SOURCE-for-sighandler_t.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
From 5d7557eb3827664b2b78145373907f2a6994bdf9 Mon Sep 17 00:00:00 2001 | ||
From: Rosen Penev <rosenp@gmail.com> | ||
Date: Fri, 29 Apr 2022 18:17:52 -0700 | ||
Subject: [PATCH 5/7] meson: add _GNU_SOURCE for sighandler_t | ||
|
||
musl requires it. | ||
|
||
Signed-off-by: Rosen Penev <rosenp@gmail.com> | ||
--- | ||
meson.build | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -385,7 +385,7 @@ conf.set('HAVE_CPU_SET_T', have_cpu_set_ | ||
have = cc.has_header_symbol('unistd.h', 'environ', prefix : '#define _GNU_SOURCE') | ||
conf.set10('HAVE_ENVIRON_DECL', have) | ||
|
||
-have = cc.has_header_symbol('signal.h', 'sighandler_t') | ||
+have = cc.has_header_symbol('signal.h', 'sighandler_t', prefix : '#define _GNU_SOURCE') | ||
conf.set('HAVE_SIGHANDLER_T', have ? 1 : false) | ||
|
||
have = cc.has_header_symbol('string.h', 'strsignal') |
24 changes: 24 additions & 0 deletions
24
package/utils/util-linux/patches/070-meson-fix-isnan-check.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
From 777652585924034deeba98ae3192f26bc32bb661 Mon Sep 17 00:00:00 2001 | ||
From: Rosen Penev <rosenp@gmail.com> | ||
Date: Fri, 29 Apr 2022 18:19:53 -0700 | ||
Subject: [PATCH 6/7] meson: fix isnan check | ||
|
||
musl only has isnan as a macro, not as a function. Handle the former | ||
case. | ||
|
||
Signed-off-by: Rosen Penev <rosenp@gmail.com> | ||
--- | ||
meson.build | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -622,7 +622,7 @@ rtas_libs = cc.find_library('rtas', requ | ||
conf.set('HAVE_LIBRTAS', rtas_libs.found() ? 1 : false) | ||
|
||
math_libs = [] | ||
-if not cc.has_function('isnan') | ||
+if not cc.has_header_symbol('math.h', 'isnan') | ||
lib = cc.find_library('m', required : true) | ||
if (cc.has_function('isnan', dependencies : lib) and | ||
cc.has_function('__isnan', dependencies : lib)) |
23 changes: 23 additions & 0 deletions
23
package/utils/util-linux/patches/080-meson-fix-tzname-check.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
From 9a6b2618b46a859388139d1eb18f876886786659 Mon Sep 17 00:00:00 2001 | ||
From: Rosen Penev <rosenp@gmail.com> | ||
Date: Fri, 29 Apr 2022 19:00:53 -0700 | ||
Subject: [PATCH] meson: fix tzname check | ||
|
||
tzname is not a type but a variable. sizeof only works on types. | ||
|
||
Signed-off-by: Rosen Penev <rosenp@gmail.com> | ||
--- | ||
meson.build | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -565,7 +565,7 @@ have = cc.has_member('struct tm', 'tm_zo | ||
prefix : '#include <time.h>') | ||
conf.set('HAVE_STRUCT_TM_TM_ZONE', have ? 1 : false) | ||
|
||
-have = cc.sizeof('tzname', prefix : '#include <time.h>') > 0 | ||
+have = cc.has_header_symbol('time.h', 'tzname') | ||
conf.set('HAVE_DECL_TZNAME', have ? 1 : false) | ||
|
||
code = ''' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -299,10 +299,14 @@ conf.set('HAVE_LIBUDEV', lib_udev.found( | ||
|
||
lib_crypt = cc.find_library('crypt') | ||
|
||
-lib_pam = cc.find_library('pam') | ||
+req_libpam = not (get_option('build-login').disabled() or get_option('build-chfn-chsh').disabled() | ||
+ or get_option('build-su').disabled() or get_option('build-runuser').disabled()) | ||
+lib_pam = cc.find_library('pam', required : req_libpam) | ||
if lib_pam.found() | ||
lib_pam_misc = cc.find_library('pam_misc') | ||
lib_pam = [lib_pam, lib_pam_misc] | ||
+else | ||
+ lib_pam_misc = declare_dependency() | ||
endif | ||
|
||
lib_cryptsetup = dependency( |
Oops, something went wrong.