From owner-freebsd-embedded@FreeBSD.ORG Thu Dec 1 16:12:00 2011 Return-Path: Delivered-To: freebsd-embedded@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB22C1065670 for ; Thu, 1 Dec 2011 16:12:00 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 3E22F8FC1B for ; Thu, 1 Dec 2011 16:12:00 +0000 (UTC) Received: from 150.imp.bsdimp.com (150.imp.bsdimp.com [10.0.0.150] (may be forged)) (authenticated bits=0) by harmony.bsdimp.com (8.14.4/8.14.3) with ESMTP id pB1G9rfe091015 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES128-SHA bits=128 verify=NO); Thu, 1 Dec 2011 09:09:54 -0700 (MST) (envelope-from imp@bsdimp.com) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Warner Losh In-Reply-To: <447CC818-CEA3-46B9-A15F-E0FA737B0EB4@bluezbox.com> Date: Thu, 1 Dec 2011 09:09:53 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: References: <4ED6FD47.6050704@bluezbox.com> <96407605-79A9-4AE3-AC2F-13BD97943153@lassitu.de> <447CC818-CEA3-46B9-A15F-E0FA737B0EB4@bluezbox.com> To: Oleksandr Tymoshenko X-Mailer: Apple Mail (2.1084) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (harmony.bsdimp.com [10.0.0.6]); Thu, 01 Dec 2011 09:09:54 -0700 (MST) Cc: freebsd-embedded@FreeBSD.org Subject: Re: Ports cross-compilation X-BeenThere: freebsd-embedded@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Dec 2011 16:12:00 -0000 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=