aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2024-06-02 16:29:59 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2024-06-02 17:43:50 +0300
commitdaa058e90793e6ff8c8e1a3fa14a88c0167d8561 (patch)
tree8e7f2d8436a263db5f5f3fdf90b2fb8b998bd83e
parente5aed6ac8f4758f636d81e0374c0658238b90eb5 (diff)
downloadmeson-daa058e90793e6ff8c8e1a3fa14a88c0167d8561.zip
meson-daa058e90793e6ff8c8e1a3fa14a88c0167d8561.tar.gz
meson-daa058e90793e6ff8c8e1a3fa14a88c0167d8561.tar.bz2
Start moving machine files to their own store.
-rw-r--r--mesonbuild/machinefile.py15
-rw-r--r--unittests/machinefiletests.py13
2 files changed, 27 insertions, 1 deletions
diff --git a/mesonbuild/machinefile.py b/mesonbuild/machinefile.py
new file mode 100644
index 0000000..18162ef
--- /dev/null
+++ b/mesonbuild/machinefile.py
@@ -0,0 +1,15 @@
+# SPDX-License-Identifier: Apache-2.0
+# Copyright 2013-2024 Contributors to the The Meson project
+
+from . import mlog
+
+class MachineFile:
+ def __init__(self, fname):
+ with open(fname, encoding='utf-8') as f:
+ pass
+ self.stuff = None
+
+class MachineFileStore:
+ def __init__(self, native_files, cross_files):
+ self.native = [MachineFile(x) for x in native_files]
+ self.cross = [MachineFile(x) for x in cross_files]
diff --git a/unittests/machinefiletests.py b/unittests/machinefiletests.py
index 22341cb..3899ea9 100644
--- a/unittests/machinefiletests.py
+++ b/unittests/machinefiletests.py
@@ -12,7 +12,7 @@ import functools
import threading
import sys
from itertools import chain
-from unittest import mock, skipIf, SkipTest
+from unittest import mock, skipIf, SkipTest, TestCase
from pathlib import Path
import typing as T
@@ -23,6 +23,9 @@ import mesonbuild.envconfig
import mesonbuild.environment
import mesonbuild.coredata
import mesonbuild.modules.gnome
+
+from mesonbuild import machinefile
+
from mesonbuild.mesonlib import (
MachineChoice, is_windows, is_osx, is_cygwin, is_haiku, is_sunos
)
@@ -50,6 +53,14 @@ def is_real_gnu_compiler(path):
out = subprocess.check_output([path, '--version'], universal_newlines=True, stderr=subprocess.STDOUT)
return 'Free Software Foundation' in out
+cross_dir = Path(__file__).parent.parent / 'cross'
+
+class MachineFileStoreTests(TestCase):
+
+ def test_loading(self):
+ store = machinefile.MachineFileStore([cross_dir / 'ubuntu-armhf.txt'], [], str(cross_dir))
+ self.assertTrue(True)
+
class NativeFileTests(BasePlatformTests):
def setUp(self):