On Tue, Dec 11, 2012 at 6:36 AM, Paolo Bonzini <bonz...@gnu.org> wrote:
> As a followup please check if AM_MAKEFLAGS is needed at all. I think it is just copied from elsewhere. I will take a look after this. >>>> diff --git a/libsanitizer/Makefile.in b/libsanitizer/Makefile.in >>>> index 21c2711..53e0be9 100644 >>>> --- a/libsanitizer/Makefile.in >>>> +++ b/libsanitizer/Makefile.in > > Please do not include regenerated files in the patch. Sure. >>>> diff --git a/libsanitizer/asan/Makefile.am b/libsanitizer/asan/Makefile.am >>>> index 3da1db3..45fb3b3 100644 >>>> --- a/libsanitizer/asan/Makefile.am >>>> +++ b/libsanitizer/asan/Makefile.am >>>> @@ -5,6 +5,10 @@ gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) >>>> >>>> DEFS = -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS >>>> -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DASAN_HAS_EXCEPTIONS=1 >>>> -DASAN_FLEXIBLE_MAPPING_AND_OFFSET=0 -DASAN_NEEDS_SEGV=1 >>>> AM_CXXFLAGS = -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic >>>> -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer >>>> -funwind-tables -fvisibility=hidden -Wno-variadic-macros >>>> -Wno-c99-extensions >>>> +## We require libstdc++-v3 to be in the same build tree. >>>> +AM_CXXFLAGS += -I../../libstdc++-v3/include \ >>>> + -I../../libstdc++-v3/include/$(target_noncanonical) \ >>>> + -I$(srcdir)/../../libstdc++-v3/libsupc++ > > As a followup, please bring back the possibility to build libsanitizer > standalone, also wrapping the chooice of flags to link to libstdc++-v3 > in a new config/libstdc++-raw-cxx.m4 file. I don't believe it is possible with libsanitizer in GCC since it uses GCC toplevel files. Where do you get those toplevel files when you compile it standalone? > Bonus points for using this macro elsewhere in the tree. > >>>> ACLOCAL_AMFLAGS = -I $(top_srcdir) -I $(top_srcdir)/config >>>> >>>> toolexeclib_LTLIBRARIES = libasan.la >>>> @@ -64,8 +68,6 @@ AM_MAKEFLAGS = \ >>>> "includedir=$(includedir)" \ >>>> "AR=$(AR)" \ >>>> "AS=$(AS)" \ >>>> - "CC=$(CC)" \ >>>> - "CXX=$(CXX)" \ >>>> "LD=$(LD)" \ >>>> "LIBCFLAGS=$(LIBCFLAGS)" \ >>>> "NM=$(NM)" \ > > Same as above, and same for other .am files. I prefer to leave them where they are so that # cd asan # make can compile. If they are passed from the parent directory, this won't work. > >>>> diff --git a/libsanitizer/configure.ac b/libsanitizer/configure.ac >>>> index 2d62ec4..9c73904 100644 >>>> --- a/libsanitizer/configure.ac >>>> +++ b/libsanitizer/configure.ac >>>> @@ -19,6 +19,7 @@ AC_MSG_RESULT($version_specific_libs) >>>> # Do not delete or change the following two lines. For why, see >>>> # http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html >>>> AC_CANONICAL_SYSTEM >>>> +ACX_NONCANONICAL_TARGET > > Note that if you create a new macro, ACX_NONCANONICAL_TARGET should be > AC_REQUIREd there. > > Paolo > How do I AC_REQUIRE it? I just copied it from other places: [hjl@gnu-6 gcc]$ grep ACX_NONCANONICAL_TARGET */configure.* boehm-gc/configure.ac:ACX_NONCANONICAL_TARGET fixincludes/configure.ac:ACX_NONCANONICAL_TARGET gcc/configure.ac:ACX_NONCANONICAL_TARGET gnattools/configure.ac:ACX_NONCANONICAL_TARGET libada/configure.ac:ACX_NONCANONICAL_TARGET libgcc/configure.ac:ACX_NONCANONICAL_TARGET libgfortran/configure.ac:ACX_NONCANONICAL_TARGET libmudflap/configure.ac:ACX_NONCANONICAL_TARGET libobjc/configure.ac:ACX_NONCANONICAL_TARGET libquadmath/configure.ac:ACX_NONCANONICAL_TARGET libssp/configure.ac:ACX_NONCANONICAL_TARGET Thanks. -- H.J.