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 <peter.mayd...@linaro.org> > --- > 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}" >