tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkgsrc cross-compilation



On Thu, Mar 28, 2013 at 02:56:50PM +0000, Taylor R Campbell wrote:
> This would require 
> 
> (a) adding some machinery under mk/, and
> 
> (b) going through the uses of BUILD_DEPENDS and classifying them
> (keeping BUILD_DEPENDS around to imply one or the other, or both),
> 
> although I suspect it may turn out -- as your patch seems to guess --
> that most direct uses of BUILD_DEPENDS mean build-time tool
> dependencies and most uses of buildlink3 with depmethod=build mean
> build-time link dependencies, making (b) much easier.
> 
> 
> I discussed this with joerg@ yesterday.  He opined that distinguishing
> these two cases would complicate mk/ and become a maintenance burden
> for packages, and that it would be better to just build both host and
> target packages for all build dependencies, whether they be build-time
> tool dependencies or build-time link dependencies.  (joerg@, please
> correct me if I have misunderstood or misrepresented what you said.)
> 
> However, it seems to me that
> 
> (a) the main burden on packages would be the initial pass over the
> BUILD_DEPENDS, and that can be done incrementally and easily -- things
> will fail noisily if you classify them wrong; and
> 
> (b) if we build both host and target packages, then before we can make
> much progress on packages that we're interested in cross-compiling, we
> need all the tools to be cross-compilable too -- including major
> cross-compilation headaches like Perl.

I think that if we're going to do this, it should be done properly,
and that splitting DEPENDS into "host tools dependencies" and
"build-time link dependencies", as you note, is the way to go.
The two categories should be mutually exclusive, and is the way that
has worked very well in src with build.sh.

Also, your point (b) above is a huge problem for me - not something
I'd like to do.

Let's take the hit up-front and do the split. We can keep BUILD_DEPENDS
until it's done, and add HOST_DEPENDS and LINK_DEPENDS (with better
names, obviously), with BUILD_DEPENDS being the aggregation of
both.

Regards,
Alistair


Home | Main Index | Thread Index | Old Index