Message ID | 1343247287-14160-1-git-send-email-s.martin49@gmail.com |
---|---|
State | Superseded |
Headers | show |
On 07/25/12 22:14, Samuel Martin wrote: > > Signed-off-by: Samuel Martin<s.martin49@gmail.com> > > diff --git a/package/Makefile.in b/package/Makefile.in > index 6fad224..d12bf5e 100644 > --- a/package/Makefile.in > +++ b/package/Makefile.in > @@ -85,18 +85,20 @@ ifeq ($(BR2_DEBUG_3),y) > TARGET_DEBUGGING=-g3 > endif > > -TARGET_CFLAGS=$(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) > +TARGET_CPPFLAGS = -I$(STAGING_DIR)/usr/include This is redundant for the target, because cpp uses the sysroot as well. (I checked this with an external toolchain and a buildroot toolchain.) > -ifeq ($(findstring yy,$(BR2_mips)$(BR2_MIPS_ABI64)),yy) > -TARGET_CFLAGS+=-fno-pic -mno-abicalls > +ifeq ($(BR2_LARGEFILE),y) > +TARGET_CPPFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 > endif > > -ifeq ($(BR2_LARGEFILE),y) > -TARGET_CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 > +TARGET_CFLAGS = $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(TARGET_CPPFLAGS) It shouldn't be needed to add the CPPFLAGS to the CFLAGS, since the build system will normally combine the two for compilation. However, it doesn't hurt to have them both, so it's probably a good idea to duplicate it in CFLAGS so that build systems which don't observe CPPFLAGS will not break down. Just one thing: I'd put the CPPFLAGS at the front of the list. > + > +ifeq ($(findstring yy,$(BR2_mips)$(BR2_MIPS_ABI64)),yy) > +TARGET_CFLAGS += -fno-pic -mno-abicalls > endif > > -TARGET_CXXFLAGS=$(TARGET_CFLAGS) > -TARGET_LDFLAGS=$(call qstrip,$(BR2_TARGET_LDFLAGS)) > +TARGET_CXXFLAGS = $(TARGET_CFLAGS) > +TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS)) > > ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_CTNG),y) > TARGET_CROSS=$(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)- > @@ -153,9 +155,10 @@ FLEX:=$(shell which flex || type -p flex) > BISON:=$(shell which bison || type -p bison) > SED:=$(shell which sed || type -p sed) -i -e > > +HOST_CPPFLAGS ?= -I$(HOST_DIR)/include -I$(HOST_DIR)/usr/include Actually the $(HOST_DIR)/include can be left out: it doesn't exist. Also I don't see the point of using ?=. If it is specified on the command line, it will anyway override this definition, and we know it is not specified in any other Makefile. Regards, Arnout > HOST_CFLAGS ?= -O2 > -HOST_CFLAGS += -I$(HOST_DIR)/include -I$(HOST_DIR)/usr/include > -HOST_CXXFLAGS += -I$(HOST_DIR)/include -I$(HOST_DIR)/usr/include > +HOST_CFLAGS += $(HOST_CPPFLAGS) > +HOST_CXXFLAGS += $(HOST_CFLAGS) > HOST_LDFLAGS += -L$(HOST_DIR)/lib -L$(HOST_DIR)/usr/lib -Wl,-rpath,$(HOST_DIR)/usr/lib > HOST_PATH=$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(PATH) > > @@ -184,12 +187,14 @@ TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \ > CXX_FOR_BUILD="$(HOSTCXX)" \ > FC_FOR_BUILD="$(HOSTFC)" \ > LD_FOR_BUILD="$(HOSTLD)" \ > + CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" \ > CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ > CXXFLAGS_FOR_BUILD="$(HOST_CXXFLAGS)" \ > LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \ > FCFLAGS_FOR_BUILD="$(HOST_FCFLAGS)" \ > DEFAULT_ASSEMBLER="$(TARGET_AS)" \ > DEFAULT_LINKER="$(TARGET_LD)" \ > + CPPFLAGS="$(TARGET_CPPFLAGS)" \ > CFLAGS="$(TARGET_CFLAGS)" \ > CXXFLAGS="$(TARGET_CXXFLAGS)" \ > LDFLAGS="$(TARGET_LDFLAGS)" \ > @@ -210,6 +215,7 @@ HOST_CONFIGURE_OPTS=PATH=$(HOST_PATH) \ > GCC="$(HOSTCC)" \ > CXX="$(HOSTCXX)" \ > CPP="$(HOSTCPP)" \ > + CPPFLAGS="$(HOST_CPPFLAGS)" \ > CFLAGS="$(HOST_CFLAGS)" \ > CXXFLAGS="$(HOST_CXXFLAGS)" \ > LDFLAGS="$(HOST_LDFLAGS)" \
Hi Arnout, Thanks for the review, v2 is on its way. Cheers,
diff --git a/package/Makefile.in b/package/Makefile.in index 6fad224..d12bf5e 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -85,18 +85,20 @@ ifeq ($(BR2_DEBUG_3),y) TARGET_DEBUGGING=-g3 endif -TARGET_CFLAGS=$(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) +TARGET_CPPFLAGS = -I$(STAGING_DIR)/usr/include -ifeq ($(findstring yy,$(BR2_mips)$(BR2_MIPS_ABI64)),yy) -TARGET_CFLAGS+=-fno-pic -mno-abicalls +ifeq ($(BR2_LARGEFILE),y) +TARGET_CPPFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 endif -ifeq ($(BR2_LARGEFILE),y) -TARGET_CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 +TARGET_CFLAGS = $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(TARGET_CPPFLAGS) + +ifeq ($(findstring yy,$(BR2_mips)$(BR2_MIPS_ABI64)),yy) +TARGET_CFLAGS += -fno-pic -mno-abicalls endif -TARGET_CXXFLAGS=$(TARGET_CFLAGS) -TARGET_LDFLAGS=$(call qstrip,$(BR2_TARGET_LDFLAGS)) +TARGET_CXXFLAGS = $(TARGET_CFLAGS) +TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS)) ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_CTNG),y) TARGET_CROSS=$(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)- @@ -153,9 +155,10 @@ FLEX:=$(shell which flex || type -p flex) BISON:=$(shell which bison || type -p bison) SED:=$(shell which sed || type -p sed) -i -e +HOST_CPPFLAGS ?= -I$(HOST_DIR)/include -I$(HOST_DIR)/usr/include HOST_CFLAGS ?= -O2 -HOST_CFLAGS += -I$(HOST_DIR)/include -I$(HOST_DIR)/usr/include -HOST_CXXFLAGS += -I$(HOST_DIR)/include -I$(HOST_DIR)/usr/include +HOST_CFLAGS += $(HOST_CPPFLAGS) +HOST_CXXFLAGS += $(HOST_CFLAGS) HOST_LDFLAGS += -L$(HOST_DIR)/lib -L$(HOST_DIR)/usr/lib -Wl,-rpath,$(HOST_DIR)/usr/lib HOST_PATH=$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(PATH) @@ -184,12 +187,14 @@ TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \ CXX_FOR_BUILD="$(HOSTCXX)" \ FC_FOR_BUILD="$(HOSTFC)" \ LD_FOR_BUILD="$(HOSTLD)" \ + CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" \ CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ CXXFLAGS_FOR_BUILD="$(HOST_CXXFLAGS)" \ LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \ FCFLAGS_FOR_BUILD="$(HOST_FCFLAGS)" \ DEFAULT_ASSEMBLER="$(TARGET_AS)" \ DEFAULT_LINKER="$(TARGET_LD)" \ + CPPFLAGS="$(TARGET_CPPFLAGS)" \ CFLAGS="$(TARGET_CFLAGS)" \ CXXFLAGS="$(TARGET_CXXFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" \ @@ -210,6 +215,7 @@ HOST_CONFIGURE_OPTS=PATH=$(HOST_PATH) \ GCC="$(HOSTCC)" \ CXX="$(HOSTCXX)" \ CPP="$(HOSTCPP)" \ + CPPFLAGS="$(HOST_CPPFLAGS)" \ CFLAGS="$(HOST_CFLAGS)" \ CXXFLAGS="$(HOST_CXXFLAGS)" \ LDFLAGS="$(HOST_LDFLAGS)" \
Signed-off-by: Samuel Martin <s.martin49@gmail.com>