aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorElliott Sales de Andrade <quantum.analyst@gmail.com>2017-04-15 16:48:47 -0400
committerElliott Sales de Andrade <quantum.analyst@gmail.com>2017-05-09 18:28:04 -0400
commitcb24c2d58afce68aeb0ed8ffd369e90998ad83a3 (patch)
treed2f1db0a2f58b8ea7aff3466dad3bf80ab9c5994 /mesonbuild
parentd96b16c24b512c746f6949cf3c30d05686992efa (diff)
downloadmeson-cb24c2d58afce68aeb0ed8ffd369e90998ad83a3.zip
meson-cb24c2d58afce68aeb0ed8ffd369e90998ad83a3.tar.gz
meson-cb24c2d58afce68aeb0ed8ffd369e90998ad83a3.tar.bz2
Split apart platform-specific dependencies
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/dependencies/__init__.py4
-rw-r--r--mesonbuild/dependencies/base.py25
-rw-r--r--mesonbuild/dependencies/platform.py44
3 files changed, 48 insertions, 25 deletions
diff --git a/mesonbuild/dependencies/__init__.py b/mesonbuild/dependencies/__init__.py
index f637684..62301f8 100644
--- a/mesonbuild/dependencies/__init__.py
+++ b/mesonbuild/dependencies/__init__.py
@@ -14,6 +14,7 @@
from .base import *
from .dev import GMockDependency, GTestDependency, LLVMDependency, ValgrindDependency
+from .platform import AppleFrameworks
from .ui import GLDependency, GnuStepDependency, Qt4Dependency, Qt5Dependency, SDL2Dependency, WxDependency
@@ -24,6 +25,9 @@ packages.update({
'llvm': LLVMDependency,
'valgrind': ValgrindDependency,
+ # From platform:
+ 'appleframeworks': AppleFrameworks,
+
# From ui:
'gl': GLDependency,
'gnustep': GnuStepDependency,
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
index 709bcb2..4bdb989 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
@@ -787,30 +787,6 @@ class BoostDependency(Dependency):
return 'thread' in self.requested_modules
-class AppleFrameworks(Dependency):
- def __init__(self, environment, kwargs):
- Dependency.__init__(self, 'appleframeworks', kwargs)
- modules = kwargs.get('modules', [])
- if isinstance(modules, str):
- modules = [modules]
- if not modules:
- raise DependencyException("AppleFrameworks dependency requires at least one module.")
- self.frameworks = modules
-
- def get_link_args(self):
- args = []
- for f in self.frameworks:
- args.append('-framework')
- args.append(f)
- return args
-
- def found(self):
- return mesonlib.is_osx()
-
- def get_version(self):
- return 'unknown'
-
-
class ExtraFrameworkDependency(Dependency):
def __init__(self, name, required, path, kwargs):
Dependency.__init__(self, 'extraframeworks', kwargs)
@@ -1011,7 +987,6 @@ def find_external_dependency(name, environment, kwargs):
# This has to be at the end so the classes it references
# are defined.
packages = {'boost': BoostDependency,
- 'appleframeworks': AppleFrameworks,
'threads': ThreadDependency,
'python3': Python3Dependency,
}
diff --git a/mesonbuild/dependencies/platform.py b/mesonbuild/dependencies/platform.py
new file mode 100644
index 0000000..cd46412
--- /dev/null
+++ b/mesonbuild/dependencies/platform.py
@@ -0,0 +1,44 @@
+# Copyright 2013-2017 The Meson development team
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+
+# http://www.apache.org/licenses/LICENSE-2.0
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This file contains the detection logic for external dependencies that are
+# platform-specific (generally speaking).
+
+from .. import mesonlib
+
+from .base import Dependency, DependencyException
+
+
+class AppleFrameworks(Dependency):
+ def __init__(self, environment, kwargs):
+ Dependency.__init__(self, 'appleframeworks', kwargs)
+ modules = kwargs.get('modules', [])
+ if isinstance(modules, str):
+ modules = [modules]
+ if not modules:
+ raise DependencyException("AppleFrameworks dependency requires at least one module.")
+ self.frameworks = modules
+
+ def get_link_args(self):
+ args = []
+ for f in self.frameworks:
+ args.append('-framework')
+ args.append(f)
+ return args
+
+ def found(self):
+ return mesonlib.is_osx()
+
+ def get_version(self):
+ return 'unknown'