summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* build: Force linking of host toolDan Nicholson2015-06-131-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
* Enable large file supportPeter Jones2015-04-201-0/+3
| | | | | | https://bugs.freedesktop.org/show_bug.cgi?id=90078 Signed-off-by: Peter Jones <pjones@redhat.com>
* Fix relocatable test in wineDan Nicholson2015-02-211-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
* Sort --print-variables outputDan Nicholson2015-02-212-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
* Quote pc_path virtual variableDan Nicholson2014-12-091-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.
* check: Test that the pcfiledir variable is output correctlyDan Nicholson2014-12-091-5/+14
|
* Handle pcfiledir variable like normal variableDan Nicholson2014-12-093-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.
* Use same token for malloc as for string constructionDaniel Macks2014-11-121-1/+1
| | | | | | | | | | | The goal is for pkgname to hold the name without the trailing ".pc" extension (according to the meaning of EXT_LEN as used in the ends_in_dotpc() function). But the malloc is hardcoded as 2. If the extension were to be changed, the number of characters being strncpy'ed would not match the size of the target buffer. Instead, the malloc should use the EXT_LEN token (adjusted for the trailing \0). Freedesktop #80378 (https://bugs.freedesktop.org/show_bug.cgi?id=80378)
* Bump scanned_dir_count even if dir cannot be readDaniel Macks2014-11-121-5/+6
| | | | | | | | | | | | | | | This allows the --debug output to follow the actual order of the directories specified in the path. $ PKG_CONFIG_PATH=/nosuch1:/nosuch2:/dir-with-foo.pc $ pkg-config --debug foo [...] Path position of 'foo' is 1 With this change, the path position above would be 3, matching the position in PKG_CONFIG_PATH. Freedesktop #80380 (https://bugs.freedesktop.org/show_bug.cgi?id=80380)
* Add --validate option to check .pc syntax without dependenciesDan Nicholson2014-09-272-3/+22
| | | | | | | | | Provide developers a way to check their .pc files prior to release. This works the same as --exists except that package dependencies are not processed. That allows the .pc file to be checked in complete isolation of others. Freedesktop #7000 (https://bugs.freedesktop.org/show_bug.cgi?id=7000)
* Strip system library directories reliablyAndrew Oakley2014-09-271-1/+0
| | | | | | This loop was changed from a while loop to a for loop in commit 9bf6277b, but the iterator is now advanced twice each time round the loop.
* Ensure usage of serial test driver in automakeDan Nicholson2014-09-271-2/+14
| | | | | | | | | Automake has a nice parallel test driver available since 1.12 which became the default in 1.13. Unfortunately, it breaks the pkg-config testsuite, so we need to ensure the serial test driver is used. On 1.12, we can specify the option 'serial-tests', but this doesn't exist on 1.11. Kludge around this by detecting if the automake version is less than 1.12 and leaving the option out in that case.
* Update overlinking URL in guideDan Nicholson2014-09-221-2/+2
| | | | | The Mandriva wiki is just being archived now, so point to the active OpenMandriva article instead.
* glib: Fix Makefiles to suppress warnings from automakeDan Nicholson2014-02-033-6/+6
| | | | | | With the newly added glib.mk, some of the noinst_* variables need to use += in the evaluation to avoid multiple definition warnings from automake.
* glib: Update snapshot version to 2.38.2Dan Nicholson2014-02-03203-20009/+20081
| | | | | | | | This is the latest stable release from upstream. Patches have been refreshed, including putting the removal of most pkg-config checks into the glib-only patch. A few more files, most notably the large NEWS file, have also been removed from the repo to keep the size of the snapshot down.
* Don't used C reserved identifiersDan Nicholson2013-12-161-6/+6
| | | | | | | | | | Seems incredibly unlikely this would ever be an issue, but it's easy enough to fix it. I fear for the Glib/GObject world where this is a standard design pattern. https://www.securecoding.cert.org/confluence/display/seccode/DCL37-C.+Do+not+declare+or+define+a+reserved+identifier Freedesktop #70690 (https://bugs.freedesktop.org/show_bug.cgi?id=70690)
* Ensure -isystem Cflags not compressed like -IDan Nicholson2013-12-143-7/+9
| | | | | | | Treat -isystem specially like -idirafter so that multiple arguments retain the preceding -isystem. Freedesktop #72584 (https://bugs.freedesktop.org/show_bug.cgi?id=72584)
* check: Rework dirafter test to handle all special casesDan Nicholson2013-12-144-14/+16
| | | | | Expand the special flags test to check -framework usage and the handling of multiple arguments.
* Add missing options to manualMatthias Clasen2013-09-211-2/+18
| | | | Freedesktop #66155 (https://bugs.freedesktop.org/show_bug.cgi?id=66155)
* Unquote values of requested variablesMarek Kasik2013-09-152-4/+20
| | | | | | | | | If a --variable is requested, make sure to remove the quoting since it's likely the value will be used verbatim in shell command substitution. If the quotes remain in the value, they'd get embedded in the shell variable, too. Freedesktop #67904 (https://bugs.freedesktop.org/show_bug.cgi?id=67904)
* Strip trailing space from --cflags/--libs outputDan Nicholson2013-05-311-0/+4
| | | | | | | | pkg-config leaves a trailing space on the flags output as it may have to do multiple iterations to collect all output and adding the space makes concatenation simple. However, this leaves a trailing space on the full returned string unless it's empty. Strip the trailing space after all the processing is complete.
* check: Convert paths to Windows format when using --define-prefixDan Nicholson2013-05-311-0/+8
| | | | | | | | When pkg-config redefines the .pc file's prefix variable, it will be in the platform's native format. Convert the expected results as necessary. This only affects the relocatable test because it explicitly sets --define-prefix or uses .pc files in a pkgconfig/ directory. Other tests do not have their prefixes redefined for this reason.
* check: Make relocatable script executableDan Nicholson2013-05-221-0/+0
|
* Avoid const warning on Win32Dan Nicholson2013-05-201-1/+1
| | | | | scan_dir() alters the directory name in place on Win32 to convert \ to /, so it can't be treated as const.
* Add static linking variant of PKG_CHECK_MODULESDan Nicholson2013-05-182-0/+23
| | | | | | | | PKG_CHECK_MODULES_STATIC is a convenience autoconf macro wrapping PKG_CHECK_MODULES with --static enabled. This gives developers a way to get static linking information from a specific set of modules. Freedesktop #19541 (https://bugs.freedesktop.org/show_bug.cgi?id=19541)
* Allow errors in .pc files for --list-allDan Nicholson2013-05-176-42/+105
| | | | | | | | | | | Normally, the parser will exit immediately when it encounters errors in .pc files. This is good most of the time, but for --list-all, the purpose is to just get a quick list of packages and not to validate .pc files. This is especially the case for pkg-config wrappers such as the Ruby or Bash completion modules that scrape the output from --list-all and don't expect to encounter errors there. Freedesktop #26615 (https://bugs.freedesktop.org/show_bug.cgi?id=26615)
* Silence errors by default with --list-allDan Nicholson2013-05-172-17/+18
| | | | | | | When listing all packages, the purpose is to get a quick look at what's installed and not to scrutinize the validity of each .pc file. To see errors from the parser during --list-all, the user can just add --print-errors.
* rpmvercmp: Use helper macros to match upstream code betterDan Nicholson2013-05-171-8/+14
| | | | | | | | | | | | Upstream rpm has some convenience inline functions for strcmp and the character class functions. Define some macros here to make our code look more like upstream despite being the same functionally. One difference noted while investigating the inline functions in upstream is that the rpm character class functions are slightly different from the standard functions. The rpm functions are independent of locale, unlike the libc routines. pkg-config should probably do the same and could easily use the g_ascii_is* macros from glib.
* rpmvercmp: Return -1/0/1 as function says it willDan Nicholson2013-05-171-1/+1
| | | | | | | | | | | strcmp is only guaranteed to return !0 when the strings are unmatched while rpmvercmp says it will return only -1 or 1 in those cases. pkg-config currently only checks for !0, so this doesn't actually fix any issues here. However, this is harmless and helps minimize the diff with upstream rpmvercmp. http://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=ee64849e
* rpmvercmp: Formatting & comment updates to reduce upstream diffDan Nicholson2013-05-171-7/+12
| | | | | No changes to code, only to comments and formatting so that diff with upstream rpmvercmp is reduced.
* Split rpmvercmp code into separate fileDan Nicholson2013-05-174-103/+142
| | | | | | | The rpmvercmp code is taken directly from upstream. Moving it to a separate file allows it to be diffed and synced easily with the upstream version. It also becomes really easy to switch to the actual rpmlib version if that's ever desired.
* check: Test relocatable featuresDan Nicholson2013-05-175-2/+68
| | | | | | | Exercise the ${pcfiledir} and --define-prefix features for allowing relocation of packages. The --define-prefix test .pc files are put in a pkgconfig subdirectory since the feature will only be enabled in that situation.
* check: Define all useful build directories in config.shDan Nicholson2013-05-171-0/+5
| | | | | | Define all the autoconf build directories besides srcdir, which is required to run the test scripts and set by "make check", and builddir, which is always assumed to be ".".
* Document all pkg-config derived metadata variablesDan Nicholson2013-05-171-5/+36
| | | | | | | | | | | The derived variables pcfiledir, pc_top_builddir and pc_sysrootdir were lacking in documentation. Rework the "QUERYING PKG-CONFIG'S DEFAULTS" section to describe these and pc_path. The example of using "pkg-config --modversion pkg-config" was removed since it's superfluous to "pkg-config --version". Freedesktop #62018 (https://bugs.freedesktop.org/show_bug.cgi?id=62018)
* Make the --define-prefix feature available on all platformsDan Nicholson2013-05-174-30/+27
| | | | | | | | Allowing pkg-config to override the prefix variable in .pc files is a useful feature for making packages relocatable. There's nothing Windows specific about it. Freedesktop #63602 (https://bugs.freedesktop.org/show_bug.cgi?id=63602)
* Remove compat definition of G_IS_DIR_SEPARATORDan Nicholson2013-05-171-6/+0
| | | | | This has been available on glib since 2.5.4, and pkg-config requires at least 2.16.
* Store the original prefix value in the packageDan Nicholson2013-05-172-9/+10
| | | | | Avoids making implicit assumptions about parse ordering needed to store the original prefix as a static file local variable.
* Allow Windows prefix redefinition in any pkgconfig directoryDan Nicholson2013-05-172-43/+29
| | | | | | | | | | | | | | The prefix redefinition feature on Windows to make packages relocatable was being confined only to locations where the .pc file was in a directory ending in lib/pkgconfig or share/pkgconfig. This is too restrictive as it's quite common for the libdir to have a different name such as lib64. This keeps the convention that the feature will only be enabled when the .pc file is in a pkgconfig directory, and it continues to define the prefix to the grandparent of the pkgconfig directory. The path handling is switched over to standard glib functions g_path_get_basename and g_path_get_dirname to avoid handrolled handling of Windows paths.
* Allow more control of redefined prefix behaviorDan Nicholson2013-05-175-14/+40
| | | | | | | | | | | Currently the native Win32 builds default to redefining the prefix variable in .pc files based on their installation paths. This behavior is not always desired when pkg-config is being used in a traditional fixed path environment (e.g., /mingw like /usr). Allow the default to be set via configure switch --enable/disable-define-prefix, and allow it to be set both ways at runtime through the --[dont-]define-prefix pkg-config option.
* Fix default path in PKG_CONFIG_LIBDIR descriptionDan Nicholson2013-04-201-1/+4
| | | | It's been a long time that $datadir/pkgconfig was in the default path.
* check: Make check-tilde executable like all other test scriptsDan Nicholson2013-04-201-0/+0
|
* Document search path construction on WindowsDan Nicholson2013-04-181-0/+12
|
* Fix regression in -L mangling for MSVCDan Nicholson2013-04-181-1/+1
| | | | | | | Commit 9bf6277b reworked how Libs arguments are parsed but unfortunately added an extra library suffix component into -L arguments. This only affects MSVC syntax where the suffix is .libs. All other platforms use a blank suffix in linker commands.
* Run cmd through Wine when availableDan Nicholson2013-04-092-1/+2
| | | | | If we have Wine, it will provide cmd so we can build the pkg-config path for the test.
* Check for Wine when cross-compiling to WindowsDan Nicholson2013-04-091-0/+7
| | | | | If Wine is available when cross-compiling to Windows, it can be used to run the test suite from the build machine.
* Substitute TESTS_PKG_CONFIG from configureDan Nicholson2013-04-092-1/+4
| | | | This just paves the way to calculate more useful defaults in a shell.
* Adjust PKG_CONFIG_PATH for tests correctly on WindowsDan Nicholson2013-04-091-2/+3
| | | | For native Windows, the PKG_CONFIG_PATH separator is ; rather than :.
* Mangle expected sysroot output to match MSYS shellDan Nicholson2013-04-091-2/+7
| | | | | | | | | MSYS mangles UNIX paths on execution such that it prepends its root in Windows format. This affects PKG_CONFIG_SYSROOT_DIR and thus the check-sysroot test. Detect MSYS from the OSTYPE environment variable and adjust the expected test results to match. This likely means that sysroot support doesn't actually work on MSYS, but there probably aren't any toolchains that support sysroot there, anyway.
* Flush stderr when not immediately exitingDan Nicholson2013-04-091-0/+2
| | | | | | | When printing warnings on stderr that don't immediately exit pkg-config, flush it so that the messages appear in order with stdout. This is mostly to keep the test suite passing on Windows where output may appear differently than on Linux.
* Adjust expected path for native Windows testDan Nicholson2013-04-093-8/+24
| | | | | | | When check-path is run on native Windows (MINGW), that path reported by `pkg-config --variable=pc_path pkg-config` is adjusted to the directory pkg-config is run from. Adjust the expected result based on getting the current directory from cmd in Windows format.