Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
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.
|
|
the build failing like so (on Linux systems):
g++ -fexceptions -funsigned-char -fPIC -Wno-multichar -Wno-implicit -Wno-ctor-dtor-privacy -O2 -I/tmp/pkgsrc1/devel/exempi/work/.buildlink/include -Wl,-R/usr/pkgroot1/lib -o xmpfilescoverage XMPFilesCoverage.o -L/tmp/pkgsrc1/devel/exempi/work/.buildlink/lib ../../source/XMPCore/.libs/libXMPCore.a ../../source/XMPFiles/.libs/libXMPFiles.a ../../source/common/.libs/libxmpcommon.a /tmp/pkgsrc1/devel/exempi/work/.buildlink/lib/libexpat.so ../../third-party/MD5/.libs/libmd5.a -Wl,--rpath -Wl,/tmp/pkgsrc1/devel/exempi/work/.buildlink/lib -Wl,--rpath -Wl,/tmp/pkgsrc1/devel/exempi/work/.buildlink/lib
../../source/XMPFiles/.libs/libXMPFiles.a(Reconcile_Impl.o): In function `ReconcileUtils::Latin1ToUTF8(void const*, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
Reconcile_Impl.cpp:(.text+0x1a1): undefined reference to `libiconv_open'
Reconcile_Impl.cpp:(.text+0x1f0): undefined reference to `libiconv'
Reconcile_Impl.cpp:(.text+0x1fb): undefined reference to `libiconv_close'
../../source/XMPFiles/.libs/libXMPFiles.a(Reconcile_Impl.o): In function `ReconcileUtils::UTF8ToLatin1(void const*, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
Reconcile_Impl.cpp:(.text+0x341): undefined reference to `libiconv_open'
Reconcile_Impl.cpp:(.text+0x390): undefined reference to `libiconv'
Reconcile_Impl.cpp:(.text+0x39b): undefined reference to `libiconv_close'
collect2: ld returned 1 exit status
*** Error code 1
|
|
to use char** by default as well some time ago.
|
|
|
|
2.0.2
- Bug #16598: address the lack of TLS for sone platforms.
2.0.1
- Bug #14612: no stdbool.h for Sun compilers.
- Bug #14613: check for iconv() const-ness.
- Make the error checking more robust.
- Make error code thread-safe (ie local to the thread).
|
|
|
|
Suggested by Hasso Tepper in PR 38626.
|
|
XMP (Extensible Metadata Platform) facilitates embedding metadata
in files using a subset of RDF. Most notably XMP supports embedding
metadata in PDF and many image formats, though it is designed to
support nearly any file type.
|