aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies
diff options
context:
space:
mode:
authorYonggang Luo <luoyonggang@gmail.com>2020-09-24 00:17:12 +0800
committerDylan Baker <dylan@pnwbakers.com>2020-09-29 14:58:32 -0700
commit9a4750976417afd7449eb16622d65d80dcc875ac (patch)
treeb840e54400d8c22c8faf1a151286889f579706a3 /mesonbuild/dependencies
parente873e64b401ede9fdcf09a388f7a12010d321dbb (diff)
downloadmeson-9a4750976417afd7449eb16622d65d80dcc875ac.zip
meson-9a4750976417afd7449eb16622d65d80dcc875ac.tar.gz
meson-9a4750976417afd7449eb16622d65d80dcc875ac.tar.bz2
dependencies/curses: Add support for pdcurses
On win32 there is pdcurses, so we detect it first, because python depends on ncursesw, so if we don't want to use ncursesw, we should make sure pdcurses detect before ncursesw
Diffstat (limited to 'mesonbuild/dependencies')
-rw-r--r--mesonbuild/dependencies/misc.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py
index 08747ce..2824421 100644
--- a/mesonbuild/dependencies/misc.py
+++ b/mesonbuild/dependencies/misc.py
@@ -433,6 +433,7 @@ class CursesSystemDependency(ExternalDependency):
super().__init__(name, env, kwargs)
candidates = [
+ ('pdcurses', ['pdcurses/curses.h']),
('ncursesw', ['ncursesw/ncurses.h', 'ncurses.h']),
('ncurses', ['ncurses/ncurses.h', 'ncurses/curses.h', 'ncurses.h']),
('curses', ['curses.h']),
@@ -453,6 +454,10 @@ class CursesSystemDependency(ExternalDependency):
if lib.startswith('ncurses'):
v, _ = self.clib_compiler.get_define('NCURSES_VERSION', '#include <{}>'.format(header), env, [], [self])
self.version = v.strip('"')
+ if lib.startswith('pdcurses'):
+ v_major, _ = self.clib_compiler.get_define('PDC_VER_MAJOR', '#include <{}>'.format(header), env, [], [self])
+ v_minor, _ = self.clib_compiler.get_define('PDC_VER_MINOR', '#include <{}>'.format(header), env, [], [self])
+ self.version = '{}.{}'.format(v_major, v_minor)
# Check the version if possible, emit a wraning if we can't
req = kwargs.get('version')
@@ -480,7 +485,7 @@ def curses_factory(env: 'Environment', for_machine: 'MachineChoice',
candidates = [] # type: T.List[T.Callable[[], Dependency]]
if DependencyMethods.PKGCONFIG in methods:
- pkgconfig_files = ['ncursesw', 'ncurses', 'curses']
+ pkgconfig_files = ['pdcurses', 'ncursesw', 'ncurses', 'curses']
for pkg in pkgconfig_files:
candidates.append(functools.partial(PkgConfigDependency, pkg, env, kwargs))