mirror of
https://gitlab.freedesktop.org/pkg-config/pkg-config.git
synced 2025-12-26 21:20:03 +01:00
2009-03-30 Tollef Fog Heen <tfheen@err.no>
* pkg.[ch], main.c, check/check-missing: Don't recurse Requires at all unless we need to. Add check. Again, thanks to Loïc Minier for most of the idea and the implementation.
This commit is contained in:
parent
02d5ae3fb6
commit
669bfe2e0d
7 changed files with 63 additions and 1 deletions
|
|
@ -1,5 +1,9 @@
|
|||
2009-03-30 Tollef Fog Heen <tfheen@err.no>
|
||||
|
||||
* pkg.[ch], main.c, check/check-missing: Don't recurse Requires at
|
||||
all unless we need to. Add check. Again, thanks to Loïc Minier
|
||||
for most of the idea and the implementation.
|
||||
|
||||
* pkg.[ch], parse.[ch], main.c, check/Makefile.am,
|
||||
check/check-missing, check/missing-requires-private.pc:
|
||||
Skip Requires.private unless we need to look at them for cflags.
|
||||
|
|
|
|||
|
|
@ -4,5 +4,6 @@ TESTS = check-cflags check-libs check-define-variable \
|
|||
check-conflicts check-missing
|
||||
|
||||
EXTRA_DIST = $(TESTS) common simple.pc requires-test.pc public-dep.pc \
|
||||
private-dep.pc includedir.pc missing-requires-private.pc
|
||||
private-dep.pc includedir.pc missing-requires-private.pc \
|
||||
missing-requires.pc
|
||||
|
||||
|
|
|
|||
|
|
@ -50,3 +50,29 @@ ARGS="--variable includedir missing-requires-private"
|
|||
EXPECT_RETURN=0
|
||||
RESULT="/usr/include/somedir"
|
||||
run_test
|
||||
|
||||
# tests below are on an existing package, but with missing Requires; when
|
||||
# pkg-config outputs error, the actual error text isn't checked
|
||||
# package exists
|
||||
ARGS="missing-requires"
|
||||
EXPECT_RETURN=0
|
||||
RESULT=""
|
||||
run_test
|
||||
|
||||
# Libs should fail
|
||||
ARGS="--silence-errors --libs missing-requires"
|
||||
EXPECT_RETURN=1
|
||||
RESULT=""
|
||||
run_test
|
||||
|
||||
# Cflags should fail
|
||||
ARGS="--silence-errors --cflags missing-requires"
|
||||
EXPECT_RETURN=1
|
||||
RESULT=""
|
||||
run_test
|
||||
|
||||
# get includedir var
|
||||
ARGS="--variable includedir missing-requires"
|
||||
EXPECT_RETURN=0
|
||||
RESULT="/usr/include/somedir"
|
||||
run_test
|
||||
|
|
|
|||
12
check/missing-requires.pc
Normal file
12
check/missing-requires.pc
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/lib
|
||||
includedir=${prefix}/include/somedir
|
||||
|
||||
Name: Missing Requires test package
|
||||
Description: Dummy pkgconfig test package for testing with a missing Requires
|
||||
Version: 1.0.0
|
||||
Requires: pkg-non-existent-dep
|
||||
Libs: -L/missing-requires/lib -lmissing-requires
|
||||
Cflags: -I/missing-requires/include
|
||||
foodir: bar
|
||||
6
main.c
6
main.c
|
|
@ -391,6 +391,12 @@ main (int argc, char **argv)
|
|||
(want_static_lib_list && (want_libs || want_l_libs || want_L_libs)))
|
||||
enable_requires_private();
|
||||
|
||||
/* ignore Requires if no Cflags or Libs are requested */
|
||||
|
||||
if (!want_I_cflags && !want_other_cflags && !want_cflags &&
|
||||
!want_libs && !want_l_libs && !want_L_libs)
|
||||
disable_requires();
|
||||
|
||||
if (want_my_version)
|
||||
{
|
||||
printf ("%s\n", VERSION);
|
||||
|
|
|
|||
11
pkg.c
11
pkg.c
|
|
@ -1531,6 +1531,17 @@ disable_private_libs(void)
|
|||
ignore_private_libs = TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
enable_requires(void)
|
||||
{
|
||||
ignore_requires = FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
disable_requires(void)
|
||||
{
|
||||
ignore_requires = TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
enable_requires_private(void)
|
||||
|
|
|
|||
2
pkg.h
2
pkg.h
|
|
@ -119,6 +119,8 @@ gboolean name_ends_in_uninstalled (const char *str);
|
|||
|
||||
void enable_private_libs(void);
|
||||
void disable_private_libs(void);
|
||||
void enable_requires(void);
|
||||
void disable_requires(void);
|
||||
void enable_requires_private(void);
|
||||
void disable_requires_private(void);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue