summaryrefslogtreecommitdiff
path: root/sdk
diff options
context:
space:
mode:
Diffstat (limited to 'sdk')
-rw-r--r--sdk/Makefile166
-rw-r--r--sdk/recipes/patches/libcurl/lib.easy.c.p27
-rw-r--r--sdk/recipes/patches/libcurl/src.main.c.p13
-rw-r--r--sdk/recipes/patches/libmng/makefile.unix.p50
-rw-r--r--sdk/recipes/patches/openssl/Configure.p11
-rw-r--r--sdk/recipes/patches/zlib/Makefile.in.p12
6 files changed, 279 insertions, 0 deletions
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 <proto/dos.h>
++#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 \