diff options
| author | KO Myung-Hun <komh@chollian.net> | 2023-07-03 22:53:23 +0900 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-11-14 08:16:23 -0800 |
| commit | 7e5e1fb8bf0c6275c8e97e538393976901356bc7 (patch) | |
| tree | 39bab4359926f78d8a3d4f0f0ae03752f0cb9114 | |
| parent | f84af1c4612f683144bbf63f3109292e309918b3 (diff) | |
| download | meson-7e5e1fb8bf0c6275c8e97e538393976901356bc7.tar.gz | |
Add OS2 dynamic linker support
| -rw-r--r-- | mesonbuild/linkers/detect.py | 4 | ||||
| -rw-r--r-- | mesonbuild/linkers/linkers.py | 22 |
2 files changed, 26 insertions, 0 deletions
diff --git a/mesonbuild/linkers/detect.py b/mesonbuild/linkers/detect.py index 6fbe6e498..4fefa2b75 100644 --- a/mesonbuild/linkers/detect.py +++ b/mesonbuild/linkers/detect.py @@ -252,6 +252,10 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty compiler, for_machine, comp_class.LINKER_PREFIX, override, system=system, version=v ) + elif 'ld.exe: unrecognized option' in e or 'emxomfld: invalid option' in e: + linker = linkers.OS2DynamicLinker( + compiler, for_machine, comp_class.LINKER_PREFIX, override, + version='none') else: __failed_to_detect_linker(compiler, check_args, o, e) return linker diff --git a/mesonbuild/linkers/linkers.py b/mesonbuild/linkers/linkers.py index 654049812..1539238ab 100644 --- a/mesonbuild/linkers/linkers.py +++ b/mesonbuild/linkers/linkers.py @@ -1818,3 +1818,25 @@ class TaskingLinker(DynamicLinker): for a in args: l.extend(self._apply_prefix('-Wl--whole-archive=' + a)) return l + + +class OS2DynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): + """ld and emxomfld""" + + id = 'ld.os2' + + def get_allow_undefined_args(self) -> T.List[str]: + return [] + + def thread_flags(self, env: 'Environment') -> T.List[str]: + return ['-lpthread'] + + def get_std_shared_lib_args(self) -> T.List[str]: + return ['-Zdll'] + + def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, + suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]: + return [] + + def get_always_args(self) -> T.List[str]: + return ['-Zomf'] |
