2017-06-06 10:28 GMT+01:00 Stefan Hajnoczi <stefa...@gmail.com>: > On Fri, Jun 02, 2017 at 02:07:26PM +0100, Bruno Dominguez wrote: >> There was no possibility to add specific cxx flags using the configure >> file. So A new entrance has been created to support it. >> >> Duplication of information in configure and rules.mak. Taking >> QEMU_CFLAGS and add them to QEMU_CXXFLAGS, now the value of >> QEMU_CXXFLAGS is stored in config-host.mak, so there is no need for >> it. >> >> The makefile for libvixl was adding flags for QEMU_CXXFLAGS in >> QEMU_CFLAGS because of the addition in rules.mak. That was removed, so >> adding them where it should be. >> >> ----- >> Signed-off-by: Bruno Dominguez <bru.doming...@gmail.com> >> ----- > > Please follow the code submission guidelines: > http://wiki.qemu.org/Contribute/SubmitAPatch > > * The commit message (email subject) should have a prefix describing > the affected component. Use "git log ./configure" for inspiration. > I suggest the following: > > configure: split c and cxx extra flags > > * Use git-format-patch(1) so that your patch applies cleanly. Your > email has: > > ---- > Signed-off-by: ... > ---- > > This is not the format recognized by tools. Instead the > Signed-off-by: should be part of the commit description (no '----') > and then a line with just three hyphens ('---') denotes the end of > the commit description: > > Signed-off-by: ... > --- > > * The email must not be line-wrapped since that breaks the patch. If > you use git-send-email(1) to submit patches then this is taken care > of automatically. >
ok, will give it another go. >> @@ -1304,6 +1312,7 @@ Advanced options (experts only): >> --cxx=CXX use C++ compiler CXX [$cxx] >> --objcc=OBJCC use Objective-C compiler OBJCC [$objcc] >> --extra-cflags=CFLAGS append extra C compiler flags QEMU_CFLAGS >> + --extra-cxxflags=CXXFLAGS append extra CXX compiler flags QEMU_CXXFLAGS > > For consistency with the --cxx= option description: > > s/CXX compiler/C++ compiler/ > will do. >> @@ -1489,37 +1498,6 @@ if test "$bogus_os" = "yes"; then >> error_exit "Unrecognized host OS $targetos" >> fi >> >> -# Check that the C++ compiler exists and works with the C compiler >> -if has $cxx; then >> - cat > $TMPC <<EOF >> -int c_function(void); >> -int main(void) { return c_function(); } >> -EOF >> - >> - compile_object >> - >> - cat > $TMPCXX <<EOF >> -extern "C" { >> - int c_function(void); >> -} >> -int c_function(void) { return 42; } >> -EOF >> - >> - update_cxxflags >> - >> - if do_cxx $QEMU_CXXFLAGS -o $TMPE $TMPCXX $TMPO $LDFLAGS; then >> - # C++ compiler $cxx works ok with C compiler $cc >> - : >> - else >> - echo "C++ compiler $cxx does not work with C compiler $cc" >> - echo "Disabling C++ specific optional code" >> - cxx= >> - fi >> -else >> - echo "No C++ compiler available; disabling C++ specific optional code" >> - cxx= >> -fi >> - > > Why move this code? > the configure file adds "-fPIE -DPIE" to QEMU_CFLAGS around line 1570. Where QEMU_CXXFLAGS is placed is not taken it, hence this flag is not tested with the c++ compiler and breaks the build later on for not existing. Because QEMU_CXXFLAGS was reassigned again in rules.mak this was hidden.