summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
Diffstat (limited to 'package')
-rw-r--r--package/cacaovm/Makefile50
-rw-r--r--package/cacaovm/patches/patch-src_cacaoh_headers_c14
-rw-r--r--package/cacaovm/patches/patch-src_threads_posix_thread-posix_h14
-rw-r--r--package/cairo/Makefile1
-rw-r--r--package/classpath/patches/patch-configure11
-rw-r--r--package/gettext/Makefile14
-rw-r--r--package/libgcj/Makefile27
-rw-r--r--package/openjdk/Makefile20
-rw-r--r--package/openjdk/patches/disable-gamma.patch16
-rw-r--r--package/openjdk/patches/disable-sizers.patch14
-rw-r--r--package/pcc-libs/Makefile29
-rw-r--r--package/pcc-libs/patches/100-adk.patch12
-rw-r--r--package/pcc-libs/patches/patch-csu_linux_crtbegin_c35
-rw-r--r--package/pcc-libs/patches/patch-csu_linux_crtend_c32
-rw-r--r--package/pcc/Makefile46
-rw-r--r--package/pcc/patches/100-adk.patch23
-rw-r--r--package/pcc/patches/200-cc_ccom_Makefile_in.patch33
-rw-r--r--package/pcc/patches/999-autoconf.patch38
18 files changed, 314 insertions, 115 deletions
diff --git a/package/cacaovm/Makefile b/package/cacaovm/Makefile
deleted file mode 100644
index 1d85a420a..000000000
--- a/package/cacaovm/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:= cacaovm
-PKG_VERSION:= 0.99.4
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 63220327925ace13756ae334c55a3baa
-PKG_DESCR:= Java VM
-PKG_SECTION:= lang
-PKG_BUILDDEP:= classpath zlib
-PKG_DEPENDS:= classpath zlib
-PKG_URL:= http://www.cacaovm.org/
-PKG_SITES:= http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-0.99.4/
-
-WRKDIST= ${WRKDIR}/cacao-${PKG_VERSION}
-DISTFILES:= cacao-${PKG_VERSION}.tar.bz2
-
-include $(TOPDIR)/mk/package.mk
-
-$(eval $(call PKG_template,CACAOVM,cacaovm,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-CONFIGURE_ARGS+= --with-jni_md_h=${STAGING_TARGET_DIR}/usr/include \
- --with-java-runtime-library-prefix=${STAGING_TARGET_DIR}/usr \
- --with-cacaoh=${STAGING_TARGET_DIR}/bin/cacaoh
-
-post-patch:
- (cd ${WRKBUILD}; ./configure \
- --enable-jit \
- --with-java-runtime-library-prefix=/opt/local \
- --enable-gc=none \
- );
- $(MAKE) -C ${WRKBUILD}/src/vmcore
- $(MAKE) -C ${WRKBUILD}/src/toolbox
- $(MAKE) -C ${WRKBUILD}/src/cacaoh
- $(CP) $(WRKBUILD)/src/cacaoh/cacaoh $(STAGING_TARGET_DIR)/bin
- $(MAKE) -C ${WRKBUILD} clean
-
-cacaovm-install:
- $(INSTALL_DIR) $(IDIR_CACAOVM)/usr/lib
- $(CP) $(WRKINST)/usr/lib/libjvm.so $(IDIR_CACAOVM)/usr/lib
- $(INSTALL_DIR) $(IDIR_CACAOVM)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/cacao $(IDIR_CACAOVM)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/java $(IDIR_CACAOVM)/usr/bin
- $(INSTALL_DIR) $(IDIR_CACAOVM)/usr/share/cacao
- $(CP) $(WRKINST)/usr/share/cacao/vm.zip \
- $(IDIR_CACAOVM)/usr/share/cacao
-
-include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/cacaovm/patches/patch-src_cacaoh_headers_c b/package/cacaovm/patches/patch-src_cacaoh_headers_c
deleted file mode 100644
index 0e1ca0923..000000000
--- a/package/cacaovm/patches/patch-src_cacaoh_headers_c
+++ /dev/null
@@ -1,14 +0,0 @@
---- cacao-0.99.4.orig/src/cacaoh/headers.c 2008-08-04 18:51:28.000000000 +0200
-+++ cacao-0.99.4/src/cacaoh/headers.c 2011-03-26 20:11:11.000000000 +0100
-@@ -35,8 +35,10 @@
- #if defined(ENABLE_THREADS)
- # if defined(__DARWIN__)
- # include <signal.h>
-+# include <sys/ucontext.h>
-+# else
-+# include <ucontext.h>
- # endif
--# include <ucontext.h>
- #endif
-
- #include "mm/gc-common.h"
diff --git a/package/cacaovm/patches/patch-src_threads_posix_thread-posix_h b/package/cacaovm/patches/patch-src_threads_posix_thread-posix_h
deleted file mode 100644
index fc43526fb..000000000
--- a/package/cacaovm/patches/patch-src_threads_posix_thread-posix_h
+++ /dev/null
@@ -1,14 +0,0 @@
---- cacao-0.99.4.orig/src/threads/posix/thread-posix.h 2008-08-04 18:51:28.000000000 +0200
-+++ cacao-0.99.4/src/threads/posix/thread-posix.h 2011-03-26 20:12:13.000000000 +0100
-@@ -34,7 +34,11 @@ typedef struct threadobject threadobject
- #include "config.h"
-
- #include <pthread.h>
-+#if defined(__DARWIN__)
-+#include <sys/ucontext.h>
-+#else
- #include <ucontext.h>
-+#endif
-
- #include "vm/types.h"
-
diff --git a/package/cairo/Makefile b/package/cairo/Makefile
index d1a384ad2..1218e6493 100644
--- a/package/cairo/Makefile
+++ b/package/cairo/Makefile
@@ -29,6 +29,7 @@ $(eval $(call PKG_template,CAIRO_DEV,cairo-dev,${PKG_VERSION}-${PKG_RELEASE},${P
TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
CONFIGURE_ARGS+= --enable-ft=yes \
+ --enable-tee=yes \
--enable-xlib=yes
cairo-install:
diff --git a/package/classpath/patches/patch-configure b/package/classpath/patches/patch-configure
new file mode 100644
index 000000000..df2f41eae
--- /dev/null
+++ b/package/classpath/patches/patch-configure
@@ -0,0 +1,11 @@
+--- classpath-0.98.orig/configure 2009-02-06 02:01:30.000000000 +0100
++++ classpath-0.98/configure 2011-04-11 17:08:29.347661221 +0200
+@@ -30403,7 +30403,7 @@ fi
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_gmp___gmpz_mul_si" >&5
+ $as_echo "$ac_cv_lib_gmp___gmpz_mul_si" >&6; }
+ if test "x$ac_cv_lib_gmp___gmpz_mul_si" = x""yes; then
+- GMP_CFLAGS=-I/usr/include
++ GMP_CFLAGS=
+ GMP_LIBS=-lgmp
+ else
+ GMP_CFLAGS=
diff --git a/package/gettext/Makefile b/package/gettext/Makefile
index 665115d06..14d502958 100644
--- a/package/gettext/Makefile
+++ b/package/gettext/Makefile
@@ -52,24 +52,24 @@ CONFIGURE_ENV+= nls_cv_use_gnu_gettext=yes \
INSTALL_STYLE:= manual
-libintl-install:
+post-build:
+ ${INSTALL_DIR} ${STAGING_DIR}/usr/include ${STAGING_DIR}/usr/lib
+ $(CP) $(WRKBUILD)/gettext-runtime/intl/libintl.h ${STAGING_DIR}/usr/include
+ ${CP} ${WRKBUILD}/gettext-runtime/intl/.libs/libintl.so* \
+ ${STAGING_DIR}/usr/lib
+
+post-install:
${INSTALL_DIR} ${IDIR_LIBINTL}/usr/lib
${CP} ${WRKBUILD}/gettext-runtime/intl/.libs/libintl.so* \
${IDIR_LIBINTL}/usr/lib
-
-libintl-dev-install:
${INSTALL_DIR} ${IDIR_LIBINTL_DEV}/usr/include
${INSTALL_DATA} ${WRKBUILD}/gettext-runtime/intl/libintl.h \
${IDIR_LIBINTL_DEV}/usr/include
-
-gettext-install:
${INSTALL_DIR} ${IDIR_GETTEXT}/usr/bin
$(INSTALL_BIN) $(WRKBUILD)/gettext-tools/src/.libs/xgettext \
$(IDIR_GETTEXT)/usr/bin
$(INSTALL_BIN) $(WRKBUILD)/gettext-runtime/src/.libs/gettext \
$(IDIR_GETTEXT)/usr/bin
-
-msgfmt-install:
${INSTALL_DIR} ${IDIR_MSGFMT}/usr/bin
${INSTALL_DIR} ${IDIR_MSGFMT}/usr/lib
${CP} ${WRKBUILD}/gettext-tools/libgettextpo/.libs/libgettextpo.so* \
diff --git a/package/libgcj/Makefile b/package/libgcj/Makefile
deleted file mode 100644
index 7be43c3e1..000000000
--- a/package/libgcj/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include ${TOPDIR}/rules.mk
-include ${TOPDIR}/toolchain/gcc/Makefile.inc
-
-PKG_NAME:= libgcj
-PKG_DESCR:= GCJ runtime library
-PKG_SECTION:= libs
-
-NO_DISTFILES:= 1
-
-include ${TOPDIR}/mk/package.mk
-
-$(eval $(call PKG_template,LIBGCJ,libgcj,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-
-CONFIG_STYLE:= manual
-BUILD_STYLE:= manual
-INSTALL_STYLE:= manual
-
-libgcj-install:
-ifeq ($(ADK_NATIVE),)
- ${INSTALL_DIR} ${IDIR_LIBGCJ}/lib
- ${CP} ${STAGING_TARGET_DIR}/lib/libgcj*.so* ${IDIR_LIBGCJ}/lib
-endif
-
-include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/openjdk/Makefile b/package/openjdk/Makefile
index e9cdfd12f..fbb0def7f 100644
--- a/package/openjdk/Makefile
+++ b/package/openjdk/Makefile
@@ -17,7 +17,7 @@ PKG_DESCR:= OpenJDK Java VM
PKG_SECTION:= lang
PKG_BUILDDEP:= alsa-lib xproto jpeg zlib giflib libpng freetype cups
PKG_BUILDDEP+= libX11 libXt libXp libXinerama libXrender libXtst
-PKG_DEPENDS:= zlib libstdcxx libffi
+PKG_DEPENDS:= zlib libstdcxx libffi libpthread
PKG_URL:= http://openjdk.org/
PKG_SITES:= http://download.java.net/openjdk/jdk6/promoted/b22/ \
http://mirror.netcologne.de/apache.org/xml/xalan-j/binaries/ \
@@ -93,7 +93,7 @@ MAKE_ENV+= ALT_COMPILER_PATH=$(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME) \
TARGET_ALIAS=$(GNU_TARGET_NAME) BUILD_ALIAS=$(GNU_HOST_NAME) HOST_ALIAS=$(GNU_TARGET_NAME)
OPENJDK_NATIVE_ENV+= ALT_COMPILER_PATH=$(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME) \
- GCC_HONOUR_COPTS=s \
+ GCC_HONOUR_COPTS=s CROSS_COMPILE_ARCH=$(ARCH) \
TARGET_ALIAS=$(GNU_TARGET_NAME) BUILD_ALIAS=$(GNU_HOST_NAME) HOST_ALIAS=$(GNU_TARGET_NAME)
ALL_TARGET:= icedtea
@@ -131,12 +131,26 @@ pre-configure:
--with-rmic=$(BOOTSTRAPJDK)/bin/rmic \
--with-native2ascii=$(BOOTSTRAPJDK)/bin/native2ascii \
--without-rhino ;\
+ mkdir -p $(WRKBUILD)/generated/sun/awt/X11/generator/ ; \
+ cp $(JTOOLS_BUILD_DIR)/icedtea6-1.10/generated/sun/awt/X11/generator/sizes.32 \
+ $(WRKBUILD)/generated/sun/awt/X11/generator/sizes.32 ; \
+ cp $(JTOOLS_BUILD_DIR)/icedtea6-1.10/generated/sun/awt/X11/generator/sizer.32 \
+ $(WRKBUILD)/generated/sun/awt/X11/generator/sizer.32 ; \
+ cp $(JTOOLS_BUILD_DIR)/icedtea6-1.10/generated/sun/awt/X11/generator/sizer.32 \
+ $(WRKBUILD)/openjdk.build/gensrc/sun/awt/X11/generator/sizer.32 ; \
$(MAKE) icedtea-ecj
- # fixup symlinks to bootstrapjdk
+ # fixup symlinks to bootstrap jdk
ln -sf $(BOOTSTRAPJDK)/bin/java $(WRKBUILD)/openjdk.build-ecj/j2sdk-image/bin/java
ln -sf $(BOOTSTRAPJDK)/bin/javac $(WRKBUILD)/openjdk.build-ecj/j2sdk-image/bin/javac
ln -sf $(BOOTSTRAPJDK)/bin/javah $(WRKBUILD)/openjdk.build-ecj/j2sdk-image/bin/javah
ln -sf $(BOOTSTRAPJDK)/bin/jar $(WRKBUILD)/openjdk.build-ecj/j2sdk-image/bin/jar
+ cp $(JTOOLS_BUILD_DIR)/icedtea6-1.10/generated/sun/awt/X11/generator/sizes.32 \
+ $(WRKBUILD)/generated/sun/awt/X11/generator/sizes.32
+ cp $(JTOOLS_BUILD_DIR)/icedtea6-1.10/generated/sun/awt/X11/generator/sizer.32 \
+ $(WRKBUILD)/generated/sun/awt/X11/generator/sizer.32
+ mkdir -p $(WRKBUILD)/openjdk.build/gensrc/sun/awt/X11/generator
+ cp $(JTOOLS_BUILD_DIR)/icedtea6-1.10/generated/sun/awt/X11/generator/sizer.32 \
+ $(WRKBUILD)/openjdk.build/gensrc/sun/awt/X11/generator/sizer.32
openjdk-install:
$(INSTALL_DIR) $(IDIR_OPENJDK)/usr
diff --git a/package/openjdk/patches/disable-gamma.patch b/package/openjdk/patches/disable-gamma.patch
new file mode 100644
index 000000000..92a80b3be
--- /dev/null
+++ b/package/openjdk/patches/disable-gamma.patch
@@ -0,0 +1,16 @@
+--- w-openjdk-6-1.orig/openjdk-6/hotspot/make/linux/makefiles/buildtree.make 2011-02-28 17:03:13.000000000 +0100
++++ w-openjdk-6-1/openjdk-6/hotspot/make/linux/makefiles/buildtree.make 2011-04-11 12:47:31.000000000 +0200
+@@ -352,12 +352,8 @@
+ echo "if [ -z \$$JAVA_HOME ]; then { $(NO_JAVA_HOME_MSG); exit 0; }; fi"; \
+ echo "if ! \$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion 2>&1 > /dev/null"; \
+ echo "then"; \
+- echo " $(WRONG_DATA_MODE_MSG); exit 0;"; \
++ echo " exit 0;"; \
+ echo "fi"; \
+- echo "rm -f Queens.class"; \
+- echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
+- echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
+- echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
+ ) > $@
+ $(QUIETLY) chmod +x $@
+
diff --git a/package/openjdk/patches/disable-sizers.patch b/package/openjdk/patches/disable-sizers.patch
new file mode 100644
index 000000000..b80ee0e69
--- /dev/null
+++ b/package/openjdk/patches/disable-sizers.patch
@@ -0,0 +1,14 @@
+diff -Nur w-openjdk-6.orig//openjdk-6/jdk/make/sun/xawt/Makefile w-openjdk-6/openjdk-6/jdk/make/sun/xawt/Makefile
+--- w-openjdk-6.orig//openjdk-6/jdk/make/sun/xawt/Makefile 2011-02-28 17:06:12.000000000 +0100
++++ w-openjdk-6/openjdk-6/jdk/make/sun/xawt/Makefile 2011-04-11 19:50:34.000000000 +0200
+@@ -237,7 +237,9 @@
+ $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
+ $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
+
+-$(SIZES): $(SIZERS)
++#$(SIZES): $(SIZERS)
++$(SIZES):
++ @$(prep-target)
+ @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
+ $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
+ $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
diff --git a/package/pcc-libs/Makefile b/package/pcc-libs/Makefile
new file mode 100644
index 000000000..9533b97c9
--- /dev/null
+++ b/package/pcc-libs/Makefile
@@ -0,0 +1,29 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= pcc-libs
+PKG_VERSION:= 1.0.0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= a8dfcd6d3be512bc3f16f96c9abf132e
+PKG_DESCR:= Runtime for the Portable C Compiler
+PKG_SECTION:= lang
+PKG_URL:= http://pcc.ludd.ltu.se/
+PKG_SITES:= http://pcc.ludd.ltu.se/ftp/pub/pcc-releases/
+
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,PCC_LIBS,pcc-libs,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+# we cross-compile a native compiler for the target system
+CONFIGURE_ARGS+= --host=${REAL_GNU_TARGET_NAME}
+CONFIGURE_ARGS+= --target=${REAL_GNU_TARGET_NAME}
+
+pcc-libs-install:
+ $(INSTALL_DIR) $(IDIR_PCC_LIBS)/usr/bin
+ cd ${WRKINST} && cp -r * ${IDIR_PCC_LIBS}/
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/pcc-libs/patches/100-adk.patch b/package/pcc-libs/patches/100-adk.patch
new file mode 100644
index 000000000..a588900d9
--- /dev/null
+++ b/package/pcc-libs/patches/100-adk.patch
@@ -0,0 +1,12 @@
+diff -pur pcc-libs-1.0.0~/csu/linux/Makefile pcc-libs-1.0.0/csu/linux/Makefile
+--- pcc-libs-1.0.0.orig/csu/linux/Makefile 2009-08-13 11:16:46.000000000 +0200
++++ pcc-libs-1.0.0/csu/linux/Makefile 2011-04-07 20:36:10.068600370 +0200
+@@ -4,7 +4,7 @@ VERSION ?= 0.9.9
+ PCCLIBDIR ?= /usr/local/lib/pcc/$(TARGET)/$(VERSION)/lib
+ SRCDIR ?= .
+
+-CFLAGS = -I$(SRCDIR)/$(MACH) -I$(SRCDIR) -Wall -Wstrict-prototypes -Wmissing-prototypes
++CFLAGS += -I$(SRCDIR)/$(MACH) -I$(SRCDIR) -Wall -Wstrict-prototypes -Wmissing-prototypes
+
+ OBJS = crt0.o crt1.o gcrt1.o crti.o crtn.o crtbegin.o crtend.o
+
diff --git a/package/pcc-libs/patches/patch-csu_linux_crtbegin_c b/package/pcc-libs/patches/patch-csu_linux_crtbegin_c
new file mode 100644
index 000000000..a4f9777b3
--- /dev/null
+++ b/package/pcc-libs/patches/patch-csu_linux_crtbegin_c
@@ -0,0 +1,35 @@
+--- pcc-libs-1.0.0.orig/csu/linux/crtbegin.c 2009-08-17 01:07:07.000000000 +0200
++++ pcc-libs-1.0.0/csu/linux/crtbegin.c 2011-04-12 08:36:48.951412645 +0200
+@@ -1,4 +1,4 @@
+-/* $Id: crtbegin.c,v 1.6 2009/08/16 23:07:07 gmcgarry Exp $ */
++/* $Id: crtbegin.c,v 1.7 2011/04/12 04:44:19 gmcgarry Exp $ */
+ /*-
+ * Copyright (c) 1998, 2001, 2002 The NetBSD Foundation, Inc.
+ * All rights reserved.
+@@ -40,16 +40,16 @@ void __do_global_dtors_aux(void);
+ extern void (*__CTOR_LIST__[1])(void);
+ extern void (*__DTOR_LIST__[1])(void);
+
+-asm( " .section .ctors\n"
+- " .align 2\n"
++asm( " .section .ctors,\"aw\",@progbits\n"
++ " .align 4\n"
+ "__CTOR_LIST__:\n"
+ #ifdef __x86_64__
+ " .quad -1\n"
+ #else
+ " .long -1\n"
+ #endif
+- " .section .dtors\n"
+- " .align 2\n"
++ " .section .dtors,\"aw\",@progbits\n"
++ " .align 4\n"
+ "__DTOR_LIST__:\n"
+ #ifdef __x86_64__
+ " .quad -1\n"
+@@ -120,4 +120,4 @@ void __call_##func(void) \
+ MD_CALL_STATIC_FUNCTION(.init, __do_global_ctors_aux)
+ MD_CALL_STATIC_FUNCTION(.fini, __do_global_dtors_aux)
+
+-IDENT("$Id: crtbegin.c,v 1.6 2009/08/16 23:07:07 gmcgarry Exp $");
++IDENT("$Id: crtbegin.c,v 1.7 2011/04/12 04:44:19 gmcgarry Exp $");
diff --git a/package/pcc-libs/patches/patch-csu_linux_crtend_c b/package/pcc-libs/patches/patch-csu_linux_crtend_c
new file mode 100644
index 000000000..257f7138f
--- /dev/null
+++ b/package/pcc-libs/patches/patch-csu_linux_crtend_c
@@ -0,0 +1,32 @@
+--- pcc-libs-1.0.0.orig/csu/linux/crtend.c 2009-08-17 01:07:07.000000000 +0200
++++ pcc-libs-1.0.0/csu/linux/crtend.c 2011-04-12 08:36:48.951412645 +0200
+@@ -1,4 +1,4 @@
+-/* $Id: crtend.c,v 1.3 2009/08/16 23:07:07 gmcgarry Exp $ */
++/* $Id: crtend.c,v 1.4 2011/04/12 04:44:19 gmcgarry Exp $ */
+ /*-
+ * Copyright (c) 2008 Gregory McGarry <g.mcgarry@ieee.org>
+ *
+@@ -17,7 +17,7 @@
+
+ #include "common.h"
+
+-asm( " .section .ctors\n"
++asm( " .section .ctors,\"aw\",@progbits\n"
+ #ifdef __x86_64__
+ " .quad 0\n"
+ #else
+@@ -25,7 +25,7 @@ asm( " .section .ctors\n"
+ #endif
+ );
+
+-asm( " .section .dtors\n"
++asm( " .section .dtors,\"aw\",@progbits\n"
+ #ifdef __x86_64__
+ " .quad 0\n"
+ #else
+@@ -33,4 +33,4 @@ asm( " .section .dtors\n"
+ #endif
+ );
+
+-IDENT("$Id: crtend.c,v 1.3 2009/08/16 23:07:07 gmcgarry Exp $");
++IDENT("$Id: crtend.c,v 1.4 2011/04/12 04:44:19 gmcgarry Exp $");
diff --git a/package/pcc/Makefile b/package/pcc/Makefile
new file mode 100644
index 000000000..a20d3dece
--- /dev/null
+++ b/package/pcc/Makefile
@@ -0,0 +1,46 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= pcc
+PKG_VERSION:= 1.0.0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 6e5d851ee57fe58702fe4e80ecd1f852
+PKG_DESCR:= Portable C Compiler
+PKG_SECTION:= lang
+PKG_DEPENDS:= pcc-libs
+# binutils
+PKG_URL:= http://pcc.ludd.ltu.se/
+PKG_SITES:= http://pcc.ludd.ltu.se/ftp/pub/pcc-releases/
+PKG_NOPARALLEL:= 1
+
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,PCC,pcc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+# we cross-compile a native compiler for the target system
+CONFIGURE_ARGS+= --host=${REAL_GNU_TARGET_NAME}
+CONFIGURE_ARGS+= --target=${REAL_GNU_TARGET_NAME}
+CONFIGURE_ARGS+= --with-assembler=/usr/bin/as
+CONFIGURE_ARGS+= --with-linker=/usr/bin/ld
+
+ifeq ($(ADK_TARGET_LIB_GLIBC),y)
+TARGET_CPPFLAGS+= -DADK_FOR_GLIBC
+else
+ifeq ($(ADK_TARGET_LIB_EGLIBC),y)
+TARGET_CPPFLAGS+= -DADK_FOR_GLIBC
+else
+ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
+TARGET_CPPFLAGS+= -DADK_FOR_UCLIBC
+endif
+endif
+endif
+
+pcc-install:
+ $(INSTALL_DIR) $(IDIR_PCC)
+ cd ${WRKINST} && cp -r * ${IDIR_PCC}/
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/pcc/patches/100-adk.patch b/package/pcc/patches/100-adk.patch
new file mode 100644
index 000000000..fe2143dd8
--- /dev/null
+++ b/package/pcc/patches/100-adk.patch
@@ -0,0 +1,23 @@
+Index: os/linux/ccconfig.h
+===================================================================
+RCS file: /cvsroot/pcc/os/linux/ccconfig.h,v
+retrieving revision 1.19
+diff -u -p -r1.19 ccconfig.h
+--- a/os/linux/ccconfig.h 9 Nov 2010 08:40:50 -0000 1.19
++++ b/os/linux/ccconfig.h 2 Apr 2011 14:19:17 -0000
+@@ -67,6 +67,15 @@
+ #error defines for arch missing
+ #endif
+
++#ifdef ADK_FOR_UCLIBC
++#undef DYNLINKER
++#define DYNLINKER { "-dynamic-linker", "/lib/ld-uClibc.so.0", NULL }
++#elif defined(ADK_FOR_GLIBC)
++/* see above */
++#else
++#error What now?
++#endif
++
+ #ifndef LIBDIR
+ #define LIBDIR "/usr/lib/"
+ #endif
diff --git a/package/pcc/patches/200-cc_ccom_Makefile_in.patch b/package/pcc/patches/200-cc_ccom_Makefile_in.patch
new file mode 100644
index 000000000..31e051edd
--- /dev/null
+++ b/package/pcc/patches/200-cc_ccom_Makefile_in.patch
@@ -0,0 +1,33 @@
+$MirOS: ports/lang/pcc/patches/patch-cc_ccom_Makefile_in,v 1.4 2011/04/02 17:45:46 tg Exp $
+
+ • fix missing @CPPFLAGS@
+ • fix cross-compiling
+
+--- a/cc/ccom/Makefile.in.orig Sun Apr 11 15:00:40 2010
++++ b/cc/ccom/Makefile.in Sat Apr 2 17:43:44 2011
+@@ -11,9 +11,14 @@ XFL=-DPCC_DEBUG
+ CC = @CC@
+ EXEEXT = @EXEEXT@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
++CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
++CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ -D_ISOC99_SOURCE \
++ @ADD_CPPFLAGS@ ${XFL} -Dos_${TARGOS} -Dmach_${TARGMACH} \
++ -I${srcdir} -I${builddir} -I${top_builddir} -I${MIPDIR} -I${MDIR} \
++ -I${top_srcdir}/os/${TARGOS}
+ _CFLAGS = @CFLAGS@
+ CFLAGS = $(_CFLAGS) @ADD_CFLAGS@
+-CPPFLAGS = @ADD_CPPFLAGS@ ${XFL} -Dos_${TARGOS} -Dmach_${TARGMACH} \
++CPPFLAGS = @CPPFLAGS@ @ADD_CPPFLAGS@ ${XFL} -Dos_${TARGOS} -Dmach_${TARGMACH} \
+ -D_ISOC99_SOURCE \
+ -I${srcdir} -I${builddir} -I${top_builddir} -I${MIPDIR} -I${MDIR} \
+ -I${top_srcdir}/os/${TARGOS}
+@@ -92,7 +97,8 @@ compat.o: $(MIPDIR)/compat.c external.h
+ $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) -c -o $@ $(MIPDIR)/compat.c
+
+ external.h external.c: ${MIPDIR}/mkext.c $(MDIR)/table.c
+- $(CC_FOR_BUILD) $(DEFS) $(CPPFLAGS) $(CFLAGS) -DMKEXT -o mkext \
++ $(CC_FOR_BUILD) $(DEFS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) \
++ -DMKEXT -o mkext \
+ ${MIPDIR}/mkext.c $(MDIR)/table.c ${MIPDIR}/common.c
+ ./mkext
+
diff --git a/package/pcc/patches/999-autoconf.patch b/package/pcc/patches/999-autoconf.patch
new file mode 100644
index 000000000..531b5291b
--- /dev/null
+++ b/package/pcc/patches/999-autoconf.patch
@@ -0,0 +1,38 @@
+--- a/configure Fri Apr 1 13:58:07 2011
++++ b/configure Sat Apr 2 19:21:15 2011
+@@ -672,6 +672,8 @@ ac_ct_CC
+ EXEEXT
+ OBJEXT
+ CC_FOR_BUILD
++CPPFLAGS_FOR_BUILD
++CFLAGS_FOR_BUILD
+ CPP
+ GREP
+ EGREP
+@@ -3292,6 +3294,8 @@ else
+ echo "${ECHO_T}not cross compiling" >&6; }
+ CC_FOR_BUILD=${CC-cc}
+
++ test -n "$CPPFLAGS_FOR_BUILD" || CPPFLAGS_FOR_BUILD=$CPPFLAGS
++ test -n "$CFLAGS_FOR_BUILD" || CFLAGS_FOR_BUILD=$CFLAGS
+ fi
+
+
+@@ -5765,6 +5769,8 @@ ac_ct_CC!$ac_ct_CC$ac_delim
+ EXEEXT!$EXEEXT$ac_delim
+ OBJEXT!$OBJEXT$ac_delim
+ CC_FOR_BUILD!$CC_FOR_BUILD$ac_delim
++CPPFLAGS_FOR_BUILD!$CPPFLAGS_FOR_BUILD$ac_delim
++CFLAGS_FOR_BUILD!$CFLAGS_FOR_BUILD$ac_delim
+ CPP!$CPP$ac_delim
+ GREP!$GREP$ac_delim
+ EGREP!$EGREP$ac_delim
+@@ -5787,7 +5793,7 @@ LIBOBJS!$LIBOBJS$ac_delim
+ LTLIBOBJS!$LTLIBOBJS$ac_delim
+ _ACEOF
+
+- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 78; then
++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 80; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5