Update meson build system from 0.44.0 to 0.45.1
[termux-packages] / scripts / meson-android.patch
diff --git a/scripts/meson-android.patch b/scripts/meson-android.patch
deleted file mode 100644 (file)
index 71ff5d4..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-diff -u -r /home/fornwall/.termux-build/json-glib/tmp/meson-0.44.0/mesonbuild/build.py ./mesonbuild/build.py
---- /home/fornwall/.termux-build/json-glib/tmp/meson-0.44.0/mesonbuild/build.py        2017-12-10 14:37:19.000000000 +0100
-+++ ./mesonbuild/build.py      2018-01-21 20:32:18.294784968 +0100
-@@ -22,7 +22,7 @@
- from .mesonlib import File, MesonException, listify, extract_as_list
- from .mesonlib import typeslistify, stringlistify, classify_unity_sources
- from .mesonlib import get_filenames_templates_dict, substitute_values
--from .mesonlib import for_windows, for_darwin, for_cygwin
-+from .mesonlib import for_windows, for_darwin, for_cygwin, for_android
- from .compilers import is_object, clike_langs, sort_clike, lang_suffixes
- known_basic_kwargs = {'install': True,
-@@ -1278,6 +1278,7 @@
-         if not hasattr(self, 'suffix'):
-             self.suffix = None
-         self.basic_filename_tpl = '{0.prefix}{0.name}.{0.suffix}'
-+        self.is_cross = is_cross
-         self.determine_filenames(is_cross, environment)
-     def determine_filenames(self, is_cross, env):
-@@ -1380,25 +1381,26 @@
-     def process_kwargs(self, kwargs, environment):
-         super().process_kwargs(kwargs, environment)
--        # Shared library version
--        if 'version' in kwargs:
--            self.ltversion = kwargs['version']
--            if not isinstance(self.ltversion, str):
--                raise InvalidArguments('Shared library version needs to be a string, not ' + type(self.ltversion).__name__)
--            if not re.fullmatch(r'[0-9]+(\.[0-9]+){0,2}', self.ltversion):
--                raise InvalidArguments('Invalid Shared library version "{0}". Must be of the form X.Y.Z where all three are numbers. Y and Z are optional.'.format(self.ltversion))
--        # Try to extract/deduce the soversion
--        if 'soversion' in kwargs:
--            self.soversion = kwargs['soversion']
--            if isinstance(self.soversion, int):
--                self.soversion = str(self.soversion)
--            if not isinstance(self.soversion, str):
--                raise InvalidArguments('Shared library soversion is not a string or integer.')
--        elif self.ltversion:
--            # library version is defined, get the soversion from that
--            # We replicate what Autotools does here and take the first
--            # number of the version by default.
--            self.soversion = self.ltversion.split('.')[0]
-+        if not for_android(self.is_cross, environment):
-+            # Shared library version
-+            if 'version' in kwargs:
-+                self.ltversion = kwargs['version']
-+                if not isinstance(self.ltversion, str):
-+                    raise InvalidArguments('Shared library version needs to be a string, not ' + type(self.ltversion).__name__)
-+                if not re.fullmatch(r'[0-9]+(\.[0-9]+){0,2}', self.ltversion):
-+                    raise InvalidArguments('Invalid Shared library version "{0}". Must be of the form X.Y.Z where all three are numbers. Y and Z are optional.'.format(self.ltversion))
-+            # Try to extract/deduce the soversion
-+            if 'soversion' in kwargs:
-+                self.soversion = kwargs['soversion']
-+                if isinstance(self.soversion, int):
-+                    self.soversion = str(self.soversion)
-+                if not isinstance(self.soversion, str):
-+                    raise InvalidArguments('Shared library soversion is not a string or integer.')
-+            elif self.ltversion:
-+                # library version is defined, get the soversion from that
-+                # We replicate what Autotools does here and take the first
-+                # number of the version by default.
-+                self.soversion = self.ltversion.split('.')[0]
-         # Visual Studio module-definitions file
-         if 'vs_module_defs' in kwargs:
-             path = kwargs['vs_module_defs']
-diff -u -r /home/fornwall/.termux-build/json-glib/tmp/meson-0.44.0/mesonbuild/mesonlib.py ./mesonbuild/mesonlib.py
---- /home/fornwall/.termux-build/json-glib/tmp/meson-0.44.0/mesonbuild/mesonlib.py     2017-12-10 14:37:19.000000000 +0100
-+++ ./mesonbuild/mesonlib.py   2018-01-21 20:33:57.597610548 +0100
-@@ -245,6 +245,12 @@
- def is_haiku():
-     return platform.system().lower() == 'haiku'
-+def is_android():
-+    import sysconfig
-+    # Taken from Lib/test/support/__init__.py of the python source:
-+    _ANDROID_API_LEVEL = sysconfig.get_config_var('ANDROID_API_LEVEL')
-+    return _ANDROID_API_LEVEL is not None and _ANDROID_API_LEVEL > 0
-+
- def is_windows():
-     platname = platform.system().lower()
-     return platname == 'windows' or 'mingw' in platname
-@@ -268,6 +274,18 @@
-         return env.cross_info.config['host_machine']['system'] == 'windows'
-     return False
-+def for_android(is_cross, env):
-+    """
-+    Host machine is Android?
-+
-+    Note: 'host' is the machine on which compiled binaries will run
-+    """
-+    if not is_cross:
-+        return mesonlib.is_android()
-+    elif env.cross_info.has_host():
-+        return env.cross_info.config['host_machine']['system'] == 'android'
-+    return False
-+
- def for_cygwin(is_cross, env):
-     """
-     Host machine is cygwin?