William Pitcock
b06bbe75a4
libpkgconf: path: only enable cygwin path relocation backend for msys (ref #72 )
2017-01-23 23:17:26 -06:00
William Pitcock
e87595b3d1
libpkgconf: use a better check instead of stat() for pkg-config file iteration, avoiding a TOCTOU race condition identified by coverity
2017-01-23 12:42:13 -06:00
William Pitcock
db65f935f0
libpkgconf: iter: check list->tail for null, not list->head
2017-01-23 00:24:13 -06:00
William Pitcock
0927ecf1c6
Revert "Actually fix the regression introduced in 7b39c38"
...
This reverts commit 5e5c418837
.
2017-01-22 23:29:59 -06:00
William Pitcock
5554be4986
libpkgconf: queue: chase API change (mark static root virtual packages as static)
2017-01-22 23:28:51 -06:00
William Pitcock
0c01a81299
libpkgconf: split virtual/static package state (this is API/ABI safe, static packages are always treated as virtual when it comes to mutation)
2017-01-22 23:26:01 -06:00
William Pitcock
9ece7cd487
libpkgconf: move sys/stat.h inclusion out of stdinc.h to the only other consumer of sys/stat.h
2017-01-22 23:09:38 -06:00
William Pitcock
e5f3dac6e7
libpkgconf: pkg: handle error value from stat(2).
2017-01-22 23:07:39 -06:00
William Pitcock
67796a1d86
libpkgconf: argvsplit: make escape handling more explicit
2017-01-22 23:04:01 -06:00
Igor Gnatenko
5db87c9685
remove dead assignments ( #109 )
...
* remove dead assignments
None of them are used.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
* The address of an object "&pkgconf_pkg_provides_vermatch_rules[pkgdep->compare]" is never null
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
* Overrunning array pkgconf_pkg_comparator_names at element index 7
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-01-22 11:31:34 -08:00
Baptiste Daroussin
5e5c418837
Actually fix the regression introduced in 7b39c38
2017-01-22 11:26:43 +01:00
Baptiste Daroussin
17be554a21
Revert "Fix regression introduced in 7b39c38"
...
This reverts commit 7d89f659ff
.
2017-01-22 11:23:24 +01:00
Baptiste Daroussin
7d89f659ff
Fix regression introduced in 7b39c38
...
now pkgconf --variable=pc_path pkg-config works
2017-01-22 10:44:09 +01:00
William Pitcock
7237b811e7
add support for making paths relocatable ( closes #103 )
2017-01-20 00:58:48 -06:00
William Pitcock
ced4f00363
libpkgconf: client: add pkgconf_client_[get|set]_prefix_varname()
2017-01-19 19:16:00 -06:00
William Pitcock
13cf74c7a3
libpkgconf: kill flags from top-level fragment API (ref #105 )
2017-01-19 18:23:25 -06:00
William Pitcock
7b39c38408
libpkgconf: pkg: clean up use of flags variable (ref #105 )
2017-01-19 18:17:29 -06:00
William Pitcock
127fd037d4
libpkgconf: pkg: uncouple resolver flags from pkgconf_pkg_dir_list_build(). (ref #105 )
2017-01-19 17:35:57 -06:00
William Pitcock
0ca6a16ce5
libpkgconf: queue: nuke flags parameters (ref #105 )
2017-01-19 17:32:38 -06:00
William Pitcock
597c3c7faf
libpkgconf: client: add pkgconf_client_t.flags and a get/set interface for it
2017-01-19 17:22:20 -06:00
William Pitcock
1ee3c12f53
libpkgconf: path: use pkgconf_path_relocate() when matching paths
2017-01-19 10:43:23 -06:00
William Pitcock
fa927fd379
libpkgconf: path: pkgconf_path_relocate(): implement realpath backend
2017-01-19 10:36:07 -06:00
William Pitcock
0315832285
doc: document pkgconf_path_relocate()
2017-01-19 10:31:40 -06:00
William Pitcock
4f94090fe4
libpkgconf: fragment: make pkgconf_fragment_filter() accept userdata ( closes #106 )
2017-01-18 20:25:19 -06:00
William Pitcock
b428eeaacf
libpkgconf: remove legacy check to ensure pkgconf_pkg_dir_list_build() is only called once.
...
this is not necessary anymore because:
- we do path entry deduplication
- it is possible that we want to prime the dir list with some user-specified paths prior to building it
2017-01-18 11:29:24 -06:00
William Pitcock
147fd80750
path: relocate system libdir/includedir if appropriate
2017-01-13 20:12:38 -06:00
William Pitcock
cb1dc71e23
fragment: simplify pkgconf_fragment_copy_munged()
2017-01-13 20:10:02 -06:00
William Pitcock
87a5a1f0cc
path: when stubbing pkgconf_path_relocate(), suppress unused variables warnings
2017-01-13 20:08:22 -06:00
William Pitcock
27c3710521
fragment: when munging, do a path relocation too
2017-01-13 20:06:48 -06:00
William Pitcock
1369f558c6
path: add new pkgconf_path_relocate() API which is a stub when path
...
relocation is not needed
2017-01-13 20:05:21 -06:00
William Pitcock
7f6a185977
fragment: only munge if sysroot_dir is actually set
...
on cygwin/msys2, it is possible for munging to be enabled for other types of munging (instead of sysroot)
2017-01-13 19:55:54 -06:00
William Pitcock
4ba414f74a
fragment: handle oddball fragments like -framework more accurately
2017-01-07 15:04:34 -06:00
Baptiste Daroussin
3b3f1dc76e
Fix gcc warnings
2017-01-07 17:57:37 +01:00
Baptiste Daroussin
2e855972dc
inode cache: ensure we never use an unitilized struct stat
2017-01-07 17:52:44 +01:00
Graham Ollis
9c426b6f2c
do not filter non-existent directories if filter is off
2016-12-31 14:10:59 -06:00
William Pitcock
0c690dc891
libpkgconf: fragment: fix over-optimization of cflags/linker flags in edge cases involving non-standard options
2016-12-30 12:39:10 -06:00
William Pitcock
92f566ff38
libpkgconf: path: check both device node and inode for dedup. pointed out by @plicease
2016-12-30 11:39:45 -06:00
William Pitcock
2305031573
libpkgconf: path: make the duplicate filtering opt-in. some path lists should not be deduped (compiler path lists, for example)
2016-12-30 11:13:04 -06:00
William Pitcock
bad0da0c03
libpkgconf: path: filter out duplicate path entries by inode if possible ( closes #102 )
2016-12-30 11:01:15 -06:00
William Pitcock
aa041b415e
libpkgconf: path: add naive path list filtering function
2016-12-30 10:44:01 -06:00
William Pitcock
135da1440c
libpkgconf: iter: track list lengths
2016-12-30 09:57:01 -06:00
William Pitcock
ad1e414dee
libpkgconf: fragment: handle -idirafter in the same way as -isystem
...
(https://bugs.freedesktop.org/show_bug.cgi?id=97337 )
2016-12-30 02:47:42 -06:00
William Pitcock
c916e3a437
libpkgconf: client: filter all of the path-related GCC environment variables listed in the GCC manual (not just the ones in pkg-config)
2016-12-30 02:39:18 -06:00
William Pitcock
1ece862e87
libpkgconf: client: some toolchains have C_INCLUDE_PATH and CPLUS_INCLUDE_PATH, treat them as PKG_CONFIG_SYSTEM_INCLUDE_PATH.
2016-12-30 02:35:36 -06:00
William Pitcock
6ef4a853b5
libpkgconf: migrate pkgconf client fragment_is_system_dir() to a libpkgconf API
2016-12-21 20:06:17 -06:00
William Pitcock
cd0160a4a2
libpkgconf: handle PKG_CONFIG_SYSTEM_INCLUDE_PATH and PKG_CONFIG_SYSTEM_LIBRARY_PATH environment variables at client init time
2016-12-21 19:55:01 -06:00
William Pitcock
f6b074f267
libpkgconf: path: make pkgconf_path_match_list() take a const list argument
2016-12-21 19:50:05 -06:00
William Pitcock
61c750fde3
libpkgconf: pkg: cleanup and document pkg module
2016-12-15 23:36:59 -06:00
William Pitcock
32c8c73d8b
libpkgconf: pkg: pkgconf_pkg_find_in_registry_key() should actually be private
2016-12-15 22:57:15 -06:00
William Pitcock
21a6d6cd59
libpkgconf: client: set the error handler to default error handler if NULL was provided for the error handler
2016-12-15 22:33:22 -06:00