summaryrefslogtreecommitdiff
path: root/frontends/riscos/Makefile.tools
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/riscos/Makefile.tools')
-rw-r--r--frontends/riscos/Makefile.tools42
1 files changed, 28 insertions, 14 deletions
diff --git a/frontends/riscos/Makefile.tools b/frontends/riscos/Makefile.tools
index 19a2e7768..a5b5cca1e 100644
--- a/frontends/riscos/Makefile.tools
+++ b/frontends/riscos/Makefile.tools
@@ -16,27 +16,33 @@ ifeq ($(HOST),riscos)
EXEEXT :=
PKG_CONFIG :=
ZIP := zip
+ SED :=
else
# Cross-build for RO
- # Three options are available:
- # a. GCCSDK 3.4.6 - AOF (machine: arm-unknown-riscos)
- # b. GCCSDK 4 - ELF (machine: arm-unknown-riscos)
- # c. GCCSDK 8+ - ELF, using EABI (machine: arm-riscos-gnueabihf)
+ # Four options are available:
+ # a. GCCSDK 3.4.6 - AOF (machine: arm-unknown-riscos)
+ # b. GCCSDK 4 - ELF (machine: arm-unknown-riscos)
+ # c. GCCSDK 8+ - ELF, using soft-float EABI (machine: arm-riscos-gnueabi)
+ # d. GCCSDK 8+ - ELF, using hard-float EABI (machine: arm-riscos-gnueabihf)
# GCCSDK 3.4.6 and 4 are distinguished by GCCSDK 3.4.6 binary names
# not having the machine prefix (e.g. gcc), whereas GCCSDK 4 binaries
# do (e.g. arm-unknown-riscos-gcc).
# Search for the toolchain install locations if we haven't been told
- # The search order prefers GCCSDK 3.4.6/4 over 8+.
+ # The search order prefers GCCSDK 3.4.6/4 over 8+ and soft-float over hard.
ifeq ($(origin GCCSDK_INSTALL_ENV),undefined)
ifneq ($(realpath /opt/netsurf/arm-unknown-riscos/env),)
GCCSDK_INSTALL_ENV := /opt/netsurf/arm-unknown-riscos/env
else
- ifneq ($(realpath /opt/netsurf/arm-riscos-gnueabihf/env),)
- GCCSDK_INSTALL_ENV := /opt/netsurf/arm-riscos-gnueabihf/env
+ ifneq ($(realpath /opt/netsurf/arm-riscos-gnueabi/env),)
+ GCCSDK_INSTALL_ENV := /opt/netsurf/arm-riscos-gnueabi/env
else
- # No NetSurf-specific toolchain found: try the "normal" GCCSDK path
- GCCSDK_INSTALL_ENV := /home/riscos/env
+ ifneq ($(realpath /opt/netsurf/arm-riscos-gnueabihf/env),)
+ GCCSDK_INSTALL_ENV := /opt/netsurf/arm-riscos-gnueabihf/env
+ else
+ # No NetSurf-specific toolchain found: try the "normal" GCCSDK path
+ GCCSDK_INSTALL_ENV := /home/riscos/env
+ endif
endif
endif
endif
@@ -45,11 +51,15 @@ else
ifneq ($(realpath /opt/netsurf/arm-unknown-riscos/cross/bin),)
GCCSDK_INSTALL_CROSSBIN := /opt/netsurf/arm-unknown-riscos/cross/bin
else
- ifneq ($(realpath /opt/netsurf/arm-riscos-gnueabihf/cross/bin),)
- GCCSDK_INSTALL_CROSSBIN := /opt/netsurf/arm-riscos-gnueabihf/cross/bin
+ ifneq ($(realpath /opt/netsurf/arm-riscos-gnueabi/cross/bin),)
+ GCCSDK_INSTALL_CROSSBIN := /opt/netsurf/arm-riscos-gnueabi/cross/bin
else
- # No NetSurf-specific toolchain found: try the "normal" GCCSDK path
- GCCSDK_INSTALL_CROSSBIN := /home/riscos/cross/bin
+ ifneq ($(realpath /opt/netsurf/arm-riscos-gnueabihf/cross/bin),)
+ GCCSDK_INSTALL_CROSSBIN := /opt/netsurf/arm-riscos-gnueabihf/cross/bin
+ else
+ # No NetSurf-specific toolchain found: try the "normal" GCCSDK path
+ GCCSDK_INSTALL_CROSSBIN := /home/riscos/cross/bin
+ endif
endif
endif
endif
@@ -68,9 +78,12 @@ else
EXEEXT := ,e1f
ELF2AIF := $(GCCSDK_INSTALL_CROSSBIN)/elf2aif
else
- ifneq (,$(findstring arm-riscos-gnueabihf-gcc,$(CC)))
+ ifneq (,$(findstring arm-riscos-gnueabi,$(CC)))
# GCCSDK 8+
SUBTARGET := -elfeabi
+ ifneq (,$(findstring gnueabihf,$(CC)))
+ SUBTARGET := -elfeabihf
+ endif
EXEEXT := ,e1f
ELF2AIF := $(GCCSDK_INSTALL_CROSSBIN)/elf2aif -e
else
@@ -83,4 +96,5 @@ else
CXX := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*g++)
PKG_CONFIG = PKG_CONFIG_LIBDIR="$(PREFIX)/lib/pkgconfig:$(GCCSDK_INSTALL_ENV)/lib/pkgconfig:$(GCCSDK_INSTALL_ENV)/share/pkgconfig" pkg-config
ZIP := $(GCCSDK_INSTALL_CROSSBIN)/zip
+ SED := sed
endif