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
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
|
cpp = ' '.join(cc.cmd_array()) + ' -E'
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
# compilation result tests
|
# compilation result tests
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/sh
|
#!/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' | \
|
grep -Ev 'AF_UNSPEC|AF_MAX' | \
|
||||||
awk '/^#define[ \t]+AF_[^ \t]+[ \t]+PF_[^ \t]/ { print $2; }'
|
awk '/^#define[ \t]+AF_[^ \t]+[ \t]+PF_[^ \t]/ { print $2; }'
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/sh -e
|
#!/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; }' | \
|
awk '/^#define[ \t]+ARPHRD_[^ \t]+[ \t]+[^ \t]/ { print $2; }' | \
|
||||||
sed -e 's/ARPHRD_//'
|
sed -e 's/ARPHRD_//'
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/sh -e
|
#!/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; }' | \
|
awk '/^#define[ \t]+CAP_[A-Z_]+[ \t]+/ { print $2; }' | \
|
||||||
grep -v CAP_LAST_CAP
|
grep -v CAP_LAST_CAP
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh -e
|
#!/bin/sh -e
|
||||||
|
|
||||||
cpp -dM -include errno.h - </dev/null | \
|
$1 -dM -include errno.h - </dev/null | \
|
||||||
awk '/^#define[ \t]+E[^ _]+[ \t]+/ { print $2; }'
|
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 = custom_target(
|
||||||
'af-list.txt',
|
'af-list.txt',
|
||||||
output : 'af-list.txt',
|
output : 'af-list.txt',
|
||||||
command : [generate_af_list],
|
command : [generate_af_list, cpp],
|
||||||
capture : true)
|
capture : true)
|
||||||
|
|
||||||
generate_arphrd_list = find_program('generate-arphrd-list.sh')
|
generate_arphrd_list = find_program('generate-arphrd-list.sh')
|
||||||
arphrd_list_txt = custom_target(
|
arphrd_list_txt = custom_target(
|
||||||
'arphrd-list.txt',
|
'arphrd-list.txt',
|
||||||
output : 'arphrd-list.txt',
|
output : 'arphrd-list.txt',
|
||||||
command : [generate_arphrd_list],
|
command : [generate_arphrd_list, cpp],
|
||||||
capture : true)
|
capture : true)
|
||||||
|
|
||||||
generate_cap_list = find_program('generate-cap-list.sh')
|
generate_cap_list = find_program('generate-cap-list.sh')
|
||||||
cap_list_txt = custom_target(
|
cap_list_txt = custom_target(
|
||||||
'cap-list.txt',
|
'cap-list.txt',
|
||||||
output : '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)
|
capture : true)
|
||||||
|
|
||||||
generate_errno_list = find_program('generate-errno-list.sh')
|
generate_errno_list = find_program('generate-errno-list.sh')
|
||||||
errno_list_txt = custom_target(
|
errno_list_txt = custom_target(
|
||||||
'errno-list.txt',
|
'errno-list.txt',
|
||||||
output : 'errno-list.txt',
|
output : 'errno-list.txt',
|
||||||
command : [generate_errno_list],
|
command : [generate_errno_list, cpp],
|
||||||
capture : true)
|
capture : true)
|
||||||
|
|
||||||
generated_gperf_headers = []
|
generated_gperf_headers = []
|
||||||
|
|
|
@ -1,10 +1,14 @@
|
||||||
#!/bin/sh -e
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
cpp="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
includes=""
|
includes=""
|
||||||
for i in "$@"; do
|
for i in "$@"; do
|
||||||
includes="$includes -include $i"
|
includes="$includes -include $i"
|
||||||
done
|
done
|
||||||
cpp -dM $includes - </dev/null | \
|
|
||||||
|
$cpp -dM $includes - </dev/null | \
|
||||||
grep -vE 'AUDIT_.*(FIRST|LAST)_' | \
|
grep -vE 'AUDIT_.*(FIRST|LAST)_' | \
|
||||||
sed -r -n 's/^#define\s+AUDIT_(\w+)\s+([0-9]{4})\s*$$/\1\t\2/p' | \
|
sed -r -n 's/^#define\s+AUDIT_(\w+)\s+([0-9]{4})\s*$$/\1\t\2/p' | \
|
||||||
sort -k2
|
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 = custom_target(
|
||||||
'audit_type-list.txt',
|
'audit_type-list.txt',
|
||||||
output : '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)
|
capture : true)
|
||||||
|
|
||||||
audit_type_to_name = custom_target(
|
audit_type_to_name = custom_target(
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh -e
|
#!/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 } }'
|
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 = custom_target(
|
||||||
'keyboard-keys-list.txt',
|
'keyboard-keys-list.txt',
|
||||||
output : 'keyboard-keys-list.txt',
|
output : 'keyboard-keys-list.txt',
|
||||||
command : [generate_keyboard_keys_list],
|
command : [generate_keyboard_keys_list, cpp],
|
||||||
capture : true)
|
capture : true)
|
||||||
|
|
||||||
fname = 'keyboard-keys-from-name.gperf'
|
fname = 'keyboard-keys-from-name.gperf'
|
||||||
|
|
Loading…
Reference in New Issue