Radix cross Linux Toolchains for ARC architecture

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

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

Property changes on: 2020.03.16
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,34 ##
+
+# Target build dirs
+.noarch/
+.host/
+
+.s8xx-newlib/
+
+# Hidden files (each file)
+.makefile
+
+# Tarballs
+*.gz
+*.bz2
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Default linux config files
+*.defconfig
+
+# Object Files
+*.[ao]
+
+# backup copies
+*~
Index: .
===================================================================
--- .	(nonexistent)
+++ .	(revision 5)

Property changes on: .
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,34 ##
+
+# Target build dirs
+.noarch/
+.host/
+
+.s8xx-newlib/
+
+# Hidden files (each file)
+.makefile
+
+# Tarballs
+*.gz
+*.bz2
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Default linux config files
+*.defconfig
+
+# Object Files
+*.[ao]
+
+# backup copies
+*~