Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Dec 2011 09:09:53 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Oleksandr Tymoshenko <gonzo@bluezbox.com>
Cc:        freebsd-embedded@FreeBSD.org
Subject:   Re: Ports cross-compilation
Message-ID:  <BA1B1A94-338B-4B17-8AE4-67F3DB0B39BB@bsdimp.com>
In-Reply-To: <447CC818-CEA3-46B9-A15F-E0FA737B0EB4@bluezbox.com>
References:  <4ED6FD47.6050704@bluezbox.com> <96407605-79A9-4AE3-AC2F-13BD97943153@lassitu.de> <447CC818-CEA3-46B9-A15F-E0FA737B0EB4@bluezbox.com>

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

On Dec 1, 2011, at 1:00 AM, Oleksandr Tymoshenko wrote:

>>=20
>>> - Package builder works only on installed port.
>>=20
>> Have you looked at pkgng yet?  The wiki page says it can create a =
package from a separate directory tree.
>   No, not yet. By "Package builder" I meant package-building=20
> targets of ports Makefiles. pkg_create can work on directory=20
> tree + setof pre-generated files. It's just that at the moment=20
> we use "pkg_create -b" to create package archive.
>=20
>=20
>>> - Makefile for cross-compilable port should be split into three =
parts:
>>> common, native, cross. It's not clear who should maintain cross part
>>> though.
>>=20
>> =46rom many previous discussions, people are reluctant to add files =
to all ports because of the filesystem and VCS bloat that causes.  Also, =
considering the number of ports there are in the tree, and how well =
maintained many of the lesser ones are, any solution that requires no or =
very little changes to each port would stand a much bigger chance of =
being implemented successfully.
>=20
> As I told - getting all ports cross-compilable is impossible.=20
> We're talking about most-used in embedded environment ports. I'd say=20=

> it's a couple of hundreds. So we need modify only these ports and only=20=

> if it's really required. Simple ports like converters/base64 will not=20=

> require modification at all.

When I experimented with this years ago, I found that only a small =
number of ports needed extra files.  Many worked because they were =
either (a) so trivial that they just needed a different compiler or (b) =
had complete enough cross support that hacks inside the ports =
infratructure and/or a couple of tweaks to existing files were all that =
was needed.  Some were hopeless.  I tried about 50 ports.  Many of the =
autoconf ports worked great.

I don't think we need to have a separate Makefile, except in exceptional =
cases.

Warner=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BA1B1A94-338B-4B17-8AE4-67F3DB0B39BB>