From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=37811 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P5kDy-0005pO-A0 for qemu-devel@nongnu.org; Tue, 12 Oct 2010 15:09:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P5kDw-0006ZE-Pb for qemu-devel@nongnu.org; Tue, 12 Oct 2010 15:09:22 -0400 Received: from mail-qw0-f45.google.com ([209.85.216.45]:48175) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P5kDw-0006Z3-Mc for qemu-devel@nongnu.org; Tue, 12 Oct 2010 15:09:20 -0400 Received: by qwh5 with SMTP id 5so2057559qwh.4 for ; Tue, 12 Oct 2010 12:09:20 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <1286888457-5033-8-git-send-email-pbonzini@redhat.com> References: <1286888457-5033-1-git-send-email-pbonzini@redhat.com> <1286888457-5033-8-git-send-email-pbonzini@redhat.com> From: Blue Swirl Date: Tue, 12 Oct 2010 19:09:00 +0000 Message-ID: Subject: Re: [Qemu-devel] [PATCH 07/39] do not pass bogus $(SRC_PATH) include paths to cc during configure Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org On Tue, Oct 12, 2010 at 1:00 PM, Paolo Bonzini wrote: > Non-existent -I paths are dropped silently by the compiler, but still > it is not polite to pass bogus options. =C2=A0Configure-time tests do not > need any include files from the source path, so only include -I flags > at make time (when they're properly expanded). > > Signed-off-by: Paolo Bonzini > --- > =C2=A0configure | =C2=A0 19 +++++++++++-------- > =C2=A0rules.mak | =C2=A0 =C2=A08 ++++---- > =C2=A02 files changed, 15 insertions(+), 12 deletions(-) > > diff --git a/configure b/configure > index a8738db..cb76177 100755 > --- a/configure > +++ b/configure > @@ -224,7 +224,7 @@ QEMU_CFLAGS=3D"-Wall -Wundef -Wendif-labels -Wwrite-s= trings -Wmissing-prototypes $ > =C2=A0QEMU_CFLAGS=3D"-Wstrict-prototypes -Wredundant-decls $QEMU_CFLAGS" > =C2=A0QEMU_CFLAGS=3D"-D_GNU_SOURCE -D_FILE_OFFSET_BITS=3D64 -D_LARGEFILE_= SOURCE $QEMU_CFLAGS" > =C2=A0QEMU_CFLAGS=3D"-D_FORTIFY_SOURCE=3D2 $QEMU_CFLAGS" Aren't the above also CPP flags? > -QEMU_CFLAGS=3D"-I. -I\$(SRC_PATH) $QEMU_CFLAGS" > +QEMU_CPPFLAGS=3D"-I. -I\$(SRC_PATH)" > =C2=A0LDFLAGS=3D"-g $LDFLAGS" > > =C2=A0check_define() { > @@ -2419,7 +2419,7 @@ if test $profiler =3D "yes" ; then > =C2=A0fi > =C2=A0if test "$slirp" =3D "yes" ; then > =C2=A0 echo "CONFIG_SLIRP=3Dy" >> $config_host_mak > - =C2=A0QEMU_CFLAGS=3D"-I\$(SRC_PATH)/slirp $QEMU_CFLAGS" > + =C2=A0QEMU_CPPFLAGS=3D"-I\$(SRC_PATH)/slirp $QEMU_CPPFLAGS" > =C2=A0fi > =C2=A0if test "$vde" =3D "yes" ; then > =C2=A0 echo "CONFIG_VDE=3Dy" >> $config_host_mak > @@ -2636,6 +2636,7 @@ echo "LD=3D$ld" >> $config_host_mak > =C2=A0echo "WINDRES=3D$windres" >> $config_host_mak > =C2=A0echo "CFLAGS=3D$CFLAGS" >> $config_host_mak > =C2=A0echo "QEMU_CFLAGS=3D$QEMU_CFLAGS" >> $config_host_mak > +echo "QEMU_CPPFLAGS=3D$QEMU_CPPFLAGS" >> $config_host_mak > =C2=A0if test "$sparse" =3D "yes" ; then > =C2=A0 echo "CC =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 :=3D REAL_CC=3D\"\$(CC= )\" cgcc" =C2=A0 =C2=A0 =C2=A0 >> $config_host_mak > =C2=A0 echo "HOST_CC =C2=A0 =C2=A0 =C2=A0:=3D REAL_CC=3D\"\$(HOST_CC)\" c= gcc" =C2=A0>> $config_host_mak > @@ -2944,19 +2945,20 @@ fi > =C2=A0# generate QEMU_CFLAGS/LDFLAGS for targets > > =C2=A0cflags=3D"" > +cppflags=3D"" > =C2=A0ldflags=3D"" > > =C2=A0if test "$ARCH" =3D "sparc64" ; then > - =C2=A0cflags=3D"-I\$(SRC_PATH)/tcg/sparc $cflags" > + =C2=A0cppflags=3D"-I\$(SRC_PATH)/tcg/sparc $cppflags" > =C2=A0elif test "$ARCH" =3D "s390x" ; then > - =C2=A0cflags=3D"-I\$(SRC_PATH)/tcg/s390 $cflags" > + =C2=A0cppflags=3D"-I\$(SRC_PATH)/tcg/s390 $cppflags" > =C2=A0elif test "$ARCH" =3D "x86_64" ; then > - =C2=A0cflags=3D"-I\$(SRC_PATH)/tcg/i386 $cflags" > + =C2=A0cppflags=3D"-I\$(SRC_PATH)/tcg/i386 $cppflags" > =C2=A0else > - =C2=A0cflags=3D"-I\$(SRC_PATH)/tcg/\$(ARCH) $cflags" > + =C2=A0cppflags=3D"-I\$(SRC_PATH)/tcg/\$(ARCH) $cppflags" > =C2=A0fi > -cflags=3D"-I\$(SRC_PATH)/tcg $cflags" > -cflags=3D"-I\$(SRC_PATH)/fpu $cflags" > +cppflags=3D"-I\$(SRC_PATH)/tcg $cppflags" > +cppflags=3D"-I\$(SRC_PATH)/fpu $cppflags" > > =C2=A0if test "$target_user_only" =3D "yes" ; then > =C2=A0 =C2=A0 libdis_config_mak=3Dlibdis-user/config.mak > @@ -3081,6 +3083,7 @@ fi > > =C2=A0echo "LDFLAGS+=3D$ldflags" >> $config_target_mak > =C2=A0echo "QEMU_CFLAGS+=3D$cflags" >> $config_target_mak > +echo "QEMU_CPPFLAGS+=3D$cppflags" >> $config_target_mak > > =C2=A0done # for target in $targets > > diff --git a/rules.mak b/rules.mak > index c843a13..007fc49 100644 > --- a/rules.mak > +++ b/rules.mak > @@ -15,15 +15,15 @@ MAKEFLAGS +=3D -rR > =C2=A0QEMU_DGFLAGS +=3D -MMD -MP -MT $@ -MF $(*D)/$(*F).d > > =C2=A0%.o: %.c > - =C2=A0 =C2=A0 =C2=A0 $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_D= GFLAGS) $(CFLAGS) -c -o $@ $<," =C2=A0CC =C2=A0 =C2=A0$(TARGET_DIR)$@") > + =C2=A0 =C2=A0 =C2=A0 $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_C= PPFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," =C2=A0CC =C2=A0 =C2=A0$(TA= RGET_DIR)$@") > > =C2=A0%.o: %.S > - =C2=A0 =C2=A0 =C2=A0 $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_D= GFLAGS) $(CFLAGS) -c -o $@ $<," =C2=A0AS =C2=A0 =C2=A0$(TARGET_DIR)$@") > + =C2=A0 =C2=A0 =C2=A0 $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_C= PPFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," =C2=A0AS =C2=A0 =C2=A0$(TA= RGET_DIR)$@") > > =C2=A0%.o: %.m > - =C2=A0 =C2=A0 =C2=A0 $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_D= GFLAGS) $(CFLAGS) -c -o $@ $<," =C2=A0OBJC =C2=A0$(TARGET_DIR)$@") > + =C2=A0 =C2=A0 =C2=A0 $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_C= PPFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," =C2=A0OBJC =C2=A0$(TARGET_= DIR)$@") > > -LINK =3D $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) = -o $@ $(1) $(LIBS)," =C2=A0LINK =C2=A0$(TARGET_DIR)$@") > +LINK =3D $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_CPPFLAGS) $(CF= LAGS) $(LDFLAGS) -o $@ $(1) $(LIBS)," =C2=A0LINK =C2=A0$(TARGET_DIR)$@") I don't think the linker will use any CPP flags.