William Pitcock
0e0ab8318b
pkg: pkg_libs(): consider both Libs and Libs.private fragments at the same time instead of separately (fixes many ordering problems with --static) ( closes #68 )
2015-05-21 22:14:37 -05:00
Alexpux
39e3fc1c46
Fix expanding PKG_DEFAULT_PATH under Windows.
2014-08-08 13:19:34 +04:00
Jean-Sébastien Pédron
bff5f15d0a
Support .pc file without a trailing newline
...
Some editors write text files without a newline character at the end of
the last line.
Before this change, the main loop in pkg_new_from_file() expected a
newline character at the end of the line and overwrote it with a NUL
character. In the case of the last line in a non-newline-terminated
file, this ate the last character of that line.
Now, the pkg_fgetline() function takes care of returning a line without
the newline character (or the "\r\n" sequence in case of a DOS file
format).
2014-08-02 14:07:25 +02:00
William Pitcock
12ff14f856
fragments: handle sysroot dir munging directly in a smarter way
...
Previously we just let the tuple system handle it, but pkg-config modules which do not define
variables were able to get by the checks. While here, check to ensure we do not duplicate the
sysroot dir twice if it is already defined in the pkg-config module file.
Downstream bug: https://bugs.busybox.net/show_bug.cgi?id=5750
2014-07-09 01:23:51 -05:00
William Pitcock
9f94461b7a
pkg: make fields other than CFLAGS and LIBS case-sensitive ( closes #60 )
2014-02-10 23:57:50 +00:00
William Pitcock
9d960fb9d4
fragment: use forward-merge for static linking ( closes #51 )
2013-08-23 03:44:33 +00:00
Tony Theodore
1c658f0383
add Cflags.private fragment
2013-08-14 15:36:43 +10:00
Baptiste Daroussin
83877eb2f7
Do not ignore PKG_CONFIG_PATH if a direct path to a .pc file is supplied
2013-03-20 17:52:17 +01:00
Baptiste Daroussin
24207bd1d6
Do not overwrite eflags with walking though a long list of packages
2013-03-17 23:45:51 +01:00
William Pitcock
18153786a2
pkg: list all depgraph breaks (this is technically different than pkg-config, but nobody reads stderr)
2013-03-15 20:09:54 -05:00
William Pitcock
f9d93a1f81
main: --simulate: enhancements
2013-03-15 19:59:20 -05:00
William Pitcock
1554c3577f
pkg: rework PKG_CONFIG_PATH handling code.
...
As a side effect, the dependency resolver now understands that it should
check in the parent directory as well for dependencies if given a literal
path to a .pc file. (pkg-config 0.28 does not do this, it should.)
2013-03-15 18:11:43 -05:00
William Pitcock
48c6e4c383
pkg: improve pkg scandir target building
2013-03-15 17:55:44 -05:00
William Pitcock
874bd58ef0
pkg: clarify pkg not found error message
2013-03-15 17:40:25 -05:00
William Pitcock
d6fb7881d4
pkg: remove pkg_t.uninstalled, use a property flag instead
2013-03-01 12:06:52 -06:00
William Pitcock
1fd95f90eb
dependency: refactor to use pkg_list_t framework
2013-03-01 11:36:21 -06:00
William Pitcock
8330056dc1
fragment: refactor using pkg_list_t framework
2013-03-01 11:10:43 -06:00
William Pitcock
74e40fd128
tuple: refactor to use pkg_list_t framework
2013-03-01 10:45:55 -06:00
William Pitcock
dd53cd57f4
pkg: implement refcounting and a deeper cache
2013-02-25 23:29:57 -06:00
William Pitcock
e3d8475c36
pkg: readd cached sentinel
2013-02-25 22:47:32 -06:00
William Pitcock
c9831c1ed0
pkg: use pkg_cache APIs.
2013-02-25 22:40:30 -06:00
William Pitcock
7d3f234cba
pkg: pkg_report_graph_error() should be static
2013-02-25 08:56:57 -06:00
William Pitcock
a3d25fe930
pkg: ensure we actually have a package object before caching it
2013-02-25 08:47:37 -06:00
William Pitcock
01c2d1d44c
pkg: add support for munging tuples based on $(pc_sysrootdir) if requested
2013-02-24 08:58:35 -06:00
William Pitcock
b4eb42f3c3
Update copyrights on modified files to 2013.
2013-02-24 08:21:36 -06:00
William Pitcock
14f3e1edd2
pkg: implement a cache for packages and use it to break circular dependencies
2013-02-24 08:14:23 -06:00
William Pitcock
6e4573367d
pkg: add pkg_comparator_lookup_by_name().
2013-02-24 07:37:20 -06:00
William Pitcock
ef1f1a3a14
pkg: rework pkg_verify_dependency() to treat dependencies as bytecode
2013-02-24 07:32:26 -06:00
William Pitcock
ac2f99f6af
pkg: refactor pkg_get_comparator().
2013-02-24 07:20:50 -06:00
William Pitcock
3867a66434
pkg: pkg_get_parent_dir() should fall back to '/' directory separator if necessary
...
Some environments such as the MingW-MSYS shell environment use both \ and / as directory
separators, thusly we should fall back to the POSIX directory separator. Both directory
separators are fully supported by Windows.
2012-09-14 15:42:06 -05:00
Bryan Drewery
25ebc22d64
Fix crash when specified filename has no path separators
2012-08-25 16:34:00 -05:00
Baptiste Daroussin
4eedb041ed
if no cflags or libs are defined in .pc just return 0 and output nothing
2012-08-20 22:47:10 +02:00
Baptiste Daroussin
38abe86a17
Remove unneeded strdup(3)
2012-08-14 16:16:06 +02:00
Baptiste Daroussin
666019cfd0
Nuke use of basename/dirname where a simple strrchr can do the trick
2012-08-14 16:04:56 +02:00
Baptiste Daroussin
9a26337507
return 1 and do not output anything a requirement is missing
2012-08-12 12:33:37 +02:00
William Pitcock
390ff275c5
pkg: ensure libs.private merging is always after libs
2012-08-08 11:17:08 -05:00
William Pitcock
84ea074fbe
pkg: allow pkg_cflags() and pkg_libs() utility functions to have a user-provided list pointer.
...
Also chase this change in the frontend.
2012-08-08 11:09:37 -05:00
William Pitcock
953fb66ff3
pkg: fix backwards root-leaf traversal order.
...
This bug causes occasional problems when calculating inter-module dependencies in complex
dependency graphs, such as ffmpeg when cross-compiled.
Reported-by: Alexander Kojevnikov <alexander@kojevnikov.com>
Closes: Issue #33
2012-08-08 10:23:23 -05:00
William Pitcock
22d7625149
pkg: fix tilde operator
2012-07-30 05:03:55 -05:00
William Pitcock
004adad048
pkg: improve conflicts handling
2012-07-30 03:16:29 -05:00
William Pitcock
573cf8d21c
pkg: fix pkg_t.id initialization
2012-07-27 01:21:16 -05:00
William Pitcock
79ca134f7f
pkg: call stat(2) in scan function
2012-07-27 01:21:16 -05:00
William Pitcock
0ac7978ee2
pkg: bug fixes
2012-07-27 01:21:16 -05:00
William Pitcock
6f5fbb80d4
pkg: add pkg_scan() and pkg_scan_all() functions.
2012-07-27 01:21:16 -05:00
William Pitcock
0a5cb4c4ec
everything: update copyright to note multiple authors
2012-07-25 21:09:31 -05:00
William Pitcock
3388277b9b
pkg: implement dpkg-style version comparison rules
2012-07-23 21:07:57 -05:00
William Pitcock
111046f100
pkg: add support for $(pc_path) variable for extracting PKG_DEFAULT_PATH
2012-07-22 23:16:39 -05:00
William Pitcock
3d7455f82b
pkg: add description and url fields to pkg-config virtual
2012-07-22 23:09:10 -05:00
William Pitcock
29ea7ce460
pkg: add pkg_get_parent_dir() and define $(pcfiledir).
2012-07-21 14:49:55 -05:00
William Pitcock
b0cdca488e
everything: do not shadow POSIX BUFSIZ definition
2012-07-21 14:38:13 -05:00