qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] configure: Default to 'cc', not 'gcc', on MacOS


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH] configure: Default to 'cc', not 'gcc', on MacOS X
Date: Sat, 17 Nov 2012 14:02:07 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121025 Thunderbird/16.0.2

Am 16.11.2012 17:37, schrieb Peter Maydell:
> When building for MacOS X, default the C compiler to 'cc' (usually
> clang) rather than 'gcc'. This avoids the Apple 'gcc', which is
> generally an elderly llvm-gcc provided mostly for legacy purposes,
> in favour of the best supported compiler available on the platform.
> 
> Signed-off-by: Peter Maydell <address@hidden>
> ---
> I now seem to be getting failures to compile due to weak refs on
> clang as well, but defaulting to cc seems like a good long term
> plan anyway. I've mostly been building and testing with --cc=clang
> so this isn't a sudden compiler switch from my point of view.
> I'm ambivalent about whether this should go in 1.3 or not, given
> it doesn't actually fix the weakref issues.
> 
>  configure |   19 +++++++++++++++++--
>  1 file changed, 17 insertions(+), 2 deletions(-)
> 
> diff --git a/configure b/configure
> index f847ee2..ec9932b 100755
> --- a/configure
> +++ b/configure
> @@ -116,7 +116,13 @@ audio_drv_list=""
>  audio_card_list="ac97 es1370 sb16 hda"
>  audio_possible_cards="ac97 es1370 sb16 cs4231a adlib gus hda"
>  block_drv_whitelist=""
> -host_cc="gcc"
> +if test "$(uname -s)" = "Darwin"; then
> +  # On MacOS X the standard supported system compiler is 'cc' (usually 
> clang),
> +  # and 'gcc' is a legacy llvm-gcc which is rather elderly and best avoided.

This comment strikes me as wrong in this generality. It should at least
be qualified with OSX version numbers.

Andreas

> +  host_cc="cc"
> +else
> +  host_cc="gcc"
> +fi
>  libs_softmmu=""
>  libs_tools=""
>  audio_pt_int=""
> @@ -250,7 +256,16 @@ done
>  # Using uname is really, really broken.  Once we have the right set of checks
>  # we can eliminate its usage altogether.
>  
> -cc="${CC-${cross_prefix}gcc}"
> +# Preferred compiler:
> +#  ${CC} (if set)
> +#  ${cross_prefix}gcc (if cross-prefix specified)
> +#  system compiler
> +if test -z "${CC}${cross_prefix}"; then
> +  cc="$host_cc"
> +else
> +  cc="${CC-${cross_prefix}gcc}"
> +fi
> +
>  ar="${AR-${cross_prefix}ar}"
>  objcopy="${OBJCOPY-${cross_prefix}objcopy}"
>  ld="${LD-${cross_prefix}ld}"
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]