# gcc has a bunch of options that need to be shared with # both gcc-uclibc-2.95.mk and gcc-uclibc-3.x.mk, and are # use by other packages... So include them in this file # and arrange to include it soon after invoking make from # the top level. GCC_VERSION:=$(strip $(subst ",, $(BR2_GCC_VERSION))) #")) TARGET_OPTIMIZATION:=$(strip $(subst ",, $(BR2_TARGET_OPTIMIZATION))) #")) EXTRA_GCC_CONFIG_OPTIONS:=$(strip $(subst ",, $(BR2_EXTRA_GCC_CONFIG_OPTIONS))) #")) ifeq ($(strip $(subst ",, $(BR2_GCC_IS_SNAP))),y) #")) GCC_SNAP_DATE:=$(strip $(subst ",, $(BR2_GCC_SNAP_DATE))) #")) else GCC_SNAP_DATE:= endif #"))) ifeq ($(BR2_GCC_USE_SJLJ_EXCEPTIONS),y) GCC_USE_SJLJ_EXCEPTIONS:=--enable-sjlj-exceptions endif ifeq ($(BR2_SOFT_FLOAT),y) # gcc 3.4.x soft float configuration is different than previous versions. ifeq ($(findstring x3.4.,x$(GCC_VERSION)),x3.4.) ifneq ($(BR2_nios2),y) SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft endif else SOFT_FLOAT_CONFIG_OPTION:=--without-float endif # again... there must be a better way ifeq ($(findstring x4.,x$(GCC_VERSION)),x4.) SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft ifeq ($(BR2_SOFT_FLOAT_FP),y) TARGET_SOFT_FLOAT:=-mfloat-abi=softfp else # no fp at all ifeq ($(BR2_arm),y) # only set float-abi for arm TARGET_SOFT_FLOAT:=-mfloat-abi=soft else TARGET_SOFT_FLOAT:=-msoft-float endif endif else # not gcc-4.x TARGET_SOFT_FLOAT:=-msoft-float endif ARCH_FPU_SUFFIX:=_nofpu else # no softfloat support SOFT_FLOAT_CONFIG_OPTION:= TARGET_SOFT_FLOAT:= ARCH_FPU_SUFFIX:= endif # some additional defaults ifneq ($(strip $(subst ",,$(BR2_GCC_TARGET_ARCH))),) # "))) GCC_WITH_ARCH:=--with-arch=$(BR2_GCC_TARGET_ARCH) endif ifneq ($(strip $(subst ",,$(BR2_GCC_TARGET_TUNE))),) # "))) GCC_WITH_TUNE:=--with-tune=$(BR2_GCC_TARGET_TUNE) endif ifneq ($(strip $(subst ",,$(BR2_GCC_TARGET_ABI))),) # "))) GCC_WITH_ABI:=--with-abi=$(BR2_GCC_TARGET_ABI) endif # AVR32 GCC configuration ifeq ($(BR2_avr32),y) EXTRA_GCC_CONFIG_OPTIONS+=--disable-libmudflap SOFT_FLOAT_CONFIG_OPTION:= EXTRA_GCC_CONFIG_OPTIONS+=--with-build-time-tools=$(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/bin \ #EXTRA_GCC_CONFIG_OPTIONS+=--with-as=$(TARGET_CROSS)as endif TARGET_GCC_FLAGS= CFLAGS_FOR_TARGET="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)" \ CXXFLAGS_FOR_TARGET="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)" \ CFLAGS="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)" \ BOOT_CFLAGS="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)" ifeq ($(BR2_PACKAGE_GCC_TARGET),y) EXTRA_TARGET_GCC_CONFIG_OPTIONS:= # AVR32 target GCC configuration ifeq ($(BR2_avr32),y) EXTRA_TARGET_GCC_CONFIG_OPTIONS+=--disable-libmudflap EXTRA_TARGET_GCC_CONFIG_OPTIONS+=--with-build-time-tools=$(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/bin \ EXTRA_TARGET_GCC_CONFIG_OPTIONS+=--with-as=$(TARGET_CROSS)as endif # and finally pull in config opts from the user EXTRA_TARGET_GCC_CONFIG_OPTIONS+=$(strip $(subst ",, $(BR2_EXTRA_TARGET_GCC_CONFIG_OPTIONS))) #")) ifeq ($(BR2_PREFER_IMA),y) # >= 4.x ifneq ($(findstring x3.,x$(GCC_VERSION)),x3.) EXTRA_TARGET_GCC_CONFIG_OPTIONS+=--enable-intermodule endif endif # BR2_PREFER_IMA=y TARGETS+=gcc_target endif