Radix cross Linux Toolchains for ARC architecture

ARC Toolchains for boot loaders components of some SoCs (such as Amlogic System on Chip)

40 Commits   0 Branches   13 Tags
     5         kx 
     5         kx NO_PARALLEL = true
     5         kx 
     5         kx COMPONENT_TARGETS  = $(TOOLCHAIN_S8XX_NEWLIB)
     5         kx 
     5         kx FLAVOURS = headers full
     5         kx 
     5         kx 
     5         kx include ../../../build-system/config.mk
     5         kx 
     5         kx 
     5         kx SOURCE_REQUIRES = sources/newlib
     5         kx 
     5         kx ifeq ($(FLAVOUR),headers)
     5         kx REQUIRES  = core/binutils/2020.03.18
     5         kx endif
     5         kx ifeq ($(FLAVOUR),full)
     5         kx REQUIRES  = core/gcc/2020.03.16^static
     5         kx endif
     5         kx 
     5         kx # ======= __END_OF_REQUIRES__ =======
     5         kx 
     5         kx tar_xz_archive  = $(SRC_PACKAGE_PATH)/newlib/newlib-arc-2020.03.18.tar.xz
     5         kx SRC_ARCHIVE     = $(tar_xz_archive)
     5         kx SRC_DIR         = $(TARGET_BUILD_DIR)/newlib-arc-2020.03.18
     5         kx src_dir_name    = newlib-arc-2020.03.18
     5         kx src_done        = $(TARGET_BUILD_DIR)/.source-done
     5         kx 
     5         kx PATCHES       = PATCHES
     5         kx 
     5         kx build_dir       = $(TARGET_BUILD_DIR)/build
     5         kx 
     5         kx install_dir         = $(TOOLCHAIN_PATH)
     5         kx headers_install_dir = $(TOOLCHAIN_PATH)/$(TARGET)
     5         kx 
     5         kx headers_target  = $(TARGET_BUILD_DIR)/.headers-installed
     5         kx 
     5         kx build_target    = $(TARGET_BUILD_DIR)/.built
     5         kx full_target     = $(TARGET_BUILD_DIR)/.installed
     5         kx 
     5         kx 
     5         kx 
     5         kx ifeq ($(FLAVOUR),headers)
     5         kx BUILD_TARGETS  = $(headers_target)
     5         kx endif
     5         kx 
     5         kx ifeq ($(FLAVOUR),full)
     5         kx BUILD_TARGETS  = $(build_target)
     5         kx BUILD_TARGETS += $(full_target)
     5         kx endif
     5         kx 
     5         kx include ../../../build-system/core.mk
     5         kx 
     5         kx 
     5         kx environment  = AS="$(TOOLCHAIN_PATH)/bin/$(TARGET)-as"
     5         kx environment += LD="$(TOOLCHAIN_PATH)/bin/$(TARGET)-ld"
     5         kx environment += CC="$(CCACHE)$(TOOLCHAIN_PATH)/bin/$(TARGET)-gcc"
     5         kx environment += AR="$(TOOLCHAIN_PATH)/bin/$(TARGET)-ar"
     5         kx environment += RANLIB="$(TOOLCHAIN_PATH)/bin/$(TARGET)-ranlib"
     5         kx 
     5         kx environment += PATH_FIG2DEV="/usr/bin:/usr/X11R6/bin:/usr/share/texmf/bin"
     5         kx environment += PATH="$(TOOLCHAIN_PATH)/bin:$(PATH):$(PATH_FIG2DEV)"
     5         kx #                                                   =============
     5         kx # need for fig2dev and documentation (see: ../.config).
     5         kx 
     5         kx environment += BUILD_CC="$(CCACHE)/usr/bin/gcc"
     5         kx environment += TARGET_CFLAGS=""
     5         kx 
     5         kx 
     5         kx ifeq ($(TOOLCHAIN),$(TOOLCHAIN_S8XX_NEWLIB))
     5         kx extra_configure_switches  = --disable-multilib
     5         kx extra_configure_switches += --with-cpu=arcem
     5         kx extra_configure_switches += --with-endian=little
     5         kx 
     5         kx extra_configure_switches += --with-gnu-as
     5         kx extra_configure_switches += --with-gnu-ld
     5         kx extra_configure_switches += --enable-newlib-supplied-sycalls
     5         kx # extra_configure_switches += --enable-newlib-global-atexit
     5         kx 
     5         kx extra_configure_switches += --enable-newlib-io-c99-formats
     5         kx extra_configure_switches += --enable-newlib-io-long-long
     5         kx extra_configure_switches += --enable-newlib-io-pos-args
     5         kx extra_configure_switches += --enable-newlib-multithread
     5         kx endif
     5         kx 
     5         kx 
     5         kx 
     5         kx $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
     5         kx 	$(UNPACK_SRC_ARCHIVE)
     5         kx 	$(APPLY_PATCHES)
     5         kx 	@touch $@
     5         kx 
     5         kx $(headers_target): $(src_done)
     5         kx 	@mkdir -p $(headers_install_dir)
     5         kx 	@cp -ar $(TARGET_BUILD_DIR)/$(src_dir_name)/newlib/libc/include $(headers_install_dir)/sys-include
     5         kx 	@if [ -n "`cat $(SRC_DIR)/newlib/configure | grep _NEWLIB_VERSION | cut -f3 -d'"' | sed 's,[^0-9.],,g'`" ] ; then \
     5         kx 	   version_string="`cat $(SRC_DIR)/newlib/configure | grep _NEWLIB_VERSION | cut -f3 -d'"' | sed 's,[^0-9.],,g'`" ; \
     5         kx 	   echo "  newlib-$${version_string}$(if $(FLAVOUR),:$(FLAVOUR),)" >> $(TOOLCHAIN_PATH)/README ; \
     5         kx 	 else \
     5         kx 	   echo "  $(subst $(TOP_BUILD_DIR_ABS)/,,$(CURDIR))$(if $(FLAVOUR),:$(FLAVOUR),)" >> $(TOOLCHAIN_PATH)/README ; \
     5         kx 	 fi
     5         kx 	@touch $@
     5         kx 
     5         kx $(build_target): $(src_done)
     5         kx 	# =======  Building newlib =======
     5         kx 	@mkdir -p $(build_dir)
     5         kx 	@cd $(build_dir) && $(environment) ../$(src_dir_name)/newlib/configure \
     5         kx 	  --prefix=$(TOOLCHAIN_PATH)       \
     5         kx 	  --build=$(BUILD)                 \
     5         kx 	  --host=$(TARGET)                 \
     5         kx 	  --target=$(TARGET)               \
     5         kx 	  --infodir=$(TOOLCHAIN_PATH)/share/info \
     5         kx 	  --mandir=$(TOOLCHAIN_PATH)/share/man   \
     5         kx 	  $(extra_configure_switches)
     5         kx 	@$(environment) $(MAKE) -C $(build_dir) all
     5         kx 	# =======  Building libgloss =======
     5         kx 	@mkdir -p $(build_dir)/libgloss
     5         kx 	@cd $(build_dir)/libgloss && $(environment) ../../$(src_dir_name)/libgloss/configure \
     5         kx 	  --prefix=$(TOOLCHAIN_PATH)       \
     5         kx 	  --build=$(BUILD)                 \
     5         kx 	  --host=$(TARGET)                 \
     5         kx 	  --target=$(TARGET)               \
     5         kx 	  --infodir=$(TOOLCHAIN_PATH)/share/info \
     5         kx 	  --mandir=$(TOOLCHAIN_PATH)/share/man   \
     5         kx 	  $(extra_configure_switches)
     5         kx 	@$(environment) $(MAKE) -C $(build_dir)/libgloss all info
     5         kx 	@touch $@
     5         kx 
     5         kx $(full_target): $(build_target)
     5         kx 	@mkdir -p $(install_dir)
     5         kx 	@$(environment) $(MAKE) -C $(build_dir) install
     5         kx 	@$(environment) $(MAKE) -C $(build_dir)/libgloss install
     5         kx 	@$(environment) $(MAKE) -C $(build_dir) pdf
     5         kx 	@$(environment) $(MAKE) -C $(build_dir)/libgloss pdf
     5         kx 	# ======= Install Documentation =======
     5         kx 	@$(environment) $(MAKE) -C $(build_dir)/libgloss/doc install-info
     5         kx 	@mkdir -p $(TOOLCHAIN_PATH)/share/doc/newlib
     5         kx 	@cp $(build_dir)/libc/libc.pdf            $(TOOLCHAIN_PATH)/share/doc/newlib
     5         kx 	@cp $(build_dir)/libm/libm.pdf            $(TOOLCHAIN_PATH)/share/doc/newlib
     5         kx 	@cp $(build_dir)/libgloss/doc/porting.pdf $(TOOLCHAIN_PATH)/share/doc/newlib
     5         kx 	@if [ -n "`cat $(SRC_DIR)/newlib/configure | grep _NEWLIB_VERSION | cut -f3 -d'"' | sed 's,[^0-9.],,g'`" ] ; then \
     5         kx 	   version_string="`cat $(SRC_DIR)/newlib/configure | grep _NEWLIB_VERSION | cut -f3 -d'"' | sed 's,[^0-9.],,g'`" ; \
     5         kx 	   echo "  newlib-$${version_string}$(if $(FLAVOUR),:$(FLAVOUR),)" >> $(TOOLCHAIN_PATH)/README ; \
     5         kx 	 else \
     5         kx 	   echo "  $(subst $(TOP_BUILD_DIR_ABS)/,,$(CURDIR))$(if $(FLAVOUR),:$(FLAVOUR),)" >> $(TOOLCHAIN_PATH)/README ; \
     5         kx 	 fi
     5         kx 	@touch $@