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 
     5         kx COMPONENT_TARGETS  = $(TOOLCHAIN_S8XX_NEWLIB)
     5         kx 
     5         kx 
     5         kx FLAVOURS = static full
     5         kx 
     5         kx 
     5         kx include ../../../build-system/config.mk
     5         kx 
     5         kx 
     5         kx SOURCE_REQUIRES  = sources/gcc
     5         kx SOURCE_REQUIRES += sources/GNU/gmp
     5         kx SOURCE_REQUIRES += sources/GNU/mpfr
     5         kx SOURCE_REQUIRES += sources/GNU/mpc
     5         kx 
     5         kx 
     5         kx ifneq ($(findstring newlib, $(TOOLCHAIN)),)
     5         kx ifeq ($(FLAVOUR),static)
     5         kx REQUIRES  = core/newlib/2020.03.18^headers
     5         kx endif
     5         kx ifeq ($(FLAVOUR),full)
     5         kx REQUIRES  = core/newlib/2020.03.18^full
     5         kx endif
     5         kx endif
     5         kx 
     5         kx 
     5         kx # ======= __END_OF_REQUIRES__ =======
     5         kx 
     5         kx tar_xz_archive        = $(SRC_PACKAGE_PATH)/gcc/gcc-arc-2020.03.16.tar.xz
     5         kx tar_xz_archive_gmp    = $(SRC_PACKAGE_PATH)/GNU/gmp/gmp-6.2.0.tar.xz
     5         kx tar_xz_archive_mpfr   = $(SRC_PACKAGE_PATH)/GNU/mpfr/mpfr-4.0.2.tar.xz
     5         kx tar_gz_archive_mpc    = $(SRC_PACKAGE_PATH)/GNU/mpc/mpc-1.1.0.tar.gz
     5         kx SRC_ARCHIVE           = $(tar_xz_archive)
     5         kx SRC_DIR               = $(TARGET_BUILD_DIR)/gcc-arc-2020.03.16
     5         kx src_dir_name          = gcc-arc-2020.03.16
     5         kx src_done              = $(TARGET_BUILD_DIR)/.source-done
     5         kx gmp_src_done          = $(TARGET_BUILD_DIR)/.gmp-source-done
     5         kx mpfr_src_done         = $(TARGET_BUILD_DIR)/.mpfr-source-done
     5         kx mpc_src_done          = $(TARGET_BUILD_DIR)/.mpc-source-done
     5         kx 
     5         kx PATCHES = PATCHES
     5         kx 
     5         kx build_dir             = $(TARGET_BUILD_DIR)/build
     5         kx 
     5         kx sysroot_dir           = $(TOOLCHAIN_PATH)/$(TARGET)/sys-root
     5         kx 
     5         kx static_build_target   = $(TARGET_BUILD_DIR)/.static-built
     5         kx static_install_target = $(TARGET_BUILD_DIR)/.static-installed
     5         kx full_build_target     = $(TARGET_BUILD_DIR)/.full-built
     5         kx full_install_target   = $(TARGET_BUILD_DIR)/.full-installed
     5         kx 
     5         kx 
     5         kx LIBSUFFIX    =
     5         kx 
     5         kx 
     5         kx ifeq ($(FLAVOUR),static)
     5         kx BUILD_TARGETS  = $(static_build_target)
     5         kx BUILD_TARGETS += $(static_install_target)
     5         kx endif
     5         kx 
     5         kx ifeq ($(FLAVOUR),full)
     5         kx BUILD_TARGETS  = $(full_build_target)
     5         kx BUILD_TARGETS += $(full_install_target)
     5         kx endif
     5         kx 
     5         kx 
     5         kx include ../../../build-system/core.mk
     5         kx 
     5         kx 
     5         kx ifeq ($(TOOLCHAIN),$(TOOLCHAIN_S8XX_NEWLIB))
     5         kx extra_configure_switches  = --with-cpu=arcem
     5         kx extra_configure_switches += --disable-multilib
     5         kx extra_configure_switches += --with-endian=little
     5         kx extra_configure_switches += --disable-werror
     5         kx ifeq ($(FLAVOUR),static)
     5         kx extra_configure_switches += --enable-languages=c
     5         kx else
     5         kx extra_configure_switches += --enable-languages=c,c++
     5         kx extra_configure_switches += --with-newlib
     5         kx endif
     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 $(gmp_src_done): $(src_done)
     5         kx 	@echo "Expanding $(tar_xz_archive_gmp)"
     5         kx 	@tar xJf $(tar_xz_archive_gmp) -C $(TARGET_BUILD_DIR)
     5         kx 	@cd $(SRC_DIR); ln -sf ../gmp-6.2.0 gmp
     5         kx 	@touch $@
     5         kx 
     5         kx $(mpfr_src_done): $(src_done)
     5         kx 	@echo "Expanding $(tar_xz_archive_mpfr)"
     5         kx 	@tar xJf $(tar_xz_archive_mpfr) -C $(TARGET_BUILD_DIR)
     5         kx 	@cd $(SRC_DIR); ln -sf ../mpfr-4.0.2 mpfr
     5         kx 	@touch $@
     5         kx 
     5         kx $(mpc_src_done): $(src_done)
     5         kx 	@echo "Expanding $(tar_gz_archive_mpc)"
     5         kx 	@tar xzf $(tar_gz_archive_mpc) -C $(TARGET_BUILD_DIR)
     5         kx 	@cd $(SRC_DIR); ln -sf ../mpc-1.1.0 mpc
     5         kx 	@touch $@
     5         kx 
     5         kx $(static_build_target): $(gmp_src_done) $(mpfr_src_done) $(mpc_src_done)
     5         kx 	@mkdir -p $(build_dir)
     5         kx 	@cd $(build_dir) && $(environment) ../$(src_dir_name)/configure \
     5         kx 	  --prefix=$(TOOLCHAIN_PATH)       \
     5         kx 	  --build=$(HOST)                  \
     5         kx 	  --host=$(HOST)                   \
     5         kx 	  --target=$(TARGET)               \
     5         kx 	  --with-as=$(TOOLCHAIN_PATH)/bin/$(TARGET)-as \
     5         kx 	  --with-ld=$(TOOLCHAIN_PATH)/bin/$(TARGET)-ld \
     5         kx 	  --datadir=$(TOOLCHAIN_PATH)/share       \
     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-{gcc,target-libgcc}
     5         kx 	@touch $@
     5         kx 
     5         kx $(static_install_target): $(static_build_target)
     5         kx 	@$(MAKE) $(environment) -j1 -C $(build_dir) install-{gcc,target-libgcc}
     5         kx 	@( major="`cat $(build_dir)/gcc/bversion.h | grep '#define BUILDING_GCC_MAJOR' | cut -f3 -d' '`"      ; \
     5         kx 	   minor="`cat $(build_dir)/gcc/bversion.h | grep '#define BUILDING_GCC_MINOR' | cut -f3 -d' '`"      ; \
     5         kx 	   patch="`cat $(build_dir)/gcc/bversion.h | grep '#define BUILDING_GCC_PATCHLEVEL' | cut -f3 -d' '`" ; \
     5         kx 	   version_string="$${major}.$${minor}.$${patch}" ; \
     5         kx 	   if [ -n "$${version_string}" ] ; then \
     5         kx 	     echo "  gcc-$${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 	 )
     5         kx 	@touch $@
     5         kx 
     5         kx 
     5         kx $(full_build_target): $(gmp_src_done) $(mpfr_src_done) $(mpc_src_done)
     5         kx 	@mkdir -p $(build_dir)
     5         kx 	cd $(build_dir) && $(environment) ../$(src_dir_name)/configure \
     5         kx 	  --prefix=$(TOOLCHAIN_PATH)       \
     5         kx 	  --build=$(HOST)                  \
     5         kx 	  --host=$(HOST)                   \
     5         kx 	  --target=$(TARGET)               \
     5         kx 	  --with-as=$(TOOLCHAIN_PATH)/bin/$(TARGET)-as \
     5         kx 	  --with-ld=$(TOOLCHAIN_PATH)/bin/$(TARGET)-ld \
     5         kx 	  --datadir=$(TOOLCHAIN_PATH)/share       \
     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-{gcc,target-libgcc,target-libstdc++-v3}
     5         kx 	@touch $@
     5         kx 
     5         kx $(full_install_target): $(full_build_target)
     5         kx 	@$(MAKE) $(environment) -j1 -C $(build_dir) pdf-gcc
     5         kx 	@$(MAKE) $(environment) -j1 -C $(build_dir) install-{gcc,target-libgcc,target-libstdc++-v3,pdf-gcc}
     5         kx 	@( cd $(TOOLCHAIN_PATH)/$(TARGET)/lib$(LIBSUFFIX) ; \
     5         kx 	   sed -i 's,-L.*\.libs,-L$(TOOLCHAIN_PATH)/$(TARGET)/lib$(LIBSUFFIX),g' libstdc++.la libsupc++.la ; \
     5         kx 	 )
     5         kx 	@( major="`cat $(build_dir)/gcc/bversion.h | grep '#define BUILDING_GCC_MAJOR' | cut -f3 -d' '`"      ; \
     5         kx 	   minor="`cat $(build_dir)/gcc/bversion.h | grep '#define BUILDING_GCC_MINOR' | cut -f3 -d' '`"      ; \
     5         kx 	   patch="`cat $(build_dir)/gcc/bversion.h | grep '#define BUILDING_GCC_PATCHLEVEL' | cut -f3 -d' '`" ; \
     5         kx 	   version_string="$${major}.$${minor}.$${patch}" ; \
     5         kx 	   if [ -n "$${version_string}" ] ; then \
     5         kx 	     echo "  gcc-$${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 	 )
     5         kx 	@touch $@