mirror of
https://gitlab.freedesktop.org/pkg-config/pkg-config.git
synced 2026-05-15 00:38:07 +02:00
Those Cflags will be added if linking statically against a library; this is necessary if the public headers need to be mutated depending on linkage mode. Eg on Microsoft Windows varaibles whose definition resides in a shared library need to be declared with a special attribute; if linked to statically this attribute must not be used. With Cflags.private their headers can eg check if 'LIBRARYNAME_STATIC' is not defined to know that the special attribute is needed; without it everyone linking against the library will need to manually research what the expected macro is and set it depending on linkage mode. This field is also supported by pkgconf since version 0.9.3 and already used by (some) affected libraries targeting Microsoft Windows. Note that _do_parse_cflags always adds the flags to pkg->cflags and there is no pkg->cflags_private; instead the call to parse_cflags_private is conditional. This matches the existing implementation of Libs.private. Closes: https://gitlab.freedesktop.org/pkg-config/pkg-config/-/issues/38
38 lines
1.3 KiB
C
38 lines
1.3 KiB
C
/*
|
|
* Copyright (C) 2001, 2002 Red Hat Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
* 02111-1307, USA.
|
|
*/
|
|
|
|
#ifndef PKG_CONFIG_PARSE_H
|
|
#define PKG_CONFIG_PARSE_H
|
|
|
|
#include "pkg.h"
|
|
|
|
Package *parse_package_file (const char *key, const char *path,
|
|
gboolean ignore_requires,
|
|
gboolean ignore_private_libs,
|
|
gboolean ignore_requires_private,
|
|
gboolean ignore_cflags_private);
|
|
|
|
GList *parse_module_list (Package *pkg, const char *str, const char *path);
|
|
|
|
char *parse_package_variable (Package *pkg, const char *variable);
|
|
|
|
#endif
|
|
|
|
|
|
|