Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Jul 2014 21:07:50 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Tim Kientzle <tim@kientzle.com>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Total confusion over toolchain/xdev behavior
Message-ID:  <ECFCADBA-BE9E-487E-B593-C4D4A888E464@bsdimp.com>
In-Reply-To: <2788FB1E-9498-40C2-94DE-F4C73A5DDD30@kientzle.com>
References:  <1404688077.1059.115.camel@bruno> <2788FB1E-9498-40C2-94DE-F4C73A5DDD30@kientzle.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]

On Jul 7, 2014, at 8:59 PM, Tim Kientzle <tim@kientzle.com> wrote:

> 
> On Jul 6, 2014, at 4:07 PM, Sean Bruno <sbruno@ignoranthack.me> wrote:
> 
>> Objective:  install an xcompile toolchain into a jail for use by
>> poudriere during arm/mips/sparc/power ports pkgs builds.  The build
>> should be possible from a non-root user.
>> 
>> As far as I can tell, the xdev target is completely busted for non-clang
>> arch's right now as it tries to build clang no matter what I do.
> 
> I think you can avoid that if you specify both:
>  WITHOUT_CLANG=t WITHOUT_CLANG_BOOTSTRAP=t
> 
>> Its missing some pretty key documentation to making it work correctly, so a
>> lot of my attempts have been "guess and check" with verbose make.
> 
> Some of the complexity here might just be that ‘xdev’ is currently
> trying to do too much.  I think I would find it simpler to use if
> it were a handful of separate targets:
> 
> # Build and install a cross-GCC using the in-tree sources
> make XDEV=arm XDEV_ARCH=armv6 xdev-gcc
> 
> # Build and install a cross-clang using the in-tree sources
> make XDEV=arm XDEV_ARCH=armv6 xdev-clang
> 
> # Build and install cross-binutils using the in-tree sources
> make XDEV=arm XDEV_ARCH=armv6 xdev-binutils
> 
> # Build and install cross-libraries
> # Prerequisite: (xdev-gcc or xdev-clang) and xdev-binutils
> make XDEV=arm XDEV_ARCH=armv6 xdev-libs

Interesting ideas…  Will have to ponder them again, but in the earliest days
I tried these and hit some turbulence… But as I said elsewhere on this thread,
that was maybe 10 years ago now and maybe things have changed :)

> # Have I missed anything?
> 
> If I understand correctly, xdev-clang in many cases
> could install symlinks to the host clang without
> actually building anything.  (If I’m right about that,
> maybe we could consider installing those symlinks
> for every architecture as part of the default base system.)

The driver program would need to know to use a different sys root (or we’d
need to install things in the clang centric way) as well as which architecture
to use, which it might be able to guess based on the binary used to invoke
it (now that’s a feature that has a checkered past, some good, some down
right awful). I’ve been after the clang folks to justify bringing in everything on
every platform by providing an example cross build in the base, but so far
nothing has materialized...

Warner

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTu2CGAAoJEGwc0Sh9sBEAUXsQALcUEOw9KLsRvBol/rhMLlpT
0d3TXLePRvRBSpYei0J0Gi1Zq6IrrElSR+gwJg6KJMzaUjEK4lJL0i2Ipt5QOpKA
7BLUe5Y3kuCguXKxVWmTMk6giNZ1eFE1E8uq/TJIIjDZ7eCIOhfsH3kXWiLgn2/m
X0ezmiFuulqL+EBT72G1d8nLV2YwnomDoAaJusT2KHg1cObQWy+jaO3NHp0e/kS8
4fih1wAdJtoflyPg0cv0oXWUHsv3fJw3JfEu8tOWXLqoLvbMznjIKpNeMjt2b+jY
7eDhF/4WChqsQCaOGQi6dWnPz2BTYZM1SyIY/wb2amctiQbvpTfRnUADXN0Vfpob
kfBTo8/WELy73VVWWzOWSxnq2ZLPxP3D616oz6QwaSX548hMR0vhxcXLLQN0IkgV
G5ikihF6hFkOZRZhZSh/8LFJ+zw1YWkqMGZJEYGLBdsJTzV++arQO11SMUjZbmlf
W3jj3gXPRHqSEymwJwJl3mWSRWZe7BU24Ir4MWP4VzL8z/P4Q9sk4/LyIqvxB+jT
L2oCiMNV6GBTi37Nj8G2U9Nsl03R4QRumLyBkz5m8XFxPOBQKnD+VJTlWSDemehl
l0ct3Wk7ZBd8eqi8S1xr+4qcFXHolJu/LM850K/QcSzaRmjXH1/W68zR/2snudnK
vOIZVQmbYER+zXirVDF9
=SlPe
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ECFCADBA-BE9E-487E-B593-C4D4A888E464>