Every port in the tree now conforms to the new MULTI_PACKAGES specs.

So, -main loses its `special' setting, you can name MULTI_PACKAGES anything
you want.

Here are the new rules:

- if you use MULTI_PACKAGES, you build a set of subpackages with equal
treatment, no special `main' subpackage.

- always reference the subpackage you want in a dependency.
You can write SUBPACKAGE?=-default in the port's Makefile to have a
`default' subpackage you'll reference as a dependency...

- in a MULTI_PACKAGES setup, for any subpackage, the variables
PKG_ARCH, PERMIT_PACKAGE*, RUN_DEPENDS, WANTLIB, LIB_DEPENDS, PREFIX,
CATEGORIES, MESSAGE, UNMESSAGE, DESCR, PLIST are subpackage-dependent,
e.g. PKG_ARCH-sub...
the non-sub variables are just the `default' values of these.

- BASE_PKGPATH and BUILD_PKGPATH can now be used to refer to a port's
base @pkgpath, with flavors taken into account (BASE_PKGPATH) and 
flavors+pseudo_flavors taken into account (BUILD_PKGPATH). If you don't
know what this means, feel happy... This solves a quite icky problem
some of us have had trying to make `interesting' ports work with a lot
of flavors and interdependencies...

After converting quite a few ports to the new setup, I can say that the
new MULTI_PACKAGES are much easier to work with, and result in much
easier to understand subpackages.

Also, it means that a lot more information is now completely static, so
we can remove a big amount of recursion from the ports tree.

Reply via email to