summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn-Mark Bell <jmb@netsurf-browser.org>2022-06-02 19:40:02 +0100
committerJohn-Mark Bell <jmb@netsurf-browser.org>2022-11-03 18:29:13 +0000
commit84bc20f8779c87adc5273c96c260ef8feb72369b (patch)
tree303cf2f00736c5d2e53e14ab0ca2c725c6711650
parent9ad7f964177964f905658e53d8ebfce2000eee07 (diff)
downloadtoolchains-84bc20f8779c87adc5273c96c260ef8feb72369b.tar.gz
toolchains-84bc20f8779c87adc5273c96c260ef8feb72369b.tar.bz2
Make ro-install available
The OSLib buildsystem expects this to exist, so ensure it does, patching the original to find the correct objdump binary.
-rw-r--r--arm-riscos-gnueabihf/Makefile6
-rw-r--r--arm-riscos-gnueabihf/recipes/patches/gccsdk/roinstall-objdump-name.p13
2 files changed, 19 insertions, 0 deletions
diff --git a/arm-riscos-gnueabihf/Makefile b/arm-riscos-gnueabihf/Makefile
index 6c53c9b..1deec0f 100644
--- a/arm-riscos-gnueabihf/Makefile
+++ b/arm-riscos-gnueabihf/Makefile
@@ -3,6 +3,7 @@ UPSTREAM_GCCSDK_VERSION := 7698
UPSTREAM_GCCSDK_TARBALL := gccsdk$(UPSTREAM_GCCSDK_VERSION).tar.gz
UPSTREAM_GCCSDK_URI := svn://svn.riscos.info/gccsdk/trunk/autobuilder/develop/gcc@$(UPSTREAM_GCCSDK_VERSION)
UPSTREAM_GCCSDK_SGP_URI := svn://svn.riscos.info/gccsdk/trunk/gcc4/setup-gccsdk-params@$(UPSTREAM_GCCSDK_VERSION)
+UPSTREAM_GCCSDK_ROINSTALL_URI := svn://svn.riscos.info/gccsdk/trunk/gcc4/porting-scripts/ro-install@$(UPSTREAM_GCCSDK_VERSION)
UPSTREAM_GCCSDK_AMP_URI := svn://svn.riscos.info/gccsdk/trunk/gcc4/recipe/patches/automake-for-binutils@$(UPSTREAM_GCCSDK_VERSION)
UPSTREAM_GCCSDK_UNIXLIB_URI := svn://svn.riscos.info/gccsdk/trunk/gcc4/recipe/files/gcc/libunixlib@$(UPSTREAM_GCCSDK_VERSION)
UPSTREAM_GCCSDK_LD_URI := svn://svn.riscos.info/gccsdk/trunk/gcc4/riscos/soloader/dynamic/ld.so-1.9.9@$(UPSTREAM_GCCSDK_VERSION)
@@ -124,6 +125,10 @@ $(BUILDSTEPS)/oslib.d: $(BUILDSTEPS)/gcc.d $(SOURCESDIR)/$(UPSTREAM_OSLIB_TARBAL
$(BUILDSTEPS)/gcc.d: $(BUILDSTEPS)/gccsdk-srcdir.d
cd $(BUILDDIR)/gccsdk && make
+ @# Install ro-install
+ mkdir -p $(PREFIX)/env
+ sed -e s:GCCSDK_ENV:$(PREFIX)/env:g < $(BUILDDIR)/gccsdk/ro-install > $(PREFIX)/env/ro-install
+ chmod 755 $(PREFIX)/env/ro-install
@# Install empty libraries needed to fool configure scripts
for l in c pthread gcc_s ; do $(PREFIX)/cross/bin/$(TARGET_NAME)-ar mv $(PREFIX)/cross/$(TARGET_NAME)/lib/lib$$l.a ; done
@# Newer GCCSDK adds these trampoline binaries that for us
@@ -152,6 +157,7 @@ $(BUILDSTEPS)/gccsdk-srcdir.d: $(BUILDSTEPS)/buildsteps.d $(SOURCESDIR)/$(UPSTRE
$(SOURCESDIR)/$(UPSTREAM_GCCSDK_TARBALL):
svn export $(UPSTREAM_GCCSDK_URI) $(SOURCESDIR)/gccsdk/gcc
svn export $(UPSTREAM_GCCSDK_SGP_URI) $(SOURCESDIR)/gccsdk/
+ svn export $(UPSTREAM_GCCSDK_ROINSTALL_URI) $(SOURCESDIR)/gccsdk/
svn export $(UPSTREAM_GCCSDK_AMP_URI) $(SOURCESDIR)/gccsdk/automake
svn export $(UPSTREAM_GCCSDK_UNIXLIB_URI) $(SOURCESDIR)/gccsdk/libunixlib
svn export $(UPSTREAM_GCCSDK_LD_URI) $(SOURCESDIR)/gccsdk/ld
diff --git a/arm-riscos-gnueabihf/recipes/patches/gccsdk/roinstall-objdump-name.p b/arm-riscos-gnueabihf/recipes/patches/gccsdk/roinstall-objdump-name.p
new file mode 100644
index 0000000..7451829
--- /dev/null
+++ b/arm-riscos-gnueabihf/recipes/patches/gccsdk/roinstall-objdump-name.p
@@ -0,0 +1,13 @@
+Index: ro-install
+===================================================================
+--- ro-install (revision 7698)
++++ ro-install (working copy)
+@@ -72,7 +72,7 @@
+
+ # Check that static libraries really do contain static objects
+ if grep -q "\.a\$" <<< $param || grep -q "\.a-static" <<< $param ; then
+- if GCCSDK_BIN/arm-unknown-riscos-objdump -p $param | grep -q "position independent"; then
++ if GCCSDK_BIN/arm-riscos-gnueabihf-objdump -p $param | grep -q "position independent"; then
+ echo "RISC OS Cross installer: static archive $param contains position independent code" 1>&2
+ exit 1
+ fi