tests: Migrate to newlib-nano and libgloss-htif
This deprecates the monolithic syscalls.c environment in favor of a more structured board support package (BSP) based on newlib.
This commit is contained in:
50
tests/libgloss.mk
Normal file
50
tests/libgloss.mk
Normal file
@@ -0,0 +1,50 @@
|
||||
# Handle libgloss-htif dependency
|
||||
ifndef libgloss
|
||||
|
||||
ifndef GCC
|
||||
$(error GCC is not defined)
|
||||
endif
|
||||
|
||||
libgloss_specs := htif_nano.specs
|
||||
|
||||
# Test whether libgloss-htif is globally installed and usable
|
||||
# Define BUILD_LIBGLOSS=1 to unconditionally force a local build
|
||||
BUILD_LIBGLOSS ?= $(shell { echo 'int main(void) { return 0; }' | \
|
||||
$(GCC) -xc -specs=$(libgloss_specs) -o /dev/null - 2> /dev/null ; } || \
|
||||
echo "$$?")
|
||||
|
||||
ifneq ($(BUILD_LIBGLOSS),)
|
||||
$(info libgloss-htif: Using local build)
|
||||
|
||||
libgloss_srcdir := ../toolchains/libgloss
|
||||
libgloss_builddir := libgloss
|
||||
libgloss_specs := $(libgloss_srcdir)/util/$(libgloss_specs)
|
||||
libgloss_lib := $(libgloss_builddir)/libgloss_htif.a
|
||||
libgloss := $(libgloss_lib) $(libgloss_specs) htif.ld
|
||||
|
||||
LDFLAGS += -L libgloss
|
||||
|
||||
$(libgloss_builddir)/Makefile: $(libgloss_srcdir)/configure
|
||||
mkdir -p $(dir $@)
|
||||
cd $(dir $@) && $(realpath $<) \
|
||||
--prefix=$(shell $(GCC) -print-sysroot) \
|
||||
--host=$(TARGET) \
|
||||
--disable-multilib
|
||||
|
||||
$(libgloss_lib): $(libgloss_builddir)/Makefile
|
||||
$(MAKE) -C $(dir $^)
|
||||
|
||||
.PHONY: libgloss
|
||||
libgloss: $(libgloss)
|
||||
|
||||
else
|
||||
|
||||
$(info libgloss-htif: Using global install)
|
||||
libgloss := # No additional prerequisites
|
||||
|
||||
endif
|
||||
|
||||
CFLAGS += -specs=$(libgloss_specs)
|
||||
LDFLAGS += -specs=$(libgloss_specs)
|
||||
|
||||
endif # libgloss
|
||||
Reference in New Issue
Block a user