From e1ffdff6964514515fc640544ccb39e2140d4ca5 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Wed, 29 Dec 2010 16:51:07 +0000 Subject: Build runes for an SDK containing the upstream packages we need svn path=/toolchains/; revision=11136 --- sdk/Makefile | 166 +++++++++++++++++++++++++++++ sdk/recipes/patches/libcurl/lib.easy.c.p | 27 +++++ sdk/recipes/patches/libcurl/src.main.c.p | 13 +++ sdk/recipes/patches/libmng/makefile.unix.p | 50 +++++++++ sdk/recipes/patches/openssl/Configure.p | 11 ++ sdk/recipes/patches/zlib/Makefile.in.p | 12 +++ 6 files changed, 279 insertions(+) create mode 100644 sdk/Makefile create mode 100644 sdk/recipes/patches/libcurl/lib.easy.c.p create mode 100644 sdk/recipes/patches/libcurl/src.main.c.p create mode 100644 sdk/recipes/patches/libmng/makefile.unix.p create mode 100644 sdk/recipes/patches/openssl/Configure.p create mode 100644 sdk/recipes/patches/zlib/Makefile.in.p (limited to 'sdk') diff --git a/sdk/Makefile b/sdk/Makefile new file mode 100644 index 0000000..54acdae --- /dev/null +++ b/sdk/Makefile @@ -0,0 +1,166 @@ +# Required environment: +# +# GCCSDK_INSTALL_ENV -- /path/to/install/prefix +# GCCSDK_INSTALL_CROSSBIN -- /path/to/toolchain/bin + +ifeq ($(GCCSDK_INSTALL_ENV),) + $(error GCCSDK_INSTALL_ENV not set) +endif + +ifeq ($(GCCSDK_INSTALL_CROSSBIN),) + $(error GCCSDK_INSTALL_CROSSBIN not set) +endif + +# Environment +RECIPES := $(CURDIR)/recipes +SOURCEDIR := $(CURDIR)/sources +BUILDDIR := $(CURDIR)/builddir +BUILDSTEPS := $(BUILDDIR)/build-steps + +# Path +export 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) + +# 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 + +# Target +TARGET := $(shell $(CC) -dumpmachine) + +.PHONY: all +all: $(BUILDSTEPS)/zlib.d $(BUILDSTEPS)/libxml2.d $(BUILDSTEPS)/openssl.d \ + $(BUILDSTEPS)/libpng.d $(BUILDSTEPS)/libjpeg.d $(BUILDSTEPS)/liblcms.d \ + $(BUILDSTEPS)/libmng.d $(BUILDSTEPS)/libcares.d $(BUILDSTEPS)/libcurl.d + +# Sourcedir +$(BUILDSTEPS)/sourcedir.d: $(BUILDSTEPS)/builddir.d + mkdir -p $(SOURCEDIR) + touch $@ + +# Builddir +$(BUILDSTEPS)/builddir.d: + mkdir -p $(BUILDSTEPS) + touch $@ + +# zlib +$(BUILDSTEPS)/zlib.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib-src.d + mkdir -p $(BUILDDIR)/zlib + cd $(BUILDDIR)/zlib && tar xjf $(SOURCEDIR)/zlib-1.2.5.tar.bz2 + for p in `ls $(RECIPES)/patches/zlib/*.p` ; do patch -d $(BUILDDIR)/zlib/zlib-1.2.5 -p0 <$$p ; done + cd $(BUILDDIR)/zlib/zlib-1.2.5 && ./configure --prefix=$(GCCSDK_INSTALL_ENV) + cd $(BUILDDIR)/zlib/zlib-1.2.5 && make install + touch $@ + +$(BUILDSTEPS)/zlib-src.d: $(BUILDSTEPS)/sourcedir.d + wget -q -O $(SOURCEDIR)/zlib-1.2.5.tar.bz2 http://zlib.net/zlib-1.2.5.tar.bz2 + touch $@ + +# libiconv? + +# libXML2 +$(BUILDSTEPS)/libxml2.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib.d $(BUILDSTEPS)/libxml2-src.d + mkdir -p $(BUILDDIR)/libxml2 + cd $(BUILDDIR)/libxml2 && tar xzf $(SOURCEDIR)/libxml2-2.7.8.tar.gz + cd $(BUILDDIR)/libxml2/libxml2-2.7.8 && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared + cd $(BUILDDIR)/libxml2/libxml2-2.7.8 && make install + touch $@ + +$(BUILDSTEPS)/libxml2-src.d: $(BUILDSTEPS)/sourcedir.d + wget -q -O $(SOURCEDIR)/libxml2-2.7.8.tar.gz ftp://xmlsoft.org/libxml2/libxml2-2.7.8.tar.gz + touch $@ + +# OpenSSL +$(BUILDSTEPS)/openssl.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib.d $(BUILDSTEPS)/openssl-src.d + mkdir -p $(BUILDDIR)/openssl + cd $(BUILDDIR)/openssl && tar xzf $(SOURCEDIR)/openssl-1.0.0c.tar.gz + for p in `ls $(RECIPES)/patches/openssl/*.p` ; do patch -d $(BUILDDIR)/openssl/openssl-1.0.0c -p0 <$$p ; done + cd $(BUILDDIR)/openssl/openssl-1.0.0c && ./Configure --prefix=$(GCCSDK_INSTALL_ENV) $(TARGET) no-shared no-asm no-threads + cd $(BUILDDIR)/openssl/openssl-1.0.0c && make install + touch $@ + +$(BUILDSTEPS)/openssl-src.d: $(BUILDSTEPS)/sourcedir.d + wget -q -O $(SOURCEDIR)/openssl-1.0.0c.tar.gz http://openssl.org/source/openssl-1.0.0c.tar.gz + touch $@ + +# libPNG +$(BUILDSTEPS)/libpng.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib.d $(BUILDSTEPS)/libpng-src.d + mkdir -p $(BUILDDIR)/libpng + cd $(BUILDDIR)/libpng && tar xzf $(SOURCEDIR)/libpng-1.4.5.tar.gz + cd $(BUILDDIR)/libpng/libpng-1.4.5 && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared + cd $(BUILDDIR)/libpng/libpng-1.4.5 && make install + touch $@ + +$(BUILDSTEPS)/libpng-src.d: $(BUILDSTEPS)/sourcedir.d + wget -q -O $(SOURCEDIR)/libpng-1.4.5.tar.gz ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.4.5.tar.gz + touch $@ + +# libjpeg +# TODO: rename the LOCAL/GLOBAL/EXTERN macros in jmorecfg.h +$(BUILDSTEPS)/libjpeg.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/libjpeg-src.d + mkdir -p $(BUILDDIR)/libjpeg + cd $(BUILDDIR)/libjpeg && tar xzf $(SOURCEDIR)/jpegsrc.v8b.tar.gz + cd $(BUILDDIR)/libjpeg/jpeg-8b && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared + cd $(BUILDDIR)/libjpeg/jpeg-8b && make install + touch $@ + +$(BUILDSTEPS)/libjpeg-src.d: $(BUILDSTEPS)/sourcedir.d + wget -q -O $(SOURCEDIR)/jpegsrc.v8b.tar.gz http://ijg.org/files/jpegsrc.v8b.tar.gz + touch $@ + +# liblcms +$(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-2.1.tar.gz + cd $(BUILDDIR)/liblcms/lcms2-2.1 && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared + cd $(BUILDDIR)/liblcms/lcms2-2.1 && make install + touch $@ + +$(BUILDSTEPS)/liblcms-src.d: $(BUILDSTEPS)/sourcedir.d + wget -q -O $(SOURCEDIR)/lcms2-2.1.tar.gz http://downloads.sourceforge.net/project/lcms/lcms/2.1/lcms2-2.1.tar.gz + touch $@ + +# libMNG +$(BUILDSTEPS)/libmng.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib.d $(BUILDSTEPS)/libjpeg.d $(BUILDSTEPS)/liblcms.d $(BUILDSTEPS)/libmng-src.d + mkdir -p $(BUILDDIR)/libmng + cd $(BUILDDIR)/libmng && tar xzf $(SOURCEDIR)/libmng-1.0.10.tar.gz + for p in `ls $(RECIPES)/patches/libmng/*.p` ; do patch -d $(BUILDDIR)/libmng/libmng-1.0.10 -p0 <$$p ; done + cp $(BUILDDIR)/libmng/libmng-1.0.10/makefiles/makefile.unix $(BUILDDIR)/libmng/libmng-1.0.10/Makefile + cd $(BUILDDIR)/libmng/libmng-1.0.10 && make install + touch $@ + +$(BUILDSTEPS)/libmng-src.d: $(BUILDSTEPS)/sourcedir.d + wget -q -O $(SOURCEDIR)/libmng-1.0.10.tar.gz http://downloads.sourceforge.net/project/libmng/libmng-devel/1.0.10/libmng-1.0.10.tar.gz + touch $@ + +# libcares +$(BUILDSTEPS)/libcares.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/libcares-src.d + mkdir -p $(BUILDDIR)/libcares + cd $(BUILDDIR)/libcares && tar xzf $(SOURCEDIR)/c-ares-1.7.4.tar.gz + cd $(BUILDDIR)/libcares/c-ares-1.7.4 && ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared + cd $(BUILDDIR)/libcares/c-ares-1.7.4 && make install + touch $@ + +$(BUILDSTEPS)/libcares-src.d: $(BUILDSTEPS)/sourcedir.d + wget -q -O $(SOURCEDIR)/c-ares-1.7.4.tar.gz http://c-ares.haxx.se/c-ares-1.7.4.tar.gz + touch $@ + +# libcurl +$(BUILDSTEPS)/libcurl.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/zlib.d $(BUILDSTEPS)/openssl.d $(BUILDSTEPS)/libcares.d $(BUILDSTEPS)/libcurl-src.d + mkdir -p $(BUILDDIR)/libcurl + cd $(BUILDDIR)/libcurl && tar xjf $(SOURCEDIR)/curl-7.21.3.tar.bz2 + for p in `ls $(RECIPES)/patches/libcurl/*.p` ; do patch -d $(BUILDDIR)/libcurl/curl-7.21.3 -p0 <$$p ; done + cd $(BUILDDIR)/libcurl/curl-7.21.3 && ./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-7.21.3 && make install + touch $@ + +$(BUILDSTEPS)/libcurl-src.d: $(BUILDSTEPS)/sourcedir.d + wget -q -O $(SOURCEDIR)/curl-7.21.3.tar.bz2 http://curl.haxx.se/download/curl-7.21.3.tar.bz2 + touch $@ + diff --git a/sdk/recipes/patches/libcurl/lib.easy.c.p b/sdk/recipes/patches/libcurl/lib.easy.c.p new file mode 100644 index 0000000..c98b845 --- /dev/null +++ b/sdk/recipes/patches/libcurl/lib.easy.c.p @@ -0,0 +1,27 @@ +--- lib/easy.c.old 2010-12-29 16:14:23.000000000 +0000 ++++ lib/easy.c 2010-12-29 16:15:10.000000000 +0000 +@@ -263,13 +263,6 @@ + return CURLE_FAILED_INIT; + } + +-#ifdef __AMIGA__ +- if(!amiga_init()) { +- DEBUGF(fprintf(stderr, "Error: amiga_init failed\n")); +- return CURLE_FAILED_INIT; +- } +-#endif +- + #ifdef NETWARE + if(netware_init()) { + DEBUGF(fprintf(stderr, "Warning: LONG namespace not available\n")); +@@ -358,10 +351,6 @@ + if(init_flags & CURL_GLOBAL_WIN32) + win32_cleanup(); + +-#ifdef __AMIGA__ +- amiga_cleanup(); +-#endif +- + #if defined(USE_LIBSSH2) && defined(HAVE_LIBSSH2_EXIT) + (void)libssh2_exit(); + #endif diff --git a/sdk/recipes/patches/libcurl/src.main.c.p b/sdk/recipes/patches/libcurl/src.main.c.p new file mode 100644 index 0000000..749fe64 --- /dev/null +++ b/sdk/recipes/patches/libcurl/src.main.c.p @@ -0,0 +1,13 @@ +--- src/main.c.old 2010-12-29 16:18:04.000000000 +0000 ++++ src/main.c 2010-12-29 16:17:51.000000000 +0000 +@@ -64,6 +64,10 @@ + #endif + #endif + ++#ifdef __AMIGA__ ++#include ++#endif ++ + #include "version.h" + + #ifdef HAVE_IO_H /* typical win32 habit */ diff --git a/sdk/recipes/patches/libmng/makefile.unix.p b/sdk/recipes/patches/libmng/makefile.unix.p new file mode 100644 index 0000000..46c2cb7 --- /dev/null +++ b/sdk/recipes/patches/libmng/makefile.unix.p @@ -0,0 +1,50 @@ +--- makefiles/makefile.unix.org 2007-12-26 16:20:25.000000000 +0100 ++++ makefiles/makefile.unix 2007-12-26 16:18:02.000000000 +0100 +@@ -7,20 +7,24 @@ + # Configuration options are now in libmng_conf.h + + # The name of your C compiler: +-CC= cc ++CC= $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*gcc) ++AR= $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*ar) ++ ++# where "make install" puts libmng.a,libmng.so*,libmng.h,libmng_conf.h,libmng_types.h ++prefix=$(GCCSDK_INSTALL_ENV) + + # Location of jpeg header files +-JPEG_INC= /cs/include/jpeg ++JPEG_INC= $(prefix)/include + + # Location of zlib header files +-ZLIB_INC= /cs/include ++ZLIB_INC= $(prefix)/include + + # Location of lcms header files + # (switch on MNG_FULL_CMS in libmng_conf.h if you want to use this) +-LCMS_INC= /ltmp/lcms-1.06/source ++LCMS_INC= $(prefix)/include + + # compiler options: +-CFLAGS= -O -I. -I$(ZLIB_INC) -I$(JPEG_INC) -I$(LCMS_INC) ++CFLAGS= -O3 -I. -I$(ZLIB_INC) -I$(JPEG_INC) -I$(LCMS_INC) + + # source files + SOURCES= \ +@@ -59,7 +63,16 @@ + /bin/rm -f *~ core + + libmng.a: $(OBJECTS) +- ar r libmng.a $(OBJECTS) ++ $(AR) r libmng.a $(OBJECTS) ++ ++INCPATH=$(prefix)/include ++LIBPATH=$(prefix)/lib ++ ++install: libmng.a ++ -@mkdir -p $(INCPATH) $(LIBPATH) ++ cp libmng.h libmng_conf.h libmng_types.h $(INCPATH) ++ chmod 644 $(INCPATH)/libmng.h $(INCPATH)/libmng_conf.h $(INCPATH)/libmng_types.h ++ cp libmng.a $(LIBPATH) + + depend: + makedepend -- $(CFLAGS) $(IFLAGS) -- *.c diff --git a/sdk/recipes/patches/openssl/Configure.p b/sdk/recipes/patches/openssl/Configure.p new file mode 100644 index 0000000..7191fe5 --- /dev/null +++ b/sdk/recipes/patches/openssl/Configure.p @@ -0,0 +1,11 @@ +--- Configure.old 2010-12-29 02:43:14.000000000 +0000 ++++ Configure 2010-12-29 02:45:29.000000000 +0000 +@@ -412,6 +412,8 @@ + "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", + ++"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. diff --git a/sdk/recipes/patches/zlib/Makefile.in.p b/sdk/recipes/patches/zlib/Makefile.in.p new file mode 100644 index 0000000..3d0f7a3 --- /dev/null +++ b/sdk/recipes/patches/zlib/Makefile.in.p @@ -0,0 +1,12 @@ +--- Makefile.in.old 2010-12-29 00:23:58.000000000 +0000 ++++ Makefile.in 2010-12-29 00:25:00.000000000 +0000 +@@ -168,7 +168,9 @@ + -@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi + -@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi + cp $(STATICLIB) $(DESTDIR)$(libdir) ++ifneq ($(SHAREDLIBV),) + cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir) ++endif + cd $(DESTDIR)$(libdir); chmod u=rw,go=r $(STATICLIB) + -@(cd $(DESTDIR)$(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1 + -@cd $(DESTDIR)$(sharedlibdir); if test "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \ -- cgit v1.2.3