Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ICU-22610 Use Requires.private and Libs.private
To prevent overlinking when publishing shared libraries, specify internal dependencies using Requires.private and Libs.private. Use Libs.private in icu-uc.pc for libicudata.so, and Requires.private in icu-i18n.pc, icu-io.pc, and icu-lx.pc, so that ICU internal dependencies will not be bound into clients. The resulting *.pc files will produce the following output for icu-i18n and icu-lx, provided pkgconf has commit 78d53ea0 (2.2.0 or later) which de-duplicates multiple -L options: commit 78d53ea012dfbaf397bf8e6907efac5b51abac56 Author: Kai Pastor <[email protected]> Date: Fri Feb 23 15:18:08 2024 +0100 Revise serials, traversal, flattening ./configure --enable-shared ... # # icu-i18n # % pkgconf --libs icu-i18n -L/opt/local/lib -licui18n % pkgconf --libs --static icu-i18n -L/opt/local/lib -licui18n -licuuc -licudata -lpthread -lm # # icu-lx # % pkgconf --libs icu-lx -L/opt/local/lib -liculx % pkgconf --libs --static icu-lx -L/opt/local/lib -liculx -L/usr/lib/x86_64-linux-gnu -licu-le-hb -lharfbuzz -lm -licuuc -licudata -lpthread -lm ./configure --disable-shared --enable-static ... # # icu-i18n # % pkgconf --libs icu-i18n -L/opt/local/lib -licui18n -licuuc -licudata -lpthread -lm % pkgconf --libs --static icu-i18n -L/opt/local/lib -licui18n -licuuc -licudata -lpthread -lm # # icu-lx # % pkgconf --libs icu-lx -L/opt/local/lib -liculx -L/usr/lib/x86_64-linux-gnu -licu-le-hb % pkgconf --libs --static icu-lx -L/opt/local/lib -liculx -L/usr/lib/x86_64-linux-gnu -licu-le-hb -lharfbuzz -licuuc -licudata -lpthread -lm
- Loading branch information