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.
Changes:
libSieve 2.2.7
--------------
- Fixed a duplicate symbol definition (thanks to Wilfried Goesgens).
- Fixed a mismatched function declaration (thanks to Eugene Prokopiev).
- More cases where Vacation should be ignored (thanks to Dilyan Palauzov).
- Generate Vacation handle according to RFC 5230 (thanks to Dilyan Palauzov).
- Use of NULL without declaration (thanks to Dilyan Palauzov).
- Added pkgconfig support (thanks to Dilyan Palauzov).
- Documentation corrections (thanks to Dilyan Palauzov).
- Use left-recursion when parsing stringlists (thanks to Dilyan Palauzov).
This package is DESTDIR ready.
libSieve 2.2.6
--------------
- Fix for bracketed comments (thanks to Daniel Shahaf).
- More graceful handling of malformed addresses (thanks to Paul Stevens).
- Return header and address errors separately from script parse errors.
This library was forked from CMS Sieve, it had existed here before.
Changes from fork:
libSieve 2.2.5
--------------
- Allowed CFLAGS to pass through Makefile.am
(thanks to Bernard Johnson).
- Use # instead of __STRING for assertion stringification.
- Fixed off-by-one when reallocing space for repeated headers
(thanks to Petri Laine).
libSieve 2.2.4
--------------
- Improved several test scripts.
- Fixed a memory leak in header parsing.
- Fixed a memory leak in comparator lookup.
- Accepted patch from Steffen Schuetz to respect :from in vacation action.
libSieve 2.2.3
--------------
- Numeric relational comparators were backwards.
libSieve 2.2.2
--------------
- Added more test scripts.
- Added support for RFC 3431 Relational comparators.
- Fixed segfault when parsing group syntax with empty address list.
libSieve 2.2.1
--------------
- Removed accidental dependency on Check.
- Added exception handling system.
- Added test runner scripts to sv_test.
libSieve 2.2.0
--------------
- Updated top-level README.
- Fixed address test not working.
- Fixed innocuous yet annoying GCC 4 warnings.
libSieve 2.1.13
---------------
- Fixed capabilities missingspaces.
- Fixed alloca.h in vasnprintf for FreeBSD.
libSieve 2.1.12
---------------
- Fixed namespace issue with vasnprintf.
libSieve 2.1.11
---------------
- Minor fixes to build with flex 2.5.33.
- Updated to Vacation draft 6.
- Updated to imap4flags.
- Dropped support for imapflags.
- Added callback for subaddress rather than
using a hardcoded user+mailbox format.
- Added a callback for debug messages.
- Regex is always built in now.
- Fixed multiline "text: string ." blocks.
libSieve 2.1.10
--------------
- Fixed sieve2_listextensions.
- Fixed segfault when client returns null
pointers from the getenvelope callback.
- Improved handling of extension require's.
- Fixed segfault when parsing zero length address.
libSieve 2.1.9
--------------
- Fixed subaddress, getenvelope and vacation.
- Added additional debugging messages.
- Added new and updated draft rfc's.
libSieve 2.1.8
--------------
- Created a testsuite of scripts and messages
to exercise RFC and Draft comformance.
- Fixed a memory allocation issue that prevented
the library from being used again after sieve2_free
had been called.
libSieve 2.1.7
--------------
- Rewrote the API again. I finally like it!
- Settled on the LGPL for all of my new code.
- Replaced the RSA MD5 implementation with
a public domain version.
- Documentation updated for the new API.
libSieve 2.1.6
--------------
- Added a set of error-retrieval functions.
libSieve 2.1.5
--------------
(formerly libsieve 2.2.0_pre3)
- CFLAGS now includes -Wall and compiles very
cleanly. Messages from lex/yacc are benign.
- Namespace cleanups: internal global functions
prefixed with "libsieve_" for consistency.
- Local regex library, borrowed from GNU glibc
2.3.2. Used under LGPL license version 2.1.
- Compiles under Win32 with Visual C++, with
many thanks to Brandon Knitter.
libSieve 2.1.4
--------------
(formerly libsieve 2.2.0_pre1)
- Sieve 2 API has begun. More changes should
be expected during the 2.1 series.
- All later-CMU code removed and/or replaced;
original licensing is now entirely old-CMU
style and augmented by the GNU GPL as it is
placed on all new code and applies to the
distribution as a whole from here forward.
- "Poor man's parsers" for RFC 2/822 addresses
and message headers replaced with lex/yacc.
- Extensive Valgrinding performed to identify
memory leaks; no known leaks remain.
- Many more changes, amounting to perhaps a
70% rewrite of all code.
libSieve 2.1.3
--------------
- Accepted patches from Timo Sirainen:
- Added function xstrconcat
- Changed strdup to strndup
- Changed strcpy to xstrcpy
- Changed uglies to xstrconcat
- Rebuild .y and .l in Makefile.am
- Changed int to size_t where applicable
- Added explicit casting where applicable
- Accepted patches from Oliver Tappe:
- Fixed examples for the web site
- Removed useless headers
- Now builds on BeOS
- Cleaned up lots of K&R style function declarations
libSieve 2.1.2
--------------
- Changed `timestamp` to $timestamp in configure scripts.
- Added missing autoconf and libtool scripts.
- Fixed a typo in index.html
libSieve 2.1.1
--------------
- First public release of the libSieve distribution.
- com_err library removed.
- Conversion to GNU autotools for the build process.
libSieve 2.1.0
--------------
- Forked from CMU Sieve 2.1.
- SourceForge project site and a new web site and CVS tree and prepared.
- Dependencies on libCyrus trimmed to a bare minimum.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
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".