diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2015-12-03 11:46:03 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2015-12-03 16:56:48 +0100 |
commit | f250397c96dbfb7f3ea1c0a5ae1d9d1a82e1f4b2 (patch) | |
tree | f81555843257cc2d249ab660a4d6f2f386fecc4e /toolchain/newlib | |
parent | 7d455976fb819146a50a8fa0483730b16231171f (diff) |
toolchain: add newlib support
OpenADK can now build bare-metal toolchains.
Tested for ARM/MIPS. No runtime testing, yet.
Diffstat (limited to 'toolchain/newlib')
-rw-r--r-- | toolchain/newlib/Makefile | 39 | ||||
-rw-r--r-- | toolchain/newlib/Makefile.inc | 18 | ||||
-rw-r--r-- | toolchain/newlib/patches/2.2.0/disable-docs.patch | 14 | ||||
-rw-r--r-- | toolchain/newlib/patches/2.2.0/fix-tooldir.patch | 12 |
4 files changed, 83 insertions, 0 deletions
diff --git a/toolchain/newlib/Makefile b/toolchain/newlib/Makefile new file mode 100644 index 000000000..246927667 --- /dev/null +++ b/toolchain/newlib/Makefile @@ -0,0 +1,39 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(ADK_TOPDIR)/rules.mk +include ../rules.mk +include Makefile.inc +include ${ADK_TOPDIR}/mk/buildhlp.mk + +$(WRKBUILD)/.configured: + (cd $(WRKBUILD); \ + CC='' \ + CFLAGS='' \ + LDFLAGS='' \ + have_doc='' \ + ./configure --prefix=/usr \ + --target=$(GNU_TARGET_NAME) \ + --enable-newlib-io-long-long \ + --enable-newlib-register-fini \ + --disable-newlib-supplied-syscalls \ + --disable-nls \ + ) + touch $@ + +$(WRKBUILD)/.compiled: + PATH='$(HOST_PATH)' $(MAKE) -C $(WRKBUILD) \ + CC='' \ + CFLAGS='$(TARGET_CFLAGS)' \ + all + touch $@ + +$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled + PATH='$(HOST_PATH)' $(MAKE) -C $(WRKBUILD) \ + CC='' \ + CFLAGS='$(TARGET_CFLAGS)' \ + DESTDIR=$(STAGING_TARGET_DIR) \ + install + touch $@ + +include ${ADK_TOPDIR}/mk/toolchain.mk diff --git a/toolchain/newlib/Makefile.inc b/toolchain/newlib/Makefile.inc new file mode 100644 index 000000000..3809ccc98 --- /dev/null +++ b/toolchain/newlib/Makefile.inc @@ -0,0 +1,18 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +PKG_NAME:= newlib +ifeq ($(ADK_LIBC_VERSION),git) +PKG_VERSION:= git +PKG_RELEASE:= 1 +PKG_SITES:= git://sourceware.org/git/newlib-cygwin.git +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz +endif +ifeq ($(ADK_TARGET_LIB_NEWLIB_2_2_0),y) +PKG_VERSION:= 2.2.0 +PKG_RELEASE:= 1 +PKG_HASH:= c1d53fd1765d955ac513aa6e2f576455ee7507072d400314495c8a8a26ebc8ec +PKG_SITES:= ftp://sourceware.org/pub/newlib/ +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}-1.tar.gz +WRKDIST= $(WRKDIR)/${PKG_NAME}-${PKG_VERSION}-1 +endif diff --git a/toolchain/newlib/patches/2.2.0/disable-docs.patch b/toolchain/newlib/patches/2.2.0/disable-docs.patch new file mode 100644 index 000000000..3b500b61c --- /dev/null +++ b/toolchain/newlib/patches/2.2.0/disable-docs.patch @@ -0,0 +1,14 @@ +diff -Nur newlib-2.2.0-1.orig/etc/Makefile.in newlib-2.2.0-1/etc/Makefile.in +--- newlib-2.2.0-1.orig/etc/Makefile.in 2010-11-20 20:37:57.000000000 +0100 ++++ newlib-2.2.0-1/etc/Makefile.in 2015-12-03 14:23:44.043820971 +0100 +@@ -63,8 +63,8 @@ + PDFFILES = standards.pdf configure.pdf + HTMLFILES = standards.html configure.html + +-all: info +-install install-strip: install-info ++all: ++install install-strip: + + uninstall: + diff --git a/toolchain/newlib/patches/2.2.0/fix-tooldir.patch b/toolchain/newlib/patches/2.2.0/fix-tooldir.patch new file mode 100644 index 000000000..652f7494b --- /dev/null +++ b/toolchain/newlib/patches/2.2.0/fix-tooldir.patch @@ -0,0 +1,12 @@ +diff -Nur newlib-2.2.0-1.orig/configure newlib-2.2.0-1/configure +--- newlib-2.2.0-1.orig/configure 2014-07-05 23:09:07.000000000 +0200 ++++ newlib-2.2.0-1/configure 2015-11-25 06:33:11.461178398 +0100 +@@ -6985,7 +6985,7 @@ + + # Some systems (e.g., one of the i386-aix systems the gas testers are + # using) don't handle "\$" correctly, so don't use it here. +-tooldir='${exec_prefix}'/${target_noncanonical} ++tooldir='${exec_prefix}' + build_tooldir=${tooldir} + + # Create a .gdbinit file which runs the one in srcdir |