mirror of
https://github.com/systemd/systemd.git
synced 2025-01-09 01:18:19 +03:00
meson: make cpp invocations cross-compilation friendly
This implementation assumes that the arguments in compiler.cmd_array() don't contain any spaces. Since we are only interested in compilation on Linux, I think this is a safe assumption. Solution suggested by Nirbheek Chauhan.
This commit is contained in:
parent
3131bfe302
commit
9cc0e6e99c
@ -295,6 +295,8 @@ foreach arg : ['-Wl,-z,relro',
|
||||
endif
|
||||
endforeach
|
||||
|
||||
cpp = ' '.join(cc.cmd_array()) + ' -E'
|
||||
|
||||
#####################################################################
|
||||
# compilation result tests
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
cpp -dM -include sys/socket.h - </dev/null | \
|
||||
$1 -E -dM -include sys/socket.h - </dev/null | \
|
||||
grep -Ev 'AF_UNSPEC|AF_MAX' | \
|
||||
awk '/^#define[ \t]+AF_[^ \t]+[ \t]+PF_[^ \t]/ { print $2; }'
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
cpp -dM -include net/if_arp.h - </dev/null | \
|
||||
$1 -dM -include net/if_arp.h - </dev/null | \
|
||||
awk '/^#define[ \t]+ARPHRD_[^ \t]+[ \t]+[^ \t]/ { print $2; }' | \
|
||||
sed -e 's/ARPHRD_//'
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
cpp -dM -include linux/capability.h -include "$1" -include "$2" - </dev/null | \
|
||||
$1 -dM -include linux/capability.h -include "$2" -include "$3" - </dev/null | \
|
||||
awk '/^#define[ \t]+CAP_[A-Z_]+[ \t]+/ { print $2; }' | \
|
||||
grep -v CAP_LAST_CAP
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
cpp -dM -include errno.h - </dev/null | \
|
||||
$1 -dM -include errno.h - </dev/null | \
|
||||
awk '/^#define[ \t]+E[^ _]+[ \t]+/ { print $2; }'
|
||||
|
@ -206,28 +206,28 @@ generate_af_list = find_program('generate-af-list.sh')
|
||||
af_list_txt = custom_target(
|
||||
'af-list.txt',
|
||||
output : 'af-list.txt',
|
||||
command : [generate_af_list],
|
||||
command : [generate_af_list, cpp],
|
||||
capture : true)
|
||||
|
||||
generate_arphrd_list = find_program('generate-arphrd-list.sh')
|
||||
arphrd_list_txt = custom_target(
|
||||
'arphrd-list.txt',
|
||||
output : 'arphrd-list.txt',
|
||||
command : [generate_arphrd_list],
|
||||
command : [generate_arphrd_list, cpp],
|
||||
capture : true)
|
||||
|
||||
generate_cap_list = find_program('generate-cap-list.sh')
|
||||
cap_list_txt = custom_target(
|
||||
'cap-list.txt',
|
||||
output : 'cap-list.txt',
|
||||
command : [generate_cap_list, config_h, missing_h],
|
||||
command : [generate_cap_list, cpp, config_h, missing_h],
|
||||
capture : true)
|
||||
|
||||
generate_errno_list = find_program('generate-errno-list.sh')
|
||||
errno_list_txt = custom_target(
|
||||
'errno-list.txt',
|
||||
output : 'errno-list.txt',
|
||||
command : [generate_errno_list],
|
||||
command : [generate_errno_list, cpp],
|
||||
capture : true)
|
||||
|
||||
generated_gperf_headers = []
|
||||
|
@ -1,10 +1,14 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
cpp="$1"
|
||||
shift
|
||||
|
||||
includes=""
|
||||
for i in "$@"; do
|
||||
includes="$includes -include $i"
|
||||
done
|
||||
cpp -dM $includes - </dev/null | \
|
||||
|
||||
$cpp -dM $includes - </dev/null | \
|
||||
grep -vE 'AUDIT_.*(FIRST|LAST)_' | \
|
||||
sed -r -n 's/^#define\s+AUDIT_(\w+)\s+([0-9]{4})\s*$$/\1\t\2/p' | \
|
||||
sort -k2
|
||||
|
@ -35,7 +35,7 @@ generate_audit_type_list = find_program('generate-audit_type-list.sh')
|
||||
audit_type_list_txt = custom_target(
|
||||
'audit_type-list.txt',
|
||||
output : 'audit_type-list.txt',
|
||||
command : [generate_audit_type_list] + audit_type_includes,
|
||||
command : [generate_audit_type_list, cpp] + audit_type_includes,
|
||||
capture : true)
|
||||
|
||||
audit_type_to_name = custom_target(
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
cpp -dM -include linux/input.h - </dev/null | \
|
||||
$1 -dM -include linux/input.h - </dev/null | \
|
||||
awk '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9K]/ { if ($2 != "KEY_MAX") { print $2 } }'
|
||||
|
@ -58,7 +58,7 @@ generate_keyboard_keys_list = find_program('generate-keyboard-keys-list.sh')
|
||||
keyboard_keys_list_txt = custom_target(
|
||||
'keyboard-keys-list.txt',
|
||||
output : 'keyboard-keys-list.txt',
|
||||
command : [generate_keyboard_keys_list],
|
||||
command : [generate_keyboard_keys_list, cpp],
|
||||
capture : true)
|
||||
|
||||
fname = 'keyboard-keys-from-name.gperf'
|
||||
|
Loading…
Reference in New Issue
Block a user