Commit Graph

946 Commits (95b68f7c024af862a1cb059b7ea3be6d0ef541fd)

Author SHA1 Message Date
William Pitcock 95b68f7c02 tests: add testcase for #140 2017-09-23 00:08:12 -05:00
William Pitcock 67dd48a343 libpkgconf: api: handle DLL_EXPORT libtool case on mingw (closes #141) 2017-09-23 00:00:43 -05:00
William Pitcock 24c1439d52 libpkgconf: stdinc: fix SIZE_FMT_SPECIFIER on mingw 2017-09-22 23:58:40 -05:00
William Pitcock 420c62e10c libpkgconf: pkg: refactor parser harness to allow providing warnings, provide warning for improper fragment list 2017-09-19 21:58:54 -05:00
William Pitcock 7ced8d77ae libpkgconf: fragment: pkgconf_fragment_parse: return false on parse failure 2017-09-19 21:48:53 -05:00
William Pitcock 72cf871421 tests: regress: add malformed quoting test 2017-09-19 21:35:18 -05:00
William Pitcock 7786554be2 libpkgconf: fragment: check pkgconf_argv_split() return value 2017-09-19 21:34:24 -05:00
William Pitcock 56101390ac libpkgconf: fragment parsing: do not pass NULL to pkgconf_fragment_add() 2017-09-19 21:08:18 -05:00
William Pitcock e9fd43caa7 libpkgconf: clean up header includes (closes #137) 2017-09-17 23:38:25 -05:00
William Pitcock ebb4c73525 libpkgconf: client: resolve memory leak of filter lists (closes #130) 2017-09-13 15:02:57 -05:00
William Pitcock ed63a31b7a main: free fragment lists in apply_cflags/apply_libs() in all cases (closes #131) 2017-09-13 15:01:49 -05:00
William Pitcock f808300a01 libpkgconf: pkg: some elements of virtual packages should be freed as they have heap-allocated portions (closes #132) 2017-09-13 14:56:10 -05:00
William Pitcock 9b55fc3c23 libpkgconf: cache: refactor the way package objects are marked as cached to avoid memory leaks (#133) 2017-09-13 14:41:19 -05:00
William Pitcock 048deb95b3 headers: add C++ wrappers (closes #136) 2017-09-13 14:35:28 -05:00
William Pitcock b5da424ef7 stdinc: drop _GNU_SOURCE definition 2017-09-13 14:20:47 -05:00
William Pitcock 75074635bb meson: install pkg.m4 to aclocal dir (closes #124) 2017-09-08 20:52:02 -05:00
William Pitcock 906fef8449 libpkgconf: fragment: mark some inline match tables as const 2017-09-08 20:09:12 -05:00
William Pitcock b7839f6bb7 libpkgconf: pkg: pkgconf_pkg_scan_dir: remove unnecessary static declaration of filebuf 2017-09-08 20:06:52 -05:00
William Pitcock 2681c29edd libpkgconf: pkg: determine_prefix: use caller-provided buffer for reentrancy 2017-09-08 20:04:49 -05:00
William Pitcock adae70445a libpkgconf: pkg: get_default_pkgconfig_path: use caller-supplied buffer for reentrancy 2017-09-08 20:01:34 -05:00
William Pitcock 1252d7ae6a libpkgconf: dependency: make dependency_to_str() private, use a caller-supplied buffer for reentrancy 2017-09-08 19:53:52 -05:00
William Pitcock 615bab3df9 libpkgconf: pkg: pkgconf_pkg_report_graph_error(): move already_sent_notice to pkgconf_client_t 2017-09-08 19:48:31 -05:00
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
William Pitcock 95b4930aac tests: add test for github #123 2017-07-16 17:33:42 -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
William Pitcock 38cda5e584 autotools: replace PKGCONFIGDIR with PKG_DEFAULT_PATH 2017-06-24 12:45:44 -05:00
William Pitcock 3ae11b1b4d meson: add kyua integration for testsuite for now 2017-06-24 12:40:33 -05:00
William Pitcock a928ad75e6 meson: use join_paths() for kyua invocation 2017-06-20 16:20:30 -05:00
William Pitcock adc7f92874 meson: fix up SYSTEM_LIBDIR, SYSTEM_INCLUDEDIR, PKG_DEFAULT_PATH 2017-06-20 01:23:55 -05:00
William Pitcock bca827649d meson: add some support for pulling in testsuite 2017-06-20 01:11:36 -05:00
William Pitcock 186545fc4f meson: fix check for HAVE_CYGWIN_CONV_PATH 2017-06-20 00:29:03 -05:00
William Pitcock d40a90761a meson: clean up a few things 2017-06-19 19:11:42 -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 b77fbbb025 libpkgconf: add win-dirent.h to file list too 2017-06-16 21:26:23 -05:00
William Pitcock 01a2c2375c fix autotools build 2017-06-16 21:25:44 -05:00
William Pitcock b45cf98fb7 start NEWS for 1.4 series 2017-06-16 21:19:20 -05:00
William Pitcock 037d15210c add some notes on building for Windows 2017-06-16 21:15:23 -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 0ba391bc6f Miscelaneous tweaks for Visual C in Cygwin compatibility 2017-06-05 17:41:13 -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 2e80d72a6f cmake: remove DOS line endings from tests 2017-06-05 13:58:03 -07:00