aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-03-17 19:44:16 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2018-03-19 23:21:56 +0200
commitcf5f1a83d55d05412e29058844e4fda5e420553b (patch)
treee91004bd2d8b468140c8d4df012d0c214acfa0a9
parentc385f7973777e0e7b7e4694d69d6584e2ceae69f (diff)
downloadmeson-cf5f1a83d55d05412e29058844e4fda5e420553b.zip
meson-cf5f1a83d55d05412e29058844e4fda5e420553b.tar.gz
meson-cf5f1a83d55d05412e29058844e4fda5e420553b.tar.bz2
Fix existing tests.
-rw-r--r--mesonbuild/modules/pkgconfig.py3
-rwxr-xr-xrun_unittests.py11
-rw-r--r--test cases/common/51 pkgconfig-gen/dependencies/meson.build2
3 files changed, 13 insertions, 3 deletions
diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py
index 5254731..bd89670 100644
--- a/mesonbuild/modules/pkgconfig.py
+++ b/mesonbuild/modules/pkgconfig.py
@@ -95,6 +95,9 @@ class DependenciesHelper:
processed_cflags += obj.get_compile_args()
elif isinstance(obj, build.SharedLibrary):
processed_libs.append(obj)
+ if public:
+ if not hasattr(obj, 'generated_pc'):
+ obj.generated_pc = self.name
elif isinstance(obj, build.StaticLibrary):
# Due to a "feature" in pkgconfig, it leaks out private dependencies.
# Thus we will not add them to the pc file unless the target
diff --git a/run_unittests.py b/run_unittests.py
index 44d5c9d..d528717 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -510,7 +510,8 @@ class BasePlatformTests(unittest.TestCase):
windows_proof_rmtree(path)
except FileNotFoundError:
pass
- os.environ = self.orig_env
+ os.environ.clear()
+ os.environ.update(self.orig_env)
super().tearDown()
def _run(self, command, workdir=None):
@@ -2717,6 +2718,10 @@ endian = 'little'
def test_pkgconfig_usage(self):
testdir1 = os.path.join(self.unit_test_dir, '24 pkgconfig usage/dependency')
testdir2 = os.path.join(self.unit_test_dir, '24 pkgconfig usage/dependee')
+ if subprocess.call(['pkg-config', '--cflags', 'glib-2.0'],
+ stdout=subprocess.DEVNULL,
+ stderr=subprocess.DEVNULL) != 0:
+ raise unittest.SkipTest('Glib 2.0 dependency not available.')
with tempfile.TemporaryDirectory() as tempdirname:
self.init(testdir1, ['--prefix=' + tempdirname, '--libdir=lib'], default_args=False)
self.install(use_destdir=False)
@@ -2737,8 +2742,10 @@ endian = 'little'
self.build()
myenv = os.environ.copy()
myenv['LD_LIBRARY_PATH'] = lib_dir
+ if is_cygwin():
+ bin_dir = os.path.join(tempdirname, 'bin')
+ myenv['PATH'] = bin_dir + os.pathsep + myenv['PATH']
self.assertTrue(os.path.isdir(lib_dir))
- self.assertTrue(os.path.isfile(os.path.join(lib_dir, 'libpkgdep.so')))
test_exe = os.path.join(self.builddir, 'pkguser')
self.assertTrue(os.path.isfile(test_exe))
subprocess.check_call(test_exe, env=myenv)
diff --git a/test cases/common/51 pkgconfig-gen/dependencies/meson.build b/test cases/common/51 pkgconfig-gen/dependencies/meson.build
index 018b72f..2e00943 100644
--- a/test cases/common/51 pkgconfig-gen/dependencies/meson.build
+++ b/test cases/common/51 pkgconfig-gen/dependencies/meson.build
@@ -5,7 +5,7 @@ pkgg = import('pkgconfig')
# libmain internally use libinternal and expose libexpose in its API
exposed_lib = shared_library('libexposed', 'exposed.c')
internal_lib = shared_library('libinternal', 'internal.c')
-main_lib = shared_library('libmain', link_with : [exposed_lib, internal_lib])
+main_lib = static_library('libmain', link_with : [exposed_lib, internal_lib])
pkgg.generate(libraries : exposed_lib,
version : '1.0',