mirror of
https://gitlab.freedesktop.org/pkg-config/pkg-config.git
synced 2026-05-04 21:08:08 +02:00
Merge
This commit is contained in:
commit
c3ddc0344e
7 changed files with 57 additions and 19 deletions
19
ChangeLog
19
ChangeLog
|
|
@ -1,3 +1,22 @@
|
|||
2009-06-30 Tollef Fog Heen <tfheen@err.no>
|
||||
|
||||
* pkg.m4: Add patch from Peter Rosin for somewhat nicer output if
|
||||
you use the four-clause form of PKG_CHECK_MODULES.
|
||||
|
||||
2009-06-12 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* parse.c: On Win32, if the value of a a variable other than the
|
||||
"prefix" one starts with the non-overridden value of "prefix",
|
||||
then replace that prefix, too, with the run-time one.
|
||||
|
||||
To avoid shadowing warnings, rename a 'p' variable to 'q'.
|
||||
|
||||
* pkg-config.1: Corresponding update.
|
||||
|
||||
* main.c
|
||||
* pkg.h: Move the Win32 redefinition of PKG_CONFIG_PC_PATH from
|
||||
main.c to pkg.h as it now is needed in pkg.c, too.
|
||||
|
||||
2009-03-30 Tollef Fog Heen <tfheen@err.no>
|
||||
|
||||
* autogen.sh: Allow not running configure, wanted by cygwin.
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
pkgconfig=../pkg-config
|
||||
|
||||
. config.sh
|
||||
. ./config.sh
|
||||
|
||||
PKG_CONFIG_PATH=$srcdir
|
||||
export PKG_CONFIG_PATH
|
||||
|
|
|
|||
11
main.c
11
main.c
|
|
@ -36,17 +36,6 @@
|
|||
#undef STRICT
|
||||
#endif
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
/* No hardcoded paths in the binary, thanks */
|
||||
/* It's OK to leak this */
|
||||
#undef PKG_CONFIG_PC_PATH
|
||||
#define PKG_CONFIG_PC_PATH \
|
||||
g_strconcat (g_win32_get_package_installation_subdirectory (NULL, NULL, "lib/pkgconfig"), \
|
||||
";", \
|
||||
g_win32_get_package_installation_subdirectory (NULL, NULL, "share/pkgconfig"), \
|
||||
NULL)
|
||||
#endif
|
||||
|
||||
static int want_debug_spew = 0;
|
||||
static int want_verbose_errors = 0;
|
||||
static int want_stdout_errors = 0;
|
||||
|
|
|
|||
26
parse.c
26
parse.c
|
|
@ -901,6 +901,8 @@ parse_url (Package *pkg, const char *str, const char *path)
|
|||
}
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
static char *orig_prefix = NULL;
|
||||
|
||||
static int
|
||||
pathnamecmp (const char *a,
|
||||
const char *b)
|
||||
|
|
@ -1031,8 +1033,10 @@ parse_line (Package *pkg, const char *untrimmed, const char *path,
|
|||
{
|
||||
/* It ends in lib\pkgconfig or share\pkgconfig. Good. */
|
||||
|
||||
gchar *p;
|
||||
gchar *q;
|
||||
|
||||
orig_prefix = g_strdup (p);
|
||||
|
||||
prefix = g_strdup (prefix);
|
||||
if (strlen (prefix) > lib_pkgconfig_len &&
|
||||
pathnamecmp (prefix + prefix_len - lib_pkgconfig_len, lib_pkgconfig) == 0)
|
||||
|
|
@ -1044,12 +1048,12 @@ parse_line (Package *pkg, const char *untrimmed, const char *path,
|
|||
* poptParseArgvString() will eat them when ${prefix}
|
||||
* has been expanded in parse_libs().
|
||||
*/
|
||||
p = prefix;
|
||||
while (*p)
|
||||
q = prefix;
|
||||
while (*q)
|
||||
{
|
||||
if (*p == '\\')
|
||||
*p = '/';
|
||||
p++;
|
||||
if (*q == '\\')
|
||||
*q = '/';
|
||||
q++;
|
||||
}
|
||||
varname = g_strdup (tag);
|
||||
debug_spew (" Variable declaration, '%s' overridden with '%s'\n",
|
||||
|
|
@ -1058,6 +1062,16 @@ parse_line (Package *pkg, const char *untrimmed, const char *path,
|
|||
goto cleanup;
|
||||
}
|
||||
}
|
||||
else if (!dont_define_prefix &&
|
||||
orig_prefix != NULL &&
|
||||
strncmp (p, orig_prefix, strlen (orig_prefix)) == 0 &&
|
||||
G_IS_DIR_SEPARATOR (p[strlen (orig_prefix)]))
|
||||
{
|
||||
char *oldstr = str;
|
||||
|
||||
p = str = g_strconcat (g_hash_table_lookup (pkg->vars, prefix_variable), p + strlen (orig_prefix), NULL);
|
||||
g_free (oldstr);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (g_hash_table_lookup (pkg->vars, tag))
|
||||
|
|
|
|||
|
|
@ -261,6 +261,10 @@ conventions (i.e., ends with \\lib\\pkgconfig or \\share\\pkgconfig),
|
|||
the prefix for that package is assumed to be the grandparent of the
|
||||
directory where the file was found, and the \fIprefix\fP variable is
|
||||
overridden for that file accordingly.
|
||||
|
||||
If the value of a variable in a .pc file begins with the original,
|
||||
non-overridden, value of the \fIprefix\fP variable, then the overridden
|
||||
value of \fIprefix\fP is used instead.
|
||||
.\"
|
||||
.SH AUTOCONF MACROS
|
||||
.TP
|
||||
|
|
|
|||
11
pkg.h
11
pkg.h
|
|
@ -26,6 +26,17 @@
|
|||
#include "glib-1.2.10/glib.h"
|
||||
#endif
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
/* No hardcoded paths in the binary, thanks */
|
||||
/* It's OK to leak this */
|
||||
#undef PKG_CONFIG_PC_PATH
|
||||
#define PKG_CONFIG_PC_PATH \
|
||||
g_strconcat (g_win32_get_package_installation_subdirectory (NULL, NULL, "lib/pkgconfig"), \
|
||||
";", \
|
||||
g_win32_get_package_installation_subdirectory (NULL, NULL, "share/pkgconfig"), \
|
||||
NULL)
|
||||
#endif
|
||||
|
||||
typedef enum
|
||||
{
|
||||
LESS_THAN,
|
||||
|
|
|
|||
3
pkg.m4
3
pkg.m4
|
|
@ -148,7 +148,8 @@ path to pkg-config.
|
|||
_PKG_TEXT
|
||||
|
||||
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
|
||||
[$4])
|
||||
[AC_MSG_RESULT([no])
|
||||
$4])
|
||||
else
|
||||
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
|
||||
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue