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>