* [PATCH kvm-unit-tests v3] configure: fix non-newlib cross-compiling
@ 2017-01-17 12:40 Andrew Jones
2017-01-17 17:03 ` Alex Bennée
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Jones @ 2017-01-17 12:40 UTC (permalink / raw)
To: kvm; +Cc: pbonzini, Alex Bennée
Commit 529046c3 "libcflat: add PRI(dux)32 format types" applies a
detection trick that requires native compiling or cross-compiling
with newlib, an embedded system C standard library. We can avoid
the new dependency with a different trick.
Cc: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Andrew Jones <drjones@redhat.com>
---
v3: don't forget to use cross-cc [Alex]
v2: drop the awk magic and just grep for long, as not all compilers
have long in the same place
---
configure | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/configure b/configure
index 127868ce3090..8821f3741836 100755
--- a/configure
+++ b/configure
@@ -12,6 +12,7 @@ host=$arch
cross_prefix=
endian=""
pretty_print_stacks=yes
+u32_long=
usage() {
cat <<-EOF
@@ -110,16 +111,11 @@ if [ -f $testdir/run ]; then
fi
# check if uint32_t needs a long format modifier
-cat << EOF > lib_test.c
-#include <inttypes.h>
+cat << EOF > lib-test.c
+__UINT32_TYPE__
EOF
-
-$cross_prefix$cc lib_test.c -E | grep "typedef" | grep "long" | grep "uint32_t" &> /dev/null
-exit=$?
-if [ $exit -eq 0 ]; then
- u32_long=true
-fi
-rm -f lib_test.c
+u32_long=$($cross_prefix$cc -E lib-test.c | grep -v '^#' | grep -q long && echo yes)
+rm -f lib-test.c
# check for dependent 32 bit libraries
if [ "$arch" != "arm" ]; then
--
2.9.3
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH kvm-unit-tests v3] configure: fix non-newlib cross-compiling
2017-01-17 12:40 [PATCH kvm-unit-tests v3] configure: fix non-newlib cross-compiling Andrew Jones
@ 2017-01-17 17:03 ` Alex Bennée
2017-01-17 17:30 ` Radim Krčmář
0 siblings, 1 reply; 3+ messages in thread
From: Alex Bennée @ 2017-01-17 17:03 UTC (permalink / raw)
To: Andrew Jones; +Cc: kvm, pbonzini
Andrew Jones <drjones@redhat.com> writes:
> Commit 529046c3 "libcflat: add PRI(dux)32 format types" applies a
> detection trick that requires native compiling or cross-compiling
> with newlib, an embedded system C standard library. We can avoid
> the new dependency with a different trick.
>
> Cc: Alex Bennée <alex.bennee@linaro.org>
> Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
>
> ---
> v3: don't forget to use cross-cc [Alex]
> v2: drop the awk magic and just grep for long, as not all compilers
> have long in the same place
> ---
> configure | 14 +++++---------
> 1 file changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/configure b/configure
> index 127868ce3090..8821f3741836 100755
> --- a/configure
> +++ b/configure
> @@ -12,6 +12,7 @@ host=$arch
> cross_prefix=
> endian=""
> pretty_print_stacks=yes
> +u32_long=
>
> usage() {
> cat <<-EOF
> @@ -110,16 +111,11 @@ if [ -f $testdir/run ]; then
> fi
>
> # check if uint32_t needs a long format modifier
> -cat << EOF > lib_test.c
> -#include <inttypes.h>
> +cat << EOF > lib-test.c
> +__UINT32_TYPE__
> EOF
> -
> -$cross_prefix$cc lib_test.c -E | grep "typedef" | grep "long" | grep "uint32_t" &> /dev/null
> -exit=$?
> -if [ $exit -eq 0 ]; then
> - u32_long=true
> -fi
> -rm -f lib_test.c
> +u32_long=$($cross_prefix$cc -E lib-test.c | grep -v '^#' | grep -q long && echo yes)
> +rm -f lib-test.c
>
> # check for dependent 32 bit libraries
> if [ "$arch" != "arm" ]; then
--
Alex Bennée
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH kvm-unit-tests v3] configure: fix non-newlib cross-compiling
2017-01-17 17:03 ` Alex Bennée
@ 2017-01-17 17:30 ` Radim Krčmář
0 siblings, 0 replies; 3+ messages in thread
From: Radim Krčmář @ 2017-01-17 17:30 UTC (permalink / raw)
To: Alex Bennée; +Cc: Andrew Jones, kvm, pbonzini
2017-01-17 17:03+0000, Alex Bennée:
> Andrew Jones <drjones@redhat.com> writes:
>
>> Commit 529046c3 "libcflat: add PRI(dux)32 format types" applies a
>> detection trick that requires native compiling or cross-compiling
>> with newlib, an embedded system C standard library. We can avoid
>> the new dependency with a different trick.
>>
>> Cc: Alex Bennée <alex.bennee@linaro.org>
>> Signed-off-by: Andrew Jones <drjones@redhat.com>
>
> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
> Tested-by: Alex Bennée <alex.bennee@linaro.org>
Applied, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-01-17 17:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-17 12:40 [PATCH kvm-unit-tests v3] configure: fix non-newlib cross-compiling Andrew Jones
2017-01-17 17:03 ` Alex Bennée
2017-01-17 17:30 ` Radim Krčmář
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).