Message ID | 1354894753-22302-1-git-send-email-peter.maydell@linaro.org |
---|---|
State | Accepted |
Commit | e49d021e574c3ee8e443bcc84d1fb7dfb4c87c42 |
Headers | show |
Thanks, applied. On Fri, Dec 7, 2012 at 3:39 PM, Peter Maydell <peter.maydell@linaro.org> wrote: > Default to 'cc' as our compiler, rather than 'gcc'. We used to have > to insist on gcc when we still kept the CPU env in a fixed global > register, but this is no longer necessary and we will now compile OK > on clang as well as gcc. Using 'cc' should generally result in us > using the most standard and maintained system compiler for the > platform. (For instance on newer MacOS X 'gcc' exists but is an > elderly compiler provided mostly for legacy reasons, and 'cc' > (which is clang) is definitely the better choice.) On Linux there > will generally be no user-visible change since cc will be gcc. > > This changeover necessitates a slight reworking of how we set the > 'cc' variable, because GNU cross toolchains generally provide a > '${cross_prefix}gcc' but not a '${cross_prefix}cc'. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > MacOS X is the main aim here but BSDs would probably also prefer > to default to 'cc'. Previous macos-specific version of this patch: > http://patchwork.ozlabs.org/patch/199685/ > > configure | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/configure b/configure > index 994f731..88c8f15 100755 > --- a/configure > +++ b/configure > @@ -116,7 +116,7 @@ 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" > +host_cc="cc" > libs_softmmu="" > libs_tools="" > audio_pt_int="" > @@ -250,7 +250,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}" > -- > 1.7.9.5 > >
diff --git a/configure b/configure index 994f731..88c8f15 100755 --- a/configure +++ b/configure @@ -116,7 +116,7 @@ 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" +host_cc="cc" libs_softmmu="" libs_tools="" audio_pt_int="" @@ -250,7 +250,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}"
Default to 'cc' as our compiler, rather than 'gcc'. We used to have to insist on gcc when we still kept the CPU env in a fixed global register, but this is no longer necessary and we will now compile OK on clang as well as gcc. Using 'cc' should generally result in us using the most standard and maintained system compiler for the platform. (For instance on newer MacOS X 'gcc' exists but is an elderly compiler provided mostly for legacy reasons, and 'cc' (which is clang) is definitely the better choice.) On Linux there will generally be no user-visible change since cc will be gcc. This changeover necessitates a slight reworking of how we set the 'cc' variable, because GNU cross toolchains generally provide a '${cross_prefix}gcc' but not a '${cross_prefix}cc'. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- MacOS X is the main aim here but BSDs would probably also prefer to default to 'cc'. Previous macos-specific version of this patch: http://patchwork.ozlabs.org/patch/199685/ configure | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)