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.
Main features on this new major release branch are:
* Instant Messaging. Using several different ?standards?: RFC4975, MSRP, T.140, SIP-IM etc etc.
* Much improved support for SIP event handling (SUBSCRIBE/NOTIFY/PUBLISH) using factories so more event packages can be added easily.
* Support for SIP ?dialog? event package.
* Support for Shared Line Appearance (aka Multiple Line Appearance, Bridged Line Appearance or Busy Lamp Field)
* Significant improvements in IPv6 support (thanks Yuri Kiryanov!)
* Major enhancements to the video rate controller.
* Removal of the old H.263 ffmpeg plug in and enhancement of the H.263-1998 plug it to take its place.
* H.224 support (H.323 only).
* SBC audio codec plug in.
* G.722 audio codec plug in.
* CELT audio codec plug in.
* SWIG support for use in other languages, Java first.
* Much improved multi-platform sample GUI client, OpenPhone. Now standard test environment replacing simpleOPAL.
* Fix static linking for mingw.
* Move the defaults so we can overwrite them depending on the
platform.
* Finally fix static and dynamic plugins on mingw.
* Fixed being able to pass a ip%interface form of address string to
a PIPSocket::Address and it still works correctly, using the ip
part if there.
* Add the joined Makefile to the stable branch. Do not use it yet.
* Also delete static lib on make clean.
* Fixed correct upper/lower case comparisons as per RFC952 for
domain names, which is not locale dependent, remove use of
toupper().
* Killed the ununsed .major and .major.minor symlinks.
The SONAME has always referred to the .major.minor.build lib.
* Switch the Makefiles in v2_4 like it was already done in trunk.
* Removed obsolete comment...
* Fixed gcc warning. Backport from TRUNK.
* Fixed Windows Speech API search directory to be more flexible.
* Make vfw configurable.
* STUN was not working with Open NAT.
* Applied patch for VXML not starting if not yet loaded and then
not being started if later does get loaded. Thanks Antonio
Rivera.
* Fixed incorrect port displayed in trace log for STUN, very
confusing.
* Make sure CreateSocketPair also works with open nat.
* Fixed problem with "interface only" ip addresses not being parsed
correctly on Windows Mobile systems.
* Windows Mobile build fixes
* More fixes to VXML, thank you Antonio Rivera
* Ensure Windows video output devices are available when using MSVC
and not just MingW
Backport from trunk
* Allow video file output device to work with new files
Backport from trunk
* Fixed problem with PSafeCollection destructor deleting objects
even if they still have a PSafePtr referencing them.
* Fix compilation without vfw.
on both Microsoft Windows and Unix/Linux. The library contains both the
"basic" classes (strings, arrays, lists) and the higher-level functionality
(networking, multi-threading).