William Pitcock
b0ef708efc
libpkgconf: pkg: pkg_get_parent_dir(): use caller-supplied buffer instead of a static buffer to make reentrant
2017-09-08 19:23:04 -05:00
William Pitcock
b9dac13ef3
libpkgconf: tuple: pkgconf_tuple_parse(): remove unnecessary static buffer declaration
2017-09-08 19:17:38 -05:00
William Pitcock
47ce9765a8
libpkgconf: define SIZE_FMT_SPECIFIER on POSIX and Windows platforms and use it in place of %zu
...
The MSVCRT runtime as used on Windows does not support %zu, but instead recommends %Iu. As we want
to remain portable to other runtimes, even on Windows, we do not use %Iu, but instead expand it logically
to either %lu or %llu depending on if it's _WIN32 or _WIN64 headers.
On POSIX, we assume C99 support is available and always use %zu, as pkgconf has never supported anything
earlier than C99 officially.
Closes #125 .
2017-09-08 18:46:48 -05:00
William Pitcock
a6d6b88d14
libpkgconf: path: fix logic error in path relocation case when matching against a list ( closes #129 )
2017-09-08 18:27:04 -05:00
William Pitcock
9505213c1b
tuple: check expanded variables to see if a sysroot has been duplicated, and if so, remove the prepended sysroot.
...
This allows compatibility between legacy pkg-config's broken sysroot implementation and pkgconf's sysroot
implementation, by removing any prepended sysroot paths and preferencing the variable expansion sysroot path
we typically do instead.
Closes github #123 .
2017-07-16 17:37:41 -05:00
Maxin B. John
74666bff38
stdinc.h: fix build with mingw ( #122 )
...
Fixes this build error with mingw:
...
| compilation terminated.
| In file included from ../pkgconf-1.3.7/libpkgconf/libpkgconf.h:19:0,
| from ../pkgconf-1.3.7/libpkgconf/audit.c:16:
| ../pkgconf-1.3.7/libpkgconf/stdinc.h:36:12: fatal error: BaseTsd.h: No
such file or directory
| # include <BaseTsd.h>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
2017-07-16 13:21:45 -05:00
Jussi Pakkanen
40fd995060
Experiment to build with Meson ( #119 )
...
* Initial Meson build definitions.
* Install man page and headers.
2017-06-19 19:03:00 -05:00
William Pitcock
864b14e5b9
Merge branch 'cmakeify' of github.com:dankegel/pkgconf
2017-06-16 21:06:01 -05:00
William Pitcock
03f7841065
libpkgconf: pkg: windows can use either \ or / as directory separators
...
ref #118
2017-06-16 15:27:23 -05:00
William Pitcock
d45e850130
Revert "pkg: use pkgconf_pkg_t.realname instead of pkgconf_pkg_t.id for injecting the default provides entry"
...
This reverts commit 0c22b4d8a1
.
2017-06-16 13:03:51 -05:00
William Pitcock
0c22b4d8a1
pkg: use pkgconf_pkg_t.realname instead of pkgconf_pkg_t.id for injecting the default provides entry
...
This issue was noticed while porting pkgconf to Windows.
ref #118
2017-06-16 11:49:54 -05:00
Dan Kegel
794aa5016a
Tidy up a bit.
2017-06-05 20:54:57 -07:00
Dan Kegel
ededaa6415
cmake: add missing configure variables, install headers and .pc file, use simpler line to invoke kyua, tweak build location of dll for ease of testing
2017-06-05 17:40:10 -07:00
Dan Kegel
4ba2bac538
Don't depend on libtool magic to control which symbols are exported from shared libraries
2017-06-05 14:00:02 -07:00
Dan Kegel
9258874ee1
cmake: use right soversion for libpkgconf
2017-06-05 10:23:56 -07:00
Dan Kegel
8b4a4b831b
First draft of cmake install rules
2017-06-04 19:32:08 -07:00
Dan Kegel
4d7b4d7c8e
Minimal tweaks to compile with Visual C 2015
2017-06-04 19:19:55 -07:00
Dan Kegel
35d0f63daf
win-dirent.h: MIT-licensed port of dirent to win32 from https://github.com/tronkko/dirent
2017-06-04 19:19:01 -07:00
Dan Kegel
251f747343
First draft of cmake port
2017-06-04 17:44:37 -07:00
William Pitcock
d280060ed7
libpkgconf: pkg: add additional validation rules in post-parse phase
2017-05-19 23:37:57 -05:00
William Pitcock
0262b8251d
libpkgconf: pkgconf_pkg_find(): correctly handle failure from pkgconf_pkg_new_from_file()
2017-05-19 23:33:49 -05:00
William Pitcock
cf3c50ca78
libpkgconf: pkg: pkgconf_try_specific_path() and pkgconf_pkg_new_from_file() require a mutable client to release resources when encountering invalid packages
2017-05-19 23:21:58 -05:00
William Pitcock
3c7f82a7fb
fragment: also protect -nostdinc, -nostdlibinc, -nobuiltininc
2017-05-09 19:38:57 -05:00
William Pitcock
74eb74a3ef
fragment: handle -include similarly to -isystem and -idirafter
2017-05-09 19:37:23 -05:00
William Pitcock
9fde4be1f3
fragment: also protect -ansi, -std=, -stdlib=, -pedantic, -trigraphs, -Wa, and -Wp fragments
2017-05-09 19:34:39 -05:00
William Pitcock
c7a8e1e3b8
fragment: give -Wl fragments the same protection as -pthread
2017-05-09 19:30:02 -05:00
William Pitcock
90d52e6c2a
fragment: add -pthread as a special fragment
2017-05-05 01:40:57 -05:00
William Pitcock
6e643aa432
libpkgconf: hopefully the last necessary tweak to quoting...
2017-03-29 18:00:57 -05:00
William Pitcock
acac1f8ed3
libpkgconf: pkg: show iteration depth when traversing
2017-03-24 00:59:53 -05:00
William Pitcock
81011ba522
main: implement --short-errors ( #115 )
2017-02-27 09:54:02 -06:00
William Pitcock
794443a92a
dependency: break API to add tracepoints to dependency list building
2017-02-25 16:04:55 -06:00
William Pitcock
e0c9569f14
fragment: add tracepoints
2017-02-25 15:53:50 -06:00
William Pitcock
01fe5743ea
fragment: add new option to control escaping shell arguments
2017-02-25 15:32:49 -06:00
William Pitcock
ae42261c3f
argvsplit: refactor splitting state machine
2017-02-25 15:04:08 -06:00
John Hein
9b255d465c
If PKG_CONFIG_PATH element is a sym link, use the link destination instead of the link for inode caching checks.
...
See issue 112 & issue 110 (https://github.com/pkgconf/pkgconf/issues )
2017-02-24 23:26:41 -06:00
John Hein
76b8e0a26b
Normalize the path to remove duplicate / separators rather than possibly altering the path with realpath(3). Leave sym links as is in path components. This is also cheaper than realpath(3), and works on platforms that don't have realpath(3).
...
Note: if this is accepted, the check for realpath in configure.ac
can be removed, and some docs that mention realpath will be adjusted.
2017-02-24 23:26:10 -06:00
William Pitcock
d558e30ab3
libpkgconf: argvsplit: quoting logic was simplified too much
2017-02-07 10:25:38 -06:00
William Pitcock
b0c36cd128
libpkgconf: pkg: add some trace points
2017-02-04 20:35:49 -06:00
William Pitcock
16ecf82fd7
libpkgconf: client: bring up the default trace handler as early as possible
2017-02-04 20:09:21 -06:00
William Pitcock
f7f0bfc460
libpkgconf: cache: add trace points
2017-02-04 20:01:41 -06:00
William Pitcock
2b6bb5a252
libpkgconf: client: add trace points
2017-02-04 19:50:58 -06:00
William Pitcock
d20efff495
libpkgconf: overhaul pkgconf_trace() a little
2017-02-04 19:49:59 -06:00
William Pitcock
820ad83edd
libpkgconf: pkg: add variable whitespace warnings back, using pkgconf_warn().
2017-02-04 19:05:28 -06:00
William Pitcock
bef293080a
libpkgconf: client: add trace logging too
2017-02-04 18:57:21 -06:00
William Pitcock
a6755cd792
libpkgconf: client: add pkgconf_warn()
2017-02-04 18:46:53 -06:00
William Pitcock
eb98a1e6c3
libpkgconf: client: clean up various aspects of error/warn handlers
2017-02-04 18:46:33 -06:00
William Pitcock
d884dc46a2
libpkgconf: client: ensure error/warn handlers always have a sane default instead of actually NULL
2017-02-04 18:41:16 -06:00
William Pitcock
c0b6a62c40
libpkgconf: client: add warn handler and getter/setter for both warn handler and error handler
2017-02-04 18:37:58 -06:00
William Pitcock
647c0255aa
libpkgconf: add PKGCONF_PKG_PKGF_DONT_RELOCATE_PATHS ( #110 )
...
main: add PKG_CONFIG_DONT_RELOCATE_PATHS environment variable and --dont-relocate-paths option to disable path relocation
2017-02-03 13:17:21 -06:00
William Pitcock
fe40bc33f8
libpkgconf: argvsplit: do not consider ' or " to be equivalent to \ ( #111 )
2017-02-03 12:53:50 -06:00