Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [patch] sysroot support in toolchain, use correct pathes in staging_dir
@ 2007-04-10 10:39 Bernhard Fischer
  2007-04-10 11:23 ` Heikki Lindholm
  2007-05-15 11:43 ` Bernhard Fischer
  0 siblings, 2 replies; 5+ messages in thread
From: Bernhard Fischer @ 2007-04-10 10:39 UTC (permalink / raw)
  To: buildroot

Hi,

This is a heads-up that i mean to correct the pathes to includes and
libs in the staging dir as suggested in bug 
http://busybox.net/bugs/view.php?id=1290
Doing so is ment to ease moving the staging-dir (and it's
cross-compiler) to a different machine for re-use.

The theory of operation is that we aim to keep the positions of "normal"
desktop machines for the directory layout and also build the toolchain
with full sysroot-support to avoid trouble with hardcoded search pathes
to headers and libraries.

A preliminary incarnation which only takes care of gcc-4.x is here:

http://uclibc.org/~aldot/buildroot.mine.cow.20070406-1957.diff.bz2
(134688 Bytes)
diffstat:
 toolchain/sstrip/sstrip.mk                             |   10 
 toolchain/binutils/binutils.mk                         |   38 
 toolchain/gcc/gcc-uclibc-3.x.mk                        |    6 
 toolchain/gcc/gcc-uclibc-4.x.mk                        |  451 
 toolchain/uClibc/uclibc.mk                             |   65 
 Config.in                                              |   27 
 package/ncurses/ncurses.mk                             |   38 
 package/openssh/openssh.mk                             |   10 
 package/openssl/openssl.mk                             |   55 
 package/m4/m4.mk                                       |   11 
 package/mpfr/mpfr.mk                                   |   47 
 package/ltrace/ltrace-svn-20070406.01.autoreconf.patch | 5948 +++++
 package/ltrace/ltrace.mk                               |   37 
 package/ltrace/ltrace-svn-20070406.00.patch            |19000 +++++++++++++++++
 package/Makefile.in                                    |   54 
 package/zlib/zlib.mk                                   |   56 
 package/gmp/gmp.mk                                     |   49 
 Makefile                                               |    7 
 18 files changed, 25681 insertions(+), 228 deletions(-)

The ltrace patch is not strictly related to the patch but i had to
pickup the latest version of it locally, fwiw.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [patch] sysroot support in toolchain, use correct pathes in staging_dir
  2007-04-10 10:39 [Buildroot] [patch] sysroot support in toolchain, use correct pathes in staging_dir Bernhard Fischer
@ 2007-04-10 11:23 ` Heikki Lindholm
  2007-04-10 12:08   ` Bernhard Fischer
  2007-05-15 11:43 ` Bernhard Fischer
  1 sibling, 1 reply; 5+ messages in thread
From: Heikki Lindholm @ 2007-04-10 11:23 UTC (permalink / raw)
  To: buildroot

Bernhard Fischer kirjoitti:
> Hi,
> 
> This is a heads-up that i mean to correct the pathes to includes and
> libs in the staging dir as suggested in bug 
> http://busybox.net/bugs/view.php?id=1290
> Doing so is ment to ease moving the staging-dir (and it's
> cross-compiler) to a different machine for re-use.

What was the original purpose of putting all headers under /include anyway?

-- Heikki Lindholm

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [patch] sysroot support in toolchain, use correct pathes in staging_dir
  2007-04-10 11:23 ` Heikki Lindholm
@ 2007-04-10 12:08   ` Bernhard Fischer
  0 siblings, 0 replies; 5+ messages in thread
From: Bernhard Fischer @ 2007-04-10 12:08 UTC (permalink / raw)
  To: buildroot

On Tue, Apr 10, 2007 at 02:23:57PM +0300, Heikki Lindholm wrote:
>Bernhard Fischer kirjoitti:
>>Hi,
>>
>>This is a heads-up that i mean to correct the pathes to includes and
>>libs in the staging dir as suggested in bug 
>>http://busybox.net/bugs/view.php?id=1290
>>Doing so is ment to ease moving the staging-dir (and it's
>>cross-compiler) to a different machine for re-use.
>
>What was the original purpose of putting all headers under /include anyway?

I don't know. Could be that the intention was to keep the cross-compiler
dir hierarchy as flat as possible. The fact that usr/lib is symlinked to
lib would also hint at that, so initially there was, perhaps, only
packages being installed into /

We would have to ask eric, but i don't see any benefit at all for this
layout of the staging dir.

Folks that want to do away with /usr on their targets can easily symlink
/usr/* down to ../ if they feel like, but that proposed patch doesn't
touch the target layout much (IIRC).

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [patch] sysroot support in toolchain, use correct pathes in staging_dir
  2007-04-10 10:39 [Buildroot] [patch] sysroot support in toolchain, use correct pathes in staging_dir Bernhard Fischer
  2007-04-10 11:23 ` Heikki Lindholm
