summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-04-07parse: Don't emit unknown keyword warning for Libs.privateHEADmasterDan Nicholson1-3/+5
Requires.private and Libs.private are skipped unless --static is in use. However, the parser was checking for Libs.private and this option in a single conditional unlike Requires.private. This was making the check fall through to the else and emit an "Unknown keyword" debug message when --static was not used. This was harmless but not true. https://bugs.freedesktop.org/show_bug.cgi?id=99770
2017-03-20Update to 0.29.2pkg-config-0.29.2Dan Nicholson2-1/+23
2017-03-20pkg.m4: Bump the serial number for releaseDan Nicholson1-1/+1
There aren't any significant changes here, but this will cause aclocal to get the latest version.
2017-03-20pkg: Check INCLUDE environment variable for MSVCDan Nicholson3-20/+62
On Windows builds when --msvc-syntax is in use, add paths in the INCLUDE environment variable to the system include search path and ignore the various GCC environment variables. See https://msdn.microsoft.com/en-us/library/73f9s62w.aspx for details. https://bugs.freedesktop.org/show_bug.cgi?id=94729
2017-03-20check: Add test for system flags pruningDan Nicholson3-0/+59
Test that pkg-config respects the various environment variables that override the system flags handling. https://bugs.freedesktop.org/show_bug.cgi?id=94729
2017-03-20Ignore automake's compile wrapperDan Nicholson1-0/+1
2017-03-20Respect sysroot for -isystem and -idirafterDan Nicholson4-9/+26
Treat -isystem and -idirafter as -I Cflags since they control the compiler search path. Adjust the sysroot handling so that the arguments to these options have the sysroot prefixed. However, leave them out of the system Cflags handling since these directives are explicitly trying to adjust the compiler's system header search behavior. The special-flags test case output needs adjustment since all the flags are now considered -I flags and come out in the order specified in the pc file. https://bugs.freedesktop.org/show_bug.cgi?id=97337
2017-03-20check: Include special-flags in sysroot testDan Nicholson1-0/+6
Make sure that the sysroot behavior works right when we have non-I/L flags to consider. https://bugs.freedesktop.org/show_bug.cgi?id=97337
2017-03-20check: Add more flags to the special-flags testDan Nicholson2-4/+4
Make sure that all the flag types are covered so that the ordering between them is being tested. https://bugs.freedesktop.org/show_bug.cgi?id=97337
2017-03-20glib: Fix bundled build with GCC 6Dan Nicholson4-0/+86
Backport two patches from upstream glib to handle -Wformat-nonliteral included by default with GCC 6. Ideally the snapshot should be updated, but this fix the issue until that happens. https://bugs.freedesktop.org/show_bug.cgi?id=95326
2017-03-20man: Document PKG_PROG_PKG_CONFIG conditional issue thereDan Nicholson1-1/+9
The issue of PKG_PROG_PKG_CONFIG being run first from a conditional affects more than PKG_CHECK_MODULES and PKG_CHECK_EXISTS since PKG_PROG_PKG_CONFIG is AC_REQUIRE'd from many other macros. Describe the issue completely in the PKG_PROG_PKG_CONFIG section.
2017-03-20man: Fix PKG_CHECK_EXISTS comment about PKG_PROG_PKG_CONFIGDan Nicholson1-3/+4
The sentence is clearly referring to the issue of running PKG_PROG_PKG_CONFIG from outside of a conditional. Thanks to Reuben Thomas for the suggestion. https://bugs.freedesktop.org/show_bug.cgi?id=99885
2017-03-19m4: Fix indentationPeter Eisentraut1-3/+3
The pkg-config source code is full of weird whitespace, the sort that git diff --check would complain about. Attached is a small patch that cleans this up in pkg.m4 so that it doesn't propagate into other packages. https://bugs.freedesktop.org/show_bug.cgi?id=99522
2017-03-19man: Put valid make syntax in the exampleDan Nicholson1-1/+1
Use backquotes for substitution in the Makefile example as using the $() form of command substitution would actually use make's variable substitution and fail. Thanks to joerg.strebel@gmail.com for the report. https://bugs.freedesktop.org/show_bug.cgi?id=98011
2017-03-19Make PKG_CHECK_MODULES report the module name instead of the variable prefixRuss Allbery1-1/+1
In Autoconf output from PKG_CHECK_MODULES in pkg.m4, the "checking for" message refers to the first argument of PKG_CHECK_MODULES, the variable prefix, instead of the second argument, the module being checked for. This results in strange output (like ALL CAPS module names) in various packages. And when probing for modules, one can't always use a variable prefix that matches the module name (since ‘-’ and other characters aren't allowed in variable names), so the Autoconf output is going to refer to something odd. The status output should reference the module name being probed for, both because it looks nicer and because, when debugging problems, this references the actual thing being probed for on the system, rather than an internal implementation detail. Signed-off-by: Guillem Jover <guillem@hadrons.org> https://bugs.freedesktop.org/show_bug.cgi?id=98334
2017-03-19man: Document system search path environment variablesDan Nicholson1-2/+30
None of the environment variables affecting the system include and library paths were documented. This includes the pkg-config specific variables like PKG_CONFIG_SYSTEM_INCLUDE_PATH as well as the GCC variables like C_INCLUDE_PATH. https://bugs.freedesktop.org/show_bug.cgi?id=99224
2017-03-19pkg: Include CPATH in header search pathv4hn1-0/+6
Look for the CPATH environment variable when constructing the -I header search path like GCC does. See https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html. https://bugs.freedesktop.org/show_bug.cgi?id=99224
2016-12-22Optimization to load only needed .pc filesMarco Diego Aurélio Mesquita3-98/+59
Currently pkg-config scans all .pc files from the search path during initialization. That makes some of the code simpler and works fine when there are not many .pc files on the system. When there are a lot of .pc files, then this represents a lot of wasted effort. Rework the package gathering so that it happens as needed. To support the --list-all mode, the scanning at initialization can still be done. https://bugs.freedesktop.org/show_bug.cgi?id=98215
2016-09-06pkg.m4.in: use correct comments for aclocal serialRoss Burton1-3/+3
aclocal requires that serial numbers are on a line commented out with hashes not dnl, so change the commenting style on the first two lines. https://bugs.freedesktop.org/show_bug.cgi?id=97615
2016-08-30Don't override empty prefix settingDan Nicholson4-0/+19
If the original prefix setting is empty, skip prepending the redefined prefix to other variables. This works the same as if the pc file doesn't have a prefix variable at all. https://bugs.freedesktop.org/show_bug.cgi?id=97453-empty
2016-08-22autogen: consider configure errorMatan Nassau1-1/+1
2016-08-22Remove unused package_list_strip_duplicatesDan Nicholson1-37/+0
After 908cdd0, there are no more duplicates in the package list and this function is unused.
2016-08-22Improve performance of package list expansionMatthew Hanna16-20/+204
Adds a hash table to the package list expansion to avoid iterating over the children of package nodes that have already been visited. Without this, the expansion is exponential. For library sets with a high degree of dependency, iteration over the tree with revisiting results, in practice, in significant slow down at best and pkg-config failure due to memory exhaustion at worst. The resulting algorithm is equivalent to a topological sort.
2016-03-01Update to 0.29.1pkg-config-0.29.1Dan Nicholson2-1/+20
2016-03-01glib: Fix OSX build with internal glibDan Nicholson3-2/+34
In the last internal glib update, the glib configure script changed the OSX framework flags from the form of "-framework Foo" to "-Wl,framework,Foo". Unfortunately, libtool only understands the prior form and doesn't include the appropriate -framework flags in the libglib-2.0.la file. This ultimately causes pkg-config to fail to link properly: Undefined symbols for architecture x86_64: "_CFRelease", referenced from: _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o) "_CFStringGetCString", referenced from: _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o) "_CFStringGetCStringPtr", referenced from: _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o) "_CFStringGetLength", referenced from: _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o) "_CFURLCopyFileSystemPath", referenced from: _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o) "_CFURLCreateFromFSRef", referenced from: _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o) "_FSFindFolder", referenced from: _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o) "_kCFAllocatorSystemDefault", referenced from: _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o) ld: symbol(s) not found for architecture x86_64 Upstream has fixed this by including the new style -framework flags in the glib-2.0.pc file. We can't use that here as we're bootstrapping pkg-config itself. Rather than work around this with an OSX platform check in pkg-config's configure, carry a downstream patch to revert glib's configure to using the old format. https://bugs.freedesktop.org/show_bug.cgi?id=92902
2016-02-26Revert "Quote pc_path virtual variable"Dan Nicholson1-3/+1
This reverts commit a6e8749ada5af1737b27f1eca1babe83e82af38c. With the --variable output only being unquoted when it appears needed, this can return to being a normally defined value. https://bugs.freedesktop.org/show_bug.cgi?id=93284
2016-02-26check: More thoroughly test variable usageDan Nicholson4-1/+38
Add some more tests for handling unusual variables such as those that are quoted or that contain shell characters. This should help make the --variable output more reliable in the future. https://bugs.freedesktop.org/show_bug.cgi?id=93284
2016-02-26Only unquote --variable when it appears quotedDan Nicholson3-15/+46
The change to unquote values in the --variable output broke users that had shell special characters in the variable. Instead, only unquote if the value starts with " or '. A larger fix to do a full unquote, split and escaping like --cflags/--libs is possible, but that might break the old semantics even further. Add a new function, parse_package_variable(), to handle that logic. https://bugs.freedesktop.org/show_bug.cgi?id=93284
2016-02-26Revert "Unquote values of requested variables"Dan Nicholson2-20/+4
This reverts commit 50c2867f4a6981e085c721d936c96f174f11f415. g_shell_quote doesn't match the quoting behavior of pkg-config when the same variables are output via --cflags and similar. https://bugs.freedesktop.org/show_bug.cgi?id=93284
2016-01-29Also match -Wl,-framework for OSX frameworkDan Nicholson3-3/+5
Freedesktop #1278 (https://bugs.freedesktop.org/show_bug.cgi?id=1278)
2016-01-29Allow overriding package variables with env varsAlexander Larsson4-2/+80
pkg-config allows a way to override package variables through the --define-prefix interface, but this is very cumbersome to do in a global way since it always needs to be passed on the command line and the override cannot be scoped to a single packge. Allow overriding package variables using environment variables of the form PKG_CONFIG_$PACKAGE_$VARIABLE. For example, setting PKG_CONFIG_GLADEUI_2_0_CATALOGDIR will override the variable "catalogdir" in the "gladeui-2.0" package. https://bugs.freedesktop.org/show_bug.cgi?id=90917
2016-01-29Pass key into parse_package_key so it can be set earlyAlexander Larsson3-22/+27
We will need this to properly pick up environment-overridden per-package vairables. https://bugs.freedesktop.org/show_bug.cgi?id=90917
2015-10-28README.win32: Add info on building with MSVCChun-wei Fan1-0/+19
2015-10-26build: Add NMake makefiles for Visual Studio buildsChun-wei Fan3-0/+165
This adds a set of NMake Makefiles that can be used to build pkg-config on Windows using Visual Studio. Note that, since the Visual Studio builds of GLib does not use pkg-config, this NMake Makefile set does not support the build of the bundled GLib sources, instead, having GLib built beforehand is required.
2015-10-26build: Add a pre-configure config.h template for MSVC buildsChun-wei Fan3-1/+102
This adds a pre-configured config.h(.win32.in) that can be used for builds on Visual Studio, where autotools is normally not available, so that we can build pkg-config on Visual Studio.
2015-10-26build: Split Out Source ListingChun-wei Fan2-8/+10
Move the source listing into another Makefile module so that it can be shared with other Makefile-based build mechanisms.
2015-10-26pkg.c: Port from dirent to GDirChun-wei Fan1-13/+13
Port the code to use the GDir APIs from dirent so that we don't have to depend on a dirent implementation on platforms that do not have it, such as Visual Studio, so that it is possible to build pkg-config out of the box on any platform that is supported by GLib (and the bundled GLib).
2015-09-26Update to 0.29pkg-config-0.29Dan Nicholson2-1/+37
2015-09-26m4: Change all comment markers to dnlDan Nicholson1-118/+122
Using # leaves the comments within the generated configure file, which is just unnecessary bloat since no one would read the generated configure file for the documentation of the macros.
2015-09-26m4: Add Since releases and cleanup commentsDan Nicholson1-12/+29
Note which release each macro was added in and cleanup the comments to be more consistent between them.
2015-09-26m4: Update serial to 11Dan Nicholson1-1/+1
This was determined by counting the number of changes to pkg.m4 since the initial serial number was added. The trailing comment is also updated to have the version number substituted.
2015-09-26m4: Add PKG_PREREQ version checking macroDan Nicholson3-0/+31
While PKG_PROG_PKG_CONFIG checks the version of pkg-config available at build time, it doesn't check the version of the pkg-config macros being used. PKG_PREREQ (like AC_PREREQ or LT_PREREQ) can be used to check the version of the macros in use when configure is being generated by the developer. https://bugs.freedesktop.org/show_bug.cgi?id=89267
2015-09-26m4: Process pkg.m4 through AC_CONFIG_FILESDan Nicholson3-2/+3
Currently there are no substitutions needed in pkg.m4, but this will allow autoconf values such as the package version to be included.
2015-06-13build: Force linking of host toolDan Nicholson1-1/+1
In case a reinstall is being performed, ensure than an existing host tool is overwritten. https://bugs.freedesktop.org/show_bug.cgi?id=90437
2015-04-20Enable large file supportPeter Jones1-0/+3
https://bugs.freedesktop.org/show_bug.cgi?id=90078 Signed-off-by: Peter Jones <pjones@redhat.com>
2015-02-21Fix relocatable test in wineDan Nicholson1-2/+2
Wine outputs the paths with carriage returns, which later breaks commands they're used in. Hopefully this doesn't break the msys case, but I think it should be safe enough. Really this needs general handling of Windows paths instead of ad hoc fixes, but that's for another day. https://bugs.freedesktop.org/show_bug.cgi?id=66939
2015-02-21Sort --print-variables outputDan Nicholson2-10/+13
Makes the output consistent regardless of how glib puts together the variables hash table. https://bugs.freedesktop.org/show_bug.cgi?id=66939
2014-12-09Quote pc_path virtual variableDan Nicholson1-1/+3
Since we unquote variables on printing, we want to quote in before adding to the database. For all other variables defined in .pc files, we assume that the user has quoted the variable correctly. This was broken with the fix for bug 67904, but seems to only affect Windows builds.
2014-12-09check: Test that the pcfiledir variable is output correctlyDan Nicholson1-5/+14
2014-12-09Handle pcfiledir variable like normal variableDan Nicholson3-10/+10
Rather than responding to the pcfiledir variable specially, store it in the hash table with all the other package specific variables. This does result in pcfiledir showing up in the --print-variables output.