diff --git mesonbuild/build.py mesonbuild/build.py index cf71dc2..1118830 100644 --- mesonbuild/build.py +++ mesonbuild/build.py @@ -131,7 +131,7 @@ def _process_install_tag(install_tag: T.Optional[T.List[T.Optional[str]]], @lru_cache(maxsize=None) def get_target_macos_dylib_install_name(ld) -> str: - name = ['@rpath/', ld.prefix, ld.name] + name = ['@loader_path/', ld.prefix, ld.name] if ld.soversion is not None: name.append('.' + ld.soversion) name.append('.dylib') diff --git mesonbuild/linkers/linkers.py mesonbuild/linkers/linkers.py index c4df0fa..88a04c1 100644 --- mesonbuild/linkers/linkers.py +++ mesonbuild/linkers/linkers.py @@ -705,7 +705,7 @@ class GnuLikeDynamicLinkerMixin(DynamicLinkerBase): paths = padding else: paths = paths + ':' + padding - args.extend(self._apply_prefix('-rpath,' + paths)) + #KEN args.extend(self._apply_prefix('-rpath,' + paths)) # TODO: should this actually be "for solaris/sunos"? # NOTE: Remove the zigcc check once zig support "-rpath-link" @@ -808,7 +808,7 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): 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]: - install_name = ['@rpath/', prefix, shlib_name] + install_name = ['@loader_path/', prefix, shlib_name] if soversion is not None: install_name.append('.' + soversion) install_name.append('.dylib') @@ -834,7 +834,7 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): all_paths.update(build_rpath.split(':')) for rp in all_paths: rpath_dirs_to_remove.add(rp.encode('utf8')) - args.extend(self._apply_prefix('-rpath,' + rp)) + #KEN args.extend(self._apply_prefix('-rpath,' + rp)) return (args, rpath_dirs_to_remove) @@ -1204,8 +1204,8 @@ class NAGDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): all_paths = mesonlib.OrderedSet([os.path.join(origin_placeholder, p) for p in processed_rpaths]) if build_rpath != '': all_paths.add(build_rpath) - for rp in all_paths: - args.extend(self._apply_prefix('-Wl,-Wl,,-rpath,,' + rp)) + #KEN for rp in all_paths: + #KEN args.extend(self._apply_prefix('-Wl,-Wl,,-rpath,,' + rp)) return (args, set()) diff --git mesonbuild/modules/gnome.py mesonbuild/modules/gnome.py index a1513c6..92b8147 100644 --- mesonbuild/modules/gnome.py +++ mesonbuild/modules/gnome.py @@ -625,8 +625,8 @@ class GnomeModule(ExtensionModule): if isinstance(lib, build.SharedLibrary): libdir = os.path.join(state.environment.get_build_dir(), state.backend.get_target_dir(lib)) link_command.append('-L' + libdir) - if include_rpath: - link_command.append('-Wl,-rpath,' + libdir) + #KEN if include_rpath: + #KEN link_command.append('-Wl,-rpath,' + libdir) new_depends.append(lib) # Needed for the following binutils bug: # https://github.com/mesonbuild/meson/issues/1911 @@ -635,8 +635,8 @@ class GnomeModule(ExtensionModule): for d in state.backend.determine_rpath_dirs(lib): d = os.path.join(state.environment.get_build_dir(), d) link_command.append('-L' + d) - if include_rpath: - link_command.append('-Wl,-rpath,' + d) + #KEN if include_rpath: + #KEN link_command.append('-Wl,-rpath,' + d) if use_gir_args and self._gir_has_option('--extra-library'): link_command.append('--extra-library=' + lib.name) else: @@ -701,8 +701,8 @@ class GnomeModule(ExtensionModule): getattr(dep, 'is_libtool', False)): lib_dir = os.path.dirname(flag) external_ldflags.update([f'-L{lib_dir}']) - if include_rpath: - external_ldflags.update([f'-Wl,-rpath {lib_dir}']) + #KEN if include_rpath: + #KEN external_ldflags.update([f'-Wl,-rpath {lib_dir}']) libname = os.path.basename(flag) if libname.startswith("lib"): libname = libname[3:] diff --git mesonbuild/scripts/depfixer.py mesonbuild/scripts/depfixer.py index db9c97d..77e8feb 100644 --- mesonbuild/scripts/depfixer.py +++ mesonbuild/scripts/depfixer.py @@ -420,9 +420,9 @@ def fix_darwin(fname: str, rpath_dirs_to_remove: T.Set[bytes], new_rpath: str, f args = [] # compute diff, translate it into -delete_rpath and -add_rpath # calls - for path in new_rpaths: - if path not in old_rpaths: - args += ['-add_rpath', path] + #KEN for path in new_rpaths: + #KEN if path not in old_rpaths: + #KEN args += ['-add_rpath', path] for path in old_rpaths: if path not in new_rpaths: args += ['-delete_rpath', path]