@ 2007-05-15 11:43 ` Bernhard Fischer
  2007-06-20 11:36   ` Bernhard Fischer
  1 sibling, 1 reply; 5+ messages in thread
From: Bernhard Fischer @ 2007-05-15 11:43 UTC (permalink / raw)
  To: buildroot

On Tue, Apr 10, 2007 at 12:39:01PM +0200, Bernhard Fischer wrote:
>Hi,
>
>This is a heads-up that i mean to correct the pathes to includes and
>libs in the staging dir as suggested in bug 
>http://busybox.net/bugs/view.php?id=1290
>Doing so is ment to ease moving the staging-dir (and it's
>cross-compiler) to a different machine for re-use.
>
>The theory of operation is that we aim to keep the positions of "normal"
>desktop machines for the directory layout and also build the toolchain
>with full sysroot-support to avoid trouble with hardcoded search pathes
>to headers and libraries.
>
>A preliminary incarnation which only takes care of gcc-4.x is here:
>
>http://uclibc.org/~aldot/buildroot.mine.cow.20070406-1957.diff.bz2
>(134688 Bytes)

updated patch is here:
http://uclibc.org/~aldot/buildroot.mine.cow.20070515-1321.diff.bz2

I converted a few more packages to install their files into the proper
place.
gcc-3.x support is (still) not done, 4.x works fine. Anyone willing to
fix gcc-3.x?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [patch] sysroot support in toolchain, use correct pathes in staging_dir
  2007-05-15 11:43 ` Bernhard Fischer
@ 2007-06-20 11:36   ` Bernhard Fischer
  0 siblings, 0 replies; 5+ messages in thread
From: Bernhard Fischer @ 2007-06-20 11:36 UTC (permalink / raw)
  To: buildroot

On Tue, May 15, 2007 at 01:43:35PM +0200, Bernhard Fischer wrote:
>On Tue, Apr 10, 2007 at 12:39:01PM +0200, Bernhard Fischer wrote:
>>Hi,
>>
>>This is a heads-up that i mean to correct the pathes to includes and
>>libs in the staging dir as suggested in bug 
>>http://busybox.net/bugs/view.php?id=1290
>>Doing so is ment to ease moving the staging-dir (and it's
>>cross-compiler) to a different machine for re-use.
>>
>>The theory of operation is that we aim to keep the positions of "normal"
>>desktop machines for the directory layout and also build the toolchain
>>with full sysroot-support to avoid trouble with hardcoded search pathes
>>to headers and libraries.
>>
>>A preliminary incarnation which only takes care of gcc-4.x is here:
>>
>>http://uclibc.org/~aldot/buildroot.mine.cow.20070406-1957.diff.bz2
>>(134688 Bytes)
>
>updated patch is here:
>http://uclibc.org/~aldot/buildroot.mine.cow.20070515-1321.diff.bz2
>
>I converted a few more packages to install their files into the proper
>place.
>gcc-3.x support is (still) not done, 4.x works fine. Anyone willing to
>fix gcc-3.x?

I have applied this big patch as r18864.

A few notes:
- gcc-3.4.6 builds (tested against i386 and x86_64) but doesn not have
  sysroot support (for obvious reasons).
- gcc-4.x now have sysroot support
  Now you should be able to move your cross-compiler to a different
  machine, with a completely different location (only staging_dir/*
  should be kept intact.)
- separation of /usr/lib and /lib in the staging_dir; These should be
  kept as closely to a "normal" filesystem-layout as possible.
  If you do not want usr, then symlink it according to your needs
  manually.
- the kernel headers are now fully copied to the staging area. This
  fixes e.g. x86_64 and potentially other parts that previously failed
  to find some kernel-internal headers.

The patch was tested against gcc-3.4.6 with binutils-2.17 and
2.17.50.0.16; for the gcc-4 series, gcc-4.2.0 was used.

It is possible that some packages now fail to install properly. These
need to fix their installation prefix to distinguish between usr/lib and
lib/ properly.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-06-20 11:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-10 10:39 [Buildroot] [patch] sysroot support in toolchain, use correct pathes in staging_dir Bernhard Fischer
2007-04-10 11:23 ` Heikki Lindholm
2007-04-10 12:08   ` Bernhard Fischer
2007-05-15 11:43 ` Bernhard Fischer
2007-06-20 11:36   ` Bernhard Fischer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox