diff --git a/NEWS b/NEWS index 2528926..ad28500 100644 --- a/NEWS +++ b/NEWS @@ -21,6 +21,10 @@ Changes from 1.6.3 to 1.7.0: to specify that static linking should be used by default. - Support for the PKG_CONFIG_MSVC_SYNTAX environment variable has been added. Patch by Dan Kegel. + - Support for the PKGCONF_PKG_PKGF_DONT_MERGE_SPECIAL_FRAGMENTS + client flag which disables emulation of freedesktop.org pkg-config + fragment merging semantics has been added. + Patch by Karen Arutyunov. Changes from 1.6.2 to 1.6.3: ---------------------------- diff --git a/libpkgconf/fragment.c b/libpkgconf/fragment.c index b431694..37830c8 100644 --- a/libpkgconf/fragment.c +++ b/libpkgconf/fragment.c @@ -150,7 +150,8 @@ pkgconf_fragment_add(const pkgconf_client_t *client, pkgconf_list_t *list, const { char mungebuf[PKGCONF_ITEM_SIZE]; - if (list->tail != NULL && list->tail->data != NULL) + if (list->tail != NULL && list->tail->data != NULL && + !(client->flags & PKGCONF_PKG_PKGF_DONT_MERGE_SPECIAL_FRAGMENTS)) { pkgconf_fragment_t *parent = list->tail->data; diff --git a/libpkgconf/libpkgconf.h b/libpkgconf/libpkgconf.h index 2c0a561..ebc1d5e 100644 --- a/libpkgconf/libpkgconf.h +++ b/libpkgconf/libpkgconf.h @@ -249,6 +249,7 @@ PKGCONF_API pkgconf_cross_personality_t *pkgconf_cross_personality_find(const ch #define PKGCONF_PKG_PKGF_DONT_RELOCATE_PATHS 0x0800 #define PKGCONF_PKG_PKGF_SIMPLIFY_ERRORS 0x1000 #define PKGCONF_PKG_PKGF_DONT_FILTER_INTERNAL_CFLAGS 0x2000 +#define PKGCONF_PKG_PKGF_DONT_MERGE_SPECIAL_FRAGMENTS 0x4000 #define PKGCONF_PKG_DEPF_INTERNAL 0x1