mirror of
https://github.com/mii443/qemu.git
synced 2025-12-03 19:18:23 +00:00
configure: Honour cross-prefix when finding ObjC compiler
Currently when configure picks an ObjectiveC compiler it doesn't pay
attention to the cross-prefix. This isn't a big deal in practice,
because we only use ObjC on macos and you can't cross-compile to
macos. But it's a bit inconsistent.
Rearrange the handling of objcc in configure so that we do the
same thing that we do with cc and cxx. This means that the logic
for picking the ObjC compiler goes from:
if --objcc is specified, use that
otherwise if clang is available, use that
otherwise use $cc
to:
if --objcc is specified, use that
otherwise if --cross-prefix is specified, use ${cross_prefix}clang
otherwise if clang is available, use that
otherwise use $cc
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1185
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20230418161554.744834-1-peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
committed by
Paolo Bonzini
parent
32a9d73579
commit
c0c34c9105
26
configure
vendored
26
configure
vendored
@@ -316,6 +316,8 @@ for opt do
|
||||
;;
|
||||
--cxx=*) CXX="$optarg"
|
||||
;;
|
||||
--objcc=*) objcc="$optarg"
|
||||
;;
|
||||
--cpu=*) cpu="$optarg"
|
||||
;;
|
||||
--extra-cflags=*)
|
||||
@@ -361,6 +363,21 @@ else
|
||||
cxx="${CXX-${cross_prefix}g++}"
|
||||
fi
|
||||
|
||||
# Preferred ObjC compiler:
|
||||
# $objcc (if set, i.e. via --objcc option)
|
||||
# ${cross_prefix}clang (if cross-prefix specified)
|
||||
# clang (if available)
|
||||
# $cc
|
||||
if test -z "${objcc}${cross_prefix}"; then
|
||||
if has clang; then
|
||||
objcc=clang
|
||||
else
|
||||
objcc="$cc"
|
||||
fi
|
||||
else
|
||||
objcc="${objcc-${cross_prefix}clang}"
|
||||
fi
|
||||
|
||||
ar="${AR-${cross_prefix}ar}"
|
||||
as="${AS-${cross_prefix}as}"
|
||||
ccas="${CCAS-$cc}"
|
||||
@@ -647,13 +664,6 @@ do
|
||||
fi
|
||||
done
|
||||
|
||||
# Default objcc to clang if available, otherwise use CC
|
||||
if has clang; then
|
||||
objcc=clang
|
||||
else
|
||||
objcc="$cc"
|
||||
fi
|
||||
|
||||
if test "$mingw32" = "yes" ; then
|
||||
EXESUF=".exe"
|
||||
# MinGW needs -mthreads for TLS and macro _MT.
|
||||
@@ -713,7 +723,7 @@ for opt do
|
||||
;;
|
||||
--cxx=*)
|
||||
;;
|
||||
--objcc=*) objcc="$optarg"
|
||||
--objcc=*)
|
||||
;;
|
||||
--make=*) make="$optarg"
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user