Commit Graph

136 Commits (844f0a66621629a65e3cbf3c3ca47185602e9df5)

Author SHA1 Message Date
William Pitcock 1cc0ae62a9 fragment, pkg: handle --static correctly in some more esoteric scenarios 2015-05-21 23:06:38 -05:00
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