SHARED_LIBS enumerates the libraries like so:
SHARED_LIBS= foo 1.0 \
zop 2.5 \
tag 3.0
This just defines LIBfoo_VERSION=1.0, LIBzop_VERSION=2.5, LIBtag_VERSION=3.0
and adds these to SUBST_VAR, further tweaks must be done, usually at the
MAKE_FLAGS/MAKE_ENV level.
For gnu ports that use automake, the supplementary MODGNU_SHARED_LIBS
variable can be used like this:
MODGNU_SHARED_LIBS= foo '-no-undefined'
and it will define libfoo_la_LD_FLAGS=--version-info 1:0:0 -no-undefined
Some gnu ports have weird variable names for libraries. For instance,
the libORBit-2 is set using libORBit_2.
LIBORbit-2_ALIAS=ORBit_2
will make sure the correct name is used.
much feedback from bernd@
anything after configure.
Side-effect: config.h.in is not rebuilt automatically at build time, we
invoke autoheader explicitly.
Change approved by naddy@ and brad@, for robustness, there may a few kinks
to fix...
original idea from jsyn@, discussed and first tests at c2k3
Warning!
- this commit is different from all patches sent around, please remove
them before updating
- due to a few bugs in systrace this is currently not ready for the casual
porter and several ports will fail to build, you've been warned
The idea of this patch is to help a porter when developing a new port.
With systrace the configure, build and fake stages are not allowed to
open network connections or write outside some well defined directories.
This way misbehaving programs will be noticed due to logfile entries in
/var/log/messages and the port can be fixed. There is generally no need
for endusers to use this, as the checksum ensures that ports in the
future will behave the same as they did when porting. :)
To activate systrace'd port building, set USE_SYSTRACE=Yes (e.g. in
/etc/mk.conf)
tested by some people, ok espie@
and need the metaauto wrappers to work.
The metaauto wrapper does not run depend on any autoconf version, to allow
partial installations.
Tested and approved by naddy@
tree / release in sync, and strictly managing it generates a lot
of useless effort.
Note that the support for NEED_VERSION is now gone, however ports
will get that line stripped from their Makefile as time progresses
with updates, gradually; there is no emergent need for it.
ok espie and others
(to deal with a common shared Cygnus configure)
Move MODGNU_configure definition to gnu.port.mk. Should have done that on
creation.
Typo in brad's hack (to be superseded shortly anyways)
This is work-in-progress. Supplemental hooks will be added when they
become necessary.
The goal is to permit separate subsystems to tweak the package building
process slightly. This should help e.g., python or qt2, for instance.
Documentation will come when it's tested more thoroughly...