forked from ariadne/pkgconf
if no cflags or libs are defined in .pc just return 0 and output nothing
parent
fbf13563ab
commit
4eedb041ed
28
main.c
28
main.c
|
@ -306,15 +306,19 @@ static bool
|
||||||
apply_cflags(pkg_t *world, void *list_head, int maxdepth, unsigned int flags)
|
apply_cflags(pkg_t *world, void *list_head, int maxdepth, unsigned int flags)
|
||||||
{
|
{
|
||||||
pkg_fragment_t **head = list_head;
|
pkg_fragment_t **head = list_head;
|
||||||
pkg_fragment_t *list;
|
int eflag;
|
||||||
|
|
||||||
list = pkg_cflags(world, head, maxdepth, flags | PKGF_SEARCH_PRIVATE);
|
eflag = pkg_cflags(world, head, maxdepth, flags | PKGF_SEARCH_PRIVATE);
|
||||||
if (list == NULL)
|
if (eflag != PKG_ERRF_OK)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
print_cflags(list);
|
if (*head == NULL)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
print_cflags(*head);
|
||||||
|
|
||||||
|
pkg_fragment_free(*head);
|
||||||
|
|
||||||
pkg_fragment_free(list);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -322,14 +326,18 @@ static bool
|
||||||
apply_libs(pkg_t *world, void *list_head, int maxdepth, unsigned int flags)
|
apply_libs(pkg_t *world, void *list_head, int maxdepth, unsigned int flags)
|
||||||
{
|
{
|
||||||
pkg_fragment_t **head = list_head;
|
pkg_fragment_t **head = list_head;
|
||||||
pkg_fragment_t *list;
|
int eflag;
|
||||||
|
|
||||||
list = pkg_libs(world, head, maxdepth, flags);
|
eflag = pkg_libs(world, head, maxdepth, flags);
|
||||||
if (list == NULL)
|
if (eflag != PKG_ERRF_OK)
|
||||||
return false;
|
return false;
|
||||||
print_libs(list);
|
|
||||||
|
|
||||||
pkg_fragment_free(list);
|
if (*head == NULL)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
print_libs(*head);
|
||||||
|
|
||||||
|
pkg_fragment_free(*head);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
15
pkg.c
15
pkg.c
|
@ -853,7 +853,7 @@ pkg_cflags_collect(pkg_t *pkg, void *data, unsigned int flags)
|
||||||
*list = pkg_fragment_copy(*list, frag);
|
*list = pkg_fragment_copy(*list, frag);
|
||||||
}
|
}
|
||||||
|
|
||||||
pkg_fragment_t *
|
int
|
||||||
pkg_cflags(pkg_t *root, pkg_fragment_t **list, int maxdepth, unsigned int flags)
|
pkg_cflags(pkg_t *root, pkg_fragment_t **list, int maxdepth, unsigned int flags)
|
||||||
{
|
{
|
||||||
int eflag;
|
int eflag;
|
||||||
|
@ -863,10 +863,10 @@ pkg_cflags(pkg_t *root, pkg_fragment_t **list, int maxdepth, unsigned int flags)
|
||||||
if (eflag != PKG_ERRF_OK)
|
if (eflag != PKG_ERRF_OK)
|
||||||
{
|
{
|
||||||
pkg_fragment_free(*list);
|
pkg_fragment_free(*list);
|
||||||
return NULL;
|
*list = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return *list;
|
return eflag;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -891,7 +891,7 @@ pkg_libs_private_collect(pkg_t *pkg, void *data, unsigned int flags)
|
||||||
*list = pkg_fragment_copy(*list, frag);
|
*list = pkg_fragment_copy(*list, frag);
|
||||||
}
|
}
|
||||||
|
|
||||||
pkg_fragment_t *
|
int
|
||||||
pkg_libs(pkg_t *root, pkg_fragment_t **list, int maxdepth, unsigned int flags)
|
pkg_libs(pkg_t *root, pkg_fragment_t **list, int maxdepth, unsigned int flags)
|
||||||
{
|
{
|
||||||
int eflag;
|
int eflag;
|
||||||
|
@ -901,7 +901,8 @@ pkg_libs(pkg_t *root, pkg_fragment_t **list, int maxdepth, unsigned int flags)
|
||||||
if (eflag != PKG_ERRF_OK)
|
if (eflag != PKG_ERRF_OK)
|
||||||
{
|
{
|
||||||
pkg_fragment_free(*list);
|
pkg_fragment_free(*list);
|
||||||
return NULL;
|
*list = NULL;
|
||||||
|
return eflag;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & PKGF_MERGE_PRIVATE_FRAGMENTS)
|
if (flags & PKGF_MERGE_PRIVATE_FRAGMENTS)
|
||||||
|
@ -910,9 +911,9 @@ pkg_libs(pkg_t *root, pkg_fragment_t **list, int maxdepth, unsigned int flags)
|
||||||
if (eflag != PKG_ERRF_OK)
|
if (eflag != PKG_ERRF_OK)
|
||||||
{
|
{
|
||||||
pkg_fragment_free(*list);
|
pkg_fragment_free(*list);
|
||||||
return NULL;
|
*list = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return *list;
|
return eflag;
|
||||||
}
|
}
|
||||||
|
|
4
pkg.h
4
pkg.h
|
@ -134,8 +134,8 @@ unsigned int pkg_verify_graph(pkg_t *root, int depth, unsigned int flags);
|
||||||
int pkg_compare_version(const char *a, const char *b);
|
int pkg_compare_version(const char *a, const char *b);
|
||||||
pkg_t *pkg_verify_dependency(pkg_dependency_t *pkgdep, unsigned int flags, unsigned int *eflags);
|
pkg_t *pkg_verify_dependency(pkg_dependency_t *pkgdep, unsigned int flags, unsigned int *eflags);
|
||||||
const char *pkg_get_comparator(pkg_dependency_t *pkgdep);
|
const char *pkg_get_comparator(pkg_dependency_t *pkgdep);
|
||||||
pkg_fragment_t *pkg_cflags(pkg_t *root, pkg_fragment_t **list, int maxdepth, unsigned int flags);
|
int pkg_cflags(pkg_t *root, pkg_fragment_t **list, int maxdepth, unsigned int flags);
|
||||||
pkg_fragment_t *pkg_libs(pkg_t *root, pkg_fragment_t **list, int maxdepth, unsigned int flags);
|
int pkg_libs(pkg_t *root, pkg_fragment_t **list, int maxdepth, unsigned int flags);
|
||||||
|
|
||||||
/* parse.c */
|
/* parse.c */
|
||||||
pkg_t *pkg_new_from_file(const char *path, FILE *f);
|
pkg_t *pkg_new_from_file(const char *path, FILE *f);
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
prefix=/usr
|
||||||
|
exec_prefix=${prefix}
|
||||||
|
libdir=${prefix}/lib
|
||||||
|
includedir=${prefix}/include
|
||||||
|
|
||||||
|
Name: foo
|
||||||
|
Description: A testing pkg-config file
|
||||||
|
Version: 1.2.3
|
||||||
|
Libs: -L${libdir} -lfoo
|
|
@ -0,0 +1,9 @@
|
||||||
|
prefix=/usr
|
||||||
|
exec_prefix=${prefix}
|
||||||
|
libdir=${prefix}/lib
|
||||||
|
includedir=${prefix}/include
|
||||||
|
|
||||||
|
Name: foo
|
||||||
|
Description: A testing pkg-config file
|
||||||
|
Version: 1.2.3
|
||||||
|
Cflags: -fPIC -I${includedir}/foo
|
|
@ -171,6 +171,12 @@ run_test "PKG_CONFIG_PATH=${selfdir}/lib1 ${1} --cflags missing-require; echo \$
|
||||||
run_test "PKG_CONFIG_PATH=${selfdir}/lib1 ${1} --cflags quotes" \
|
run_test "PKG_CONFIG_PATH=${selfdir}/lib1 ${1} --cflags quotes" \
|
||||||
"-DQUOTED=\\\"bla\\\""
|
"-DQUOTED=\\\"bla\\\""
|
||||||
|
|
||||||
|
run_test "PKG_CONFIG_PATH=${selfdir}/lib1 ${1} --libs nolib; echo \$?" \
|
||||||
|
'0'
|
||||||
|
|
||||||
|
run_test "PKG_CONFIG_PATH=${selfdir}/lib1 ${1} --libs nocflag; echo \$?" \
|
||||||
|
'0'
|
||||||
|
|
||||||
# 10) tests for internal getopt implementation with options at the end
|
# 10) tests for internal getopt implementation with options at the end
|
||||||
if [ "x@STRICT_MODE@" = "xno" ]; then
|
if [ "x@STRICT_MODE@" = "xno" ]; then
|
||||||
run_test "PKG_CONFIG_PATH=${selfdir}/lib1 ${1} foo --libs" \
|
run_test "PKG_CONFIG_PATH=${selfdir}/lib1 ${1} foo --libs" \
|
||||||
|
|
Loading…
Reference in New Issue