This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
file's sole purpose was to provide a dependency on pkg-config and set
some environment variables. Instead, turn pkg-config into a "tool"
in the tools framework, where the pkg-config wrapper automatically
adds PKG_CONFIG_LIBDIR to the environment before invoking the real
pkg-config.
For all package Makefiles that included pkg-config/buildlink3.mk, remove
that inclusion and replace it with USE_TOOLS+=pkg-config.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
Some pkgsrc things
- Fix PLISTs for packages that use -release
- Include canonicalisation of a couple of paths for the benefit
of qt3-*
- the normal version=sunos patching
- fix all library_names_spec for the standard set of symlinks
The libtool things some of which had already made it into pkgsrc libtool.
New in 1.5.2: 2004-01-25; CVS version 1.5.0a, Libtool team:
* lt_dlrealloc is an official part of the libltdl API.
* --tag, --silent and --debug options are preserved and reused when libtool
calls itself for relinking etc.
* `-pthread' and similar options are honoured when linking shared libraries.
* -no-suppress in compile mode shows compiler output for both PIC and non-PIC
object compilation.
* New link mode option `-precious-files-regex' to prevent accidental removal
of files you want to keep, such as test coverage data, from the temporary
output directory.
* Directories specified in /etc/ld.so.conf are no longer hardcoded on Linux.
* Recognises the 'R' symbol type on Solaris so read-only symbols can be
exported.
* Bug fixes.
New in 1.5: 2003-04-14; CVS version 1.4e, Libtool team:
* First stable release of multi-language architecture.
* libtool and libltdl support for Mac OS/X.
* libltdl will now use cygwins dlopen API instead of always forcing
LoadLibrary.
* Support auto-import patch to binutils on cygwin for much improved dll
support.
* Bug fixes.
New in 1.4.3: 2002-10-13; CVS version 1.4.2a, Robert Boehne:
* The libltdl subdirectory now bootstraps correctly with Automake 1.5.
* srcdir != builddir builds with Automake 1.5 work correctly.
* Support for mips-compaq-nonstopux.
* New command line argument, --preserve-dup-deps prevents removal of
duplicate dependent libraries.
New in 1.4d: 2002-01-07; CVS version 1.4c, Libtool team:
* Help strings display correctly again.
* Better error messages when library linking fails.
* Better error messages from libltdl when loading fails.
* Better search path management in libltdl with `lt_dlinsertsearchdir' call.
* Support /lib/w32api in recent cygwin releases.
* Support cross compilation to mingw.
* Support for .rc files (Windows resource compiler).
* Improved handling of mingw gcc.
* Improved handling of $PATH with entries containing spaces.
* Improved support for linking with gcc on aix4* and aix5*.
* Improved support for GCC 3.0.
* Initial support for QNX RTOS, UnixWare 7 and OpenUNIX 8.
* Bug fixes to the OpenBSD port.
* Bug fixes.
New in 1.4.2: 2001-09-11; CVS version 1.4.1a, Gary V. Vaughan:
* libltdl now builds on solaris again
* diagnose and warn about not-quite-working combinations of gcc and
ld on solaris.
* Improved OpenBSD support.
* Improved cygwin support.
* Bugfixes.
New in 1.4.1: 2001-09-03; CVS version 1.4.0a, Libtool team:
* Better error messages from libltdl when loading fails.
* Don't leave here-doc files behind.
* Improved support for OpenBSD.
* Libtool will build with autoconf-2.50 and higher.
* Plug memory management bugs in libltdl.
* Prefer shl_load to dlopen for better operation on HP-UX.
New in 1.4b: 2001-07-09; CVS version 1.4a, Libtool team:
* Now bootstraps with autoconf-2.50 and automake-1.4-p4.
* Always try to build at least a static lib, even if both static and
shared libs were disabled.
* Full support for C++ compiler.
* Support for GNU gcj compiler.
* libltdl can now load all modules in a given path according to user
supplied criteria with `lt_dlforeachfile' call.
* Improved support for AIX ia64, djgpp, HPUX, hurd, OpenBSD, sco3.2*.
* Internal mutex handling no longer has namespace clashes on NCR MP-RAS.
* New pdemo and tagdemo tests.
* Bug fixes.
Disk based hashes is a method to create multidimensional binary trees on disk.
This library permits the extension of database concept to a plethora of
electronic data, such as graphic information. With the multidimensional binary
tree it is possible to mathematically prove that access time to any
particular record is minimized (using the concept of critical points from
calculus), which provides the means to construct optimized databases for
particular applications.
Submitted by benedikt.meurer@unix-ag.uni-siegen.de in pkgsrc-wip