summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2010-12-30 12:04:57 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2010-12-30 12:04:57 +0000
commite93658a33b15e53413f32f78c355a7998131aa49 (patch)
tree9fa3ac1731fba6b5557623ff8abd4f7781b934ea
parentf96054bc0979ca97afe8b77024fb49f46af5e04d (diff)
downloadtoolchains-e93658a33b15e53413f32f78c355a7998131aa49.tar.gz
toolchains-e93658a33b15e53413f32f78c355a7998131aa49.tar.bz2
Build runes for RISC OS SDK.
libxml2 must not depend on libiconv.d, as we may not want libiconv in the SDK (e.g. if iconv is provided by the runtime) Change the way we provide environment to subprocesses -- some buildsystems (i.e. OSLib's) dislike CC being overridden with the target compiler svn path=/toolchains/; revision=11171
-rw-r--r--sdk/Makefile84
-rw-r--r--sdk/recipes/patches/openssl/Configure.p11
2 files changed, 60 insertions, 35 deletions
diff --git a/sdk/Makefile b/sdk/Makefile
index 41b639b..3752e92 100644
--- a/sdk/Makefile
+++ b/sdk/Makefile
@@ -23,25 +23,28 @@ VERSION_LIBLCMS := 2.1
VERSION_LIBMNG := 1.0.10
VERSION_LIBCARES := 1.7.4
VERSION_LIBCURL := 7.21.3
+VERSION_RISCOS_OSLIB := 402
# Path
-export PATH := $(GCCSDK_INSTALL_CROSSBIN):$(PATH)
+path__ := $(GCCSDK_INSTALL_CROSSBIN):$(PATH)
# Tools
-export CC := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*gcc)
-export CXX := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*g++)
-export AR := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*ar)
+cc__ := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*gcc)
+cxx__ := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*g++)
+ar__ := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*ar)
# Flags
-export CFLAGS := -I$(GCCSDK_INSTALL_ENV)/include
-export CPPFLAGS := -I$(GCCSDK_INSTALL_ENV)/include
-export LDFLAGS := -L$(GCCSDK_INSTALL_ENV)/lib
-export PKG_CONFIG_LIBDIR := $(GCCSDK_INSTALL_ENV)/lib/pkgconfig
+cflags__ := -I$(GCCSDK_INSTALL_ENV)/include
+cppflags__ := -I$(GCCSDK_INSTALL_ENV)/include
+ldflags__ := -L$(GCCSDK_INSTALL_ENV)/lib
+pkg_config_libdir__ := $(GCCSDK_INSTALL_ENV)/lib/pkgconfig
# Target
-TARGET := $(shell $(CC) -dumpmachine)
+TARGET := $(shell $(cc__) -dumpmachine)
# Environment
+env := PATH="$(path__)" CC="$(cc__)" CXX="$(cxx__)" AR="$(ar__)" CFLAGS="$(cflags__)" CPPFLAGS="$(cppflags__)" LDFLAGS="$(ldflags__)" PKG_CONFIG_LIBDIR="$(pkg_config_libdir__)"
+
RECIPES := $(CURDIR)/recipes
SOURCEDIR := $(CURDIR)/sources
BUILDDIR := $(CURDIR)/builddir-$(TARGET)
@@ -58,9 +61,9 @@ ifeq ($(TARGET),m68k-unknown-amigaos)
SDK_ITEMS := $(BUILDSTEPS)/libiconv.d $(BUILDSTEPS)/libtre.d $(COMMON_SDK_ITEMS)
endif
-#ifeq ($(TARGET),arm-unknown-riscos)
-# SDK_ITEMS := $(COMMON_SDK_ITEMS)
-#endif
+ifeq ($(TARGET),arm-unknown-riscos)
+ SDK_ITEMS := $(BUILDSTEPS)/riscos-oslib.d $(COMMON_SDK_ITEMS)
+endif
ifeq ($(SDK_ITEMS),)
$(error Unable to compute SDK components for target $(TARGET))
@@ -90,8 +93,8 @@ $(BUILDSTEPS)/zlib.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib-src.d
mkdir -p $(BUILDDIR)/zlib
cd $(BUILDDIR)/zlib && tar xjf $(SOURCEDIR)/zlib-$(VERSION_ZLIB).tar.bz2
for p in `ls $(RECIPES)/patches/zlib/*.p` ; do patch -d $(BUILDDIR)/zlib/zlib-$(VERSION_ZLIB) -p0 <$$p ; done
- cd $(BUILDDIR)/zlib/zlib-$(VERSION_ZLIB) && ./configure --prefix=$(GCCSDK_INSTALL_ENV)
- cd $(BUILDDIR)/zlib/zlib-$(VERSION_ZLIB) && make install
+ cd $(BUILDDIR)/zlib/zlib-$(VERSION_ZLIB) && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV)
+ cd $(BUILDDIR)/zlib/zlib-$(VERSION_ZLIB) && $(env) make install
touch $@
$(BUILDSTEPS)/zlib-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/zlib-$(VERSION_ZLIB).tar.bz2
@@ -105,8 +108,8 @@ $(BUILDSTEPS)/libiconv.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/libiconv-src.d
mkdir -p $(BUILDDIR)/libiconv
cd $(BUILDDIR)/libiconv && tar xzf $(SOURCEDIR)/libiconv-$(VERSION_LIBICONV).tar.gz
for p in `ls $(RECIPES)/patches/libiconv/*.p` ; do patch -d $(BUILDDIR)/libiconv/libiconv-$(VERSION_LIBICONV) -p0 <$$p ; done
- cd $(BUILDDIR)/libiconv/libiconv-$(VERSION_LIBICONV) && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
- cd $(BUILDDIR)/libiconv/libiconv-$(VERSION_LIBICONV) && make install
+ cd $(BUILDDIR)/libiconv/libiconv-$(VERSION_LIBICONV) && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
+ cd $(BUILDDIR)/libiconv/libiconv-$(VERSION_LIBICONV) && $(env) make install
touch $@
$(BUILDSTEPS)/libiconv-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/libiconv-$(VERSION_LIBICONV).tar.gz
@@ -119,8 +122,8 @@ $(SOURCEDIR)/libiconv-$(VERSION_LIBICONV).tar.gz:
$(BUILDSTEPS)/libtre.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/libtre-src.d
mkdir -p $(BUILDDIR)/libtre
cd $(BUILDDIR)/libtre && tar xjf $(SOURCEDIR)/tre-$(VERSION_LIBTRE).tar.bz2
- cd $(BUILDDIR)/libtre/tre-$(VERSION_LIBTRE) && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
- cd $(BUILDDIR)/libtre/tre-$(VERSION_LIBTRE) && make install
+ cd $(BUILDDIR)/libtre/tre-$(VERSION_LIBTRE) && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
+ cd $(BUILDDIR)/libtre/tre-$(VERSION_LIBTRE) && $(env) make install
cp $(RECIPES)/files/libtre/regex.h $(GCCSDK_INSTALL_ENV)/include/regex.h
touch $@
@@ -131,11 +134,11 @@ $(SOURCEDIR)/tre-$(VERSION_LIBTRE).tar.bz2:
wget -q -O $@ http://laurikari.net/tre/$(subst $(SOURCEDIR)/,,$@)
# libXML2
-$(BUILDSTEPS)/libxml2.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib.d $(BUILDSTEPS)/libiconv.d $(BUILDSTEPS)/libxml2-src.d
+$(BUILDSTEPS)/libxml2.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib.d $(BUILDSTEPS)/libxml2-src.d
mkdir -p $(BUILDDIR)/libxml2
cd $(BUILDDIR)/libxml2 && tar xzf $(SOURCEDIR)/libxml2-$(VERSION_LIBXML).tar.gz
- cd $(BUILDDIR)/libxml2/libxml2-$(VERSION_LIBXML) && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
- cd $(BUILDDIR)/libxml2/libxml2-$(VERSION_LIBXML) && make install
+ cd $(BUILDDIR)/libxml2/libxml2-$(VERSION_LIBXML) && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
+ cd $(BUILDDIR)/libxml2/libxml2-$(VERSION_LIBXML) && $(env) make install
touch $@
$(BUILDSTEPS)/libxml2-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/libxml2-$(VERSION_LIBXML).tar.gz
@@ -149,8 +152,8 @@ $(BUILDSTEPS)/openssl.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib.d $(BUILDST
mkdir -p $(BUILDDIR)/openssl
cd $(BUILDDIR)/openssl && tar xzf $(SOURCEDIR)/openssl-$(VERSION_OPENSSL).tar.gz
for p in `ls $(RECIPES)/patches/openssl/*.p` ; do patch -d $(BUILDDIR)/openssl/openssl-$(VERSION_OPENSSL) -p0 <$$p ; done
- cd $(BUILDDIR)/openssl/openssl-$(VERSION_OPENSSL) && ./Configure --prefix=$(GCCSDK_INSTALL_ENV) $(TARGET) no-shared no-asm no-threads
- cd $(BUILDDIR)/openssl/openssl-$(VERSION_OPENSSL) && make install
+ cd $(BUILDDIR)/openssl/openssl-$(VERSION_OPENSSL) && $(env) ./Configure --prefix=$(GCCSDK_INSTALL_ENV) $(TARGET) no-shared no-asm no-threads
+ cd $(BUILDDIR)/openssl/openssl-$(VERSION_OPENSSL) && $(env) make install
touch $@
$(BUILDSTEPS)/openssl-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/openssl-$(VERSION_OPENSSL).tar.gz
@@ -163,8 +166,8 @@ $(SOURCEDIR)/openssl-$(VERSION_OPENSSL).tar.gz:
$(BUILDSTEPS)/libpng.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib.d $(BUILDSTEPS)/libpng-src.d
mkdir -p $(BUILDDIR)/libpng
cd $(BUILDDIR)/libpng && tar xzf $(SOURCEDIR)/libpng-$(VERSION_LIBPNG).tar.gz
- cd $(BUILDDIR)/libpng/libpng-$(VERSION_LIBPNG) && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
- cd $(BUILDDIR)/libpng/libpng-$(VERSION_LIBPNG) && make install
+ cd $(BUILDDIR)/libpng/libpng-$(VERSION_LIBPNG) && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
+ cd $(BUILDDIR)/libpng/libpng-$(VERSION_LIBPNG) && $(env) make install
touch $@
$(BUILDSTEPS)/libpng-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/libpng-$(VERSION_LIBPNG).tar.gz
@@ -178,8 +181,8 @@ $(SOURCEDIR)/libpng-$(VERSION_LIBPNG).tar.gz:
$(BUILDSTEPS)/libjpeg.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/libjpeg-src.d
mkdir -p $(BUILDDIR)/libjpeg
cd $(BUILDDIR)/libjpeg && tar xzf $(SOURCEDIR)/jpegsrc.v$(VERSION_LIBJPEG).tar.gz
- cd $(BUILDDIR)/libjpeg/jpeg-$(VERSION_LIBJPEG) && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
- cd $(BUILDDIR)/libjpeg/jpeg-$(VERSION_LIBJPEG) && make install
+ cd $(BUILDDIR)/libjpeg/jpeg-$(VERSION_LIBJPEG) && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
+ cd $(BUILDDIR)/libjpeg/jpeg-$(VERSION_LIBJPEG) && $(env) make install
touch $@
$(BUILDSTEPS)/libjpeg-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/jpegsrc.v$(VERSION_LIBJPEG).tar.gz
@@ -192,8 +195,8 @@ $(SOURCEDIR)/jpegsrc.v$(VERSION_LIBJPEG).tar.gz:
$(BUILDSTEPS)/liblcms.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib.d $(BUILDSTEPS)/libjpeg.d $(BUILDSTEPS)/liblcms-src.d
mkdir -p $(BUILDDIR)/liblcms
cd $(BUILDDIR)/liblcms && tar xzf $(SOURCEDIR)/lcms2-$(VERSION_LIBLCMS).tar.gz
- cd $(BUILDDIR)/liblcms/lcms2-$(VERSION_LIBLCMS) && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
- cd $(BUILDDIR)/liblcms/lcms2-$(VERSION_LIBLCMS) && make install
+ cd $(BUILDDIR)/liblcms/lcms2-$(VERSION_LIBLCMS) && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
+ cd $(BUILDDIR)/liblcms/lcms2-$(VERSION_LIBLCMS) && $(env) make install
touch $@
$(BUILDSTEPS)/liblcms-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/lcms2-$(VERSION_LIBLCMS).tar.gz
@@ -208,7 +211,7 @@ $(BUILDSTEPS)/libmng.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib.d $(BUILDSTE
cd $(BUILDDIR)/libmng && tar xzf $(SOURCEDIR)/libmng-$(VERSION_LIBMNG).tar.gz
for p in `ls $(RECIPES)/patches/libmng/*.p` ; do patch -d $(BUILDDIR)/libmng/libmng-$(VERSION_LIBMNG) -p0 <$$p ; done
cp $(BUILDDIR)/libmng/libmng-$(VERSION_LIBMNG)/makefiles/makefile.unix $(BUILDDIR)/libmng/libmng-$(VERSION_LIBMNG)/Makefile
- cd $(BUILDDIR)/libmng/libmng-$(VERSION_LIBMNG) && make install
+ cd $(BUILDDIR)/libmng/libmng-$(VERSION_LIBMNG) && $(env) make install
touch $@
$(BUILDSTEPS)/libmng-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/libmng-$(VERSION_LIBMNG).tar.gz
@@ -221,8 +224,8 @@ $(SOURCEDIR)/libmng-$(VERSION_LIBMNG).tar.gz:
$(BUILDSTEPS)/libcares.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/libcares-src.d
mkdir -p $(BUILDDIR)/libcares
cd $(BUILDDIR)/libcares && tar xzf $(SOURCEDIR)/c-ares-$(VERSION_LIBCARES).tar.gz
- cd $(BUILDDIR)/libcares/c-ares-$(VERSION_LIBCARES) && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
- cd $(BUILDDIR)/libcares/c-ares-$(VERSION_LIBCARES) && make install
+ cd $(BUILDDIR)/libcares/c-ares-$(VERSION_LIBCARES) && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared
+ cd $(BUILDDIR)/libcares/c-ares-$(VERSION_LIBCARES) && $(env) make install
touch $@
$(BUILDSTEPS)/libcares-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/c-ares-$(VERSION_LIBCARES).tar.gz
@@ -236,8 +239,8 @@ $(BUILDSTEPS)/libcurl.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib.d $(BUILDST
mkdir -p $(BUILDDIR)/libcurl
cd $(BUILDDIR)/libcurl && tar xjf $(SOURCEDIR)/curl-$(VERSION_LIBCURL).tar.bz2
for p in `ls $(RECIPES)/patches/libcurl/*.p` ; do patch -d $(BUILDDIR)/libcurl/curl-$(VERSION_LIBCURL) -p0 <$$p ; done
- cd $(BUILDDIR)/libcurl/curl-$(VERSION_LIBCURL) && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared --without-libidn --enable-nonblocking --enable-ares=$(GCCSDK_INSTALL_ENV)/lib --without-random
- cd $(BUILDDIR)/libcurl/curl-$(VERSION_LIBCURL) && make install
+ cd $(BUILDDIR)/libcurl/curl-$(VERSION_LIBCURL) && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared --without-libidn --enable-nonblocking --enable-ares=$(GCCSDK_INSTALL_ENV)/lib --without-random
+ cd $(BUILDDIR)/libcurl/curl-$(VERSION_LIBCURL) && $(env) make install
touch $@
$(BUILDSTEPS)/libcurl-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/curl-$(VERSION_LIBCURL).tar.bz2
@@ -246,3 +249,16 @@ $(BUILDSTEPS)/libcurl-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/curl-$(VERSI
$(SOURCEDIR)/curl-$(VERSION_LIBCURL).tar.bz2:
wget -q -O $@ http://curl.haxx.se/download/$(subst $(SOURCEDIR)/,,$@)
+# RISC OS OSLib
+$(BUILDSTEPS)/riscos-oslib.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/riscos-oslib-src.d
+ mkdir -p $(BUILDDIR)/riscos-oslib
+ cp -r $(SOURCEDIR)/riscos-oslib-$(VERSION_RISCOS_OSLIB) $(BUILDDIR)/riscos-oslib/
+ cd $(BUILDDIR)/riscos-oslib/riscos-oslib-$(VERSION_RISCOS_OSLIB) && GCCSDK_INSTALL_ENV=$(GCCSDK_INSTALL_ENV) GCCSDK_INSTALL_CROSSBIN=$(GCCSDK_INSTALL_CROSSBIN) make install
+ touch $@
+
+$(BUILDSTEPS)/riscos-oslib-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/riscos-oslib-$(VERSION_RISCOS_OSLIB)
+ touch $@
+
+$(SOURCEDIR)/riscos-oslib-$(VERSION_RISCOS_OSLIB):
+ svn co https://ro-oslib.svn.sourceforge.net/svnroot/ro-oslib/trunk/!OSLib@$(VERSION_RISCOS_OSLIB) $@
+
diff --git a/sdk/recipes/patches/openssl/Configure.p b/sdk/recipes/patches/openssl/Configure.p
index 7191fe5..156a589 100644
--- a/sdk/recipes/patches/openssl/Configure.p
+++ b/sdk/recipes/patches/openssl/Configure.p
@@ -1,11 +1,20 @@
--- Configure.old 2010-12-29 02:43:14.000000000 +0000
+++ Configure 2010-12-29 02:45:29.000000000 +0000
-@@ -412,6 +412,8 @@
+@@ -412,6 +412,9 @@
"beos-x86-r5", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mcpu=pentium -Wall::-D_REENTRANT:BEOS:-lbe -lnet:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:beos:beos-shared:-fPIC -DPIC:-shared:.so",
"beos-x86-bone", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mcpu=pentium -Wall::-D_REENTRANT:BEOS:-lbe -lbind -lsocket:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:beos:beos-shared:-fPIC:-shared:.so",
++"arm-unknown-riscos","arm-unknown-riscos-gcc:-DL_ENDIAN -DTERMIOS -DNO_SYS_UN_H -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:::BN_LLONG DES_RISC1::::::::::::::::::::echo",
+"m68k-unknown-amigaos","m68k-unknown-amigaos-gcc:-DB_ENDIAN -DTERMIOS -DNO_SYSLOG -DHAVE_FORK=0 -DNO_SYS_PARAM_H -DNO_SYS_UN_H -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:::BN_LLONG DES_RISC1::::::::::::::::::::m68k-unknown-amigaos-ranlib",
+
#### SCO/Caldera targets.
#
# Originally we had like unixware-*, unixware-*-pentium, unixware-*-p6, etc.
+@@ -1039,6 +1042,7 @@
+ my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds;
+
+ $exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target =~ /^mingw/);
++$exe_ext=",e1f" if ($target eq "arm-unknown-riscos");
+ $exe_ext=".nlm" if ($target =~ /netware/);
+ $exe_ext=".pm" if ($target =~ /vos/);
+ $openssldir="/usr/local/ssl" if ($openssldir eq "" and $prefix eq "");