Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/3] Experimental addition of the newlib library
Date: Tue, 15 Sep 2015 22:45:29 +0200	[thread overview]
Message-ID: <20150915204528.GD3650@free.fr> (raw)
In-Reply-To: <20150913101738.238ebc06@free-electrons.com>

Thomas, Cris, All,

On 2015-09-13 10:17 +0200, Thomas Petazzoni spake thusly:
> 
> On Sun, 13 Sep 2015 03:02:46 -0400, Chris Wardman wrote:
> > This patch add support for a newlib library build of the gcc toolchain.
> > This is designed to build arm-none-eabi- toolchain, and it was tested against an stm32f4discovery board.
> > 
> > Hopefully this will help people build bare metal code for arm processors
[--SNIP--]
> > diff --git a/package/newlib/newlib.mk b/package/newlib/newlib.mk
> > new file mode 100644
> > index 0000000..02008e5
> > --- /dev/null
> > +++ b/package/newlib/newlib.mk
> > @@ -0,0 +1,48 @@
> > +################################################################################
> > +#
> > +# newlib
> > +#
> > +################################################################################
> > +
> > +NEWLIB_VERSION = 2.2.0
> > +NEWLIB_SITE = ftp://sourceware.org/pub/newlib
> > +NEWLIB_LICENSE = MIT
> > +NEWLIB_LICENSE_FILES = COPYRIGHT
> > +
> > +NEWLIB_DEPENDENCIES = host-gcc-initial
> > +NEWLIB_ADD_TOOLCHAIN_DEPENDENCY = NO
> > +NEWLIB_INSTALL_STAGING = YES
> > +
> > +define NEWLIB_CONFIGURE_CMDS
> > +	(cd $(@D); \
> > +		$(TARGET_MAKE_ENV) \
> > +		./configure \
> > +			--target=$(GNU_TARGET_NAME) \
> > +			--host=$(GNU_HOST_NAME) \
> > +			--build=$(GNU_HOST_NAME) \
> > +			--prefix=$(STAGING_DIR) \
> > +			--includedir=$(STAGING_DIR)/usr/include \
> > +			--oldincludedir=$(STAGING_DIR)/usr/include \
> > +			--with-build-sysroot=$(STAGING_DIR) \
> > +			--enable-newlib-io-long-long \
> > +			--enable-newlib-register-fini \
> > +			--disable-newlib-supplied-syscalls \
> > +			--disable-nls)
> 
> Why don't you use the autotools-package infrastructure? newlib is using
> autoconf, so I believe it does make sense to use the autotools-package
> infrastructure.

Because newlib does not interpret --build, --host and --target like the
other autotools-based packages do. newlib basically ignores --build,
considers --host as the buld machine, and --target as the host. :-/

[--SNIP--]
> > +define NEWLIB_INSTALL_STAGING_CMDS
> > +	mkdir -p $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib
> > +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
> 
> Except the mkdir, the install command is not needed if you use the
> autotools-package infrastructure.

In which case a pre-install hook can be used to do the mkdir.

But it would probably not be needed if $(GNU_TARGET_NAME) is a symlink
to "." .

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  parent reply	other threads:[~2015-09-15 20:45 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-13  7:02 [Buildroot] [PATCH 1/3] Experimental addition of the newlib library Chris Wardman
2015-09-13  7:02 ` [Buildroot] [PATCH 2/3] New entry for the Cortex-M4 processor Chris Wardman
2015-09-13  8:21   ` Thomas Petazzoni
2015-09-15 20:52     ` Yann E. MORIN
2015-09-24 21:02       ` Peter Korsgaard
2015-09-13  7:02 ` [Buildroot] [PATCH 3/3] Adding support for uclibcpp library Chris Wardman
2015-09-13 22:00   ` Thomas Petazzoni
2015-09-17  7:07     ` Cjw X
2015-09-17  7:25       ` Thomas Petazzoni
2015-09-13  8:17 ` [Buildroot] [PATCH 1/3] Experimental addition of the newlib library Thomas Petazzoni
2015-09-15  4:06   ` Cjw X
2015-09-15  7:35     ` Thomas Petazzoni
2015-09-15 17:53       ` Yann E. MORIN
2015-09-15 19:39         ` Thomas Petazzoni
2015-09-24 21:30           ` Peter Korsgaard
2015-09-25  7:30             ` Thomas Petazzoni
2015-09-27 16:40               ` Cjw X
2015-09-15 20:45   ` Yann E. MORIN [this message]
     [not found]     ` <CAOudHSVLKiTwrkv0xBNVW=ry3w1yOv4TJqP8+JMFSJRzw3dASQ@mail.gmail.com>
2015-09-16 17:07       ` Yann E. MORIN
2015-09-16 17:36   ` Cjw X
2015-09-16 17:38     ` Thomas Petazzoni
2015-09-15 20:41 ` Yann E. MORIN
2015-09-17  7:41   ` Cjw X

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150915204528.GD3650@free.fr \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox