Author: Wouter van Heyst <wouter.p...@richtlijn.be> Branch: osx-shared Changeset: r75178:b4dea196a719 Date: 2014-12-22 20:35 +0200 http://bitbucket.org/pypy/pypy/changeset/b4dea196a719/
Log: Introduce a RPATH_FLAGS variable to factor out the platform dependent rpath flags diff --git a/rpython/translator/platform/posix.py b/rpython/translator/platform/posix.py --- a/rpython/translator/platform/posix.py +++ b/rpython/translator/platform/posix.py @@ -140,6 +140,11 @@ rel_libdirs = [rpyrel(libdir) for libdir in self.preprocess_library_dirs(eci.library_dirs)] + if os.platform == 'darwin': + rpath_flags = ['-Wl,-rpath', '-Wl,@executable_path'] + else: + rpath_flags = ['-Wl,-rpath=\'$$ORIGIN/\''] + m.comment('automatically generated makefile') definitions = [ ('RPYDIR', '"%s"' % rpydir), @@ -158,6 +163,7 @@ ('CC', self.cc), ('CC_LINK', eci.use_cpp_linker and 'g++' or '$(CC)'), ('LINKFILES', eci.link_files), + ('RPATH_FLAGS', rpath_flags), ] for args in definitions: m.definition(*args) @@ -180,13 +186,8 @@ 'int $(PYPY_MAIN_FUNCTION)(int, char*[]); ' 'int main(int argc, char* argv[]) ' '{ return $(PYPY_MAIN_FUNCTION)(argc, argv); }" > $@') - if sys.platform == 'darwin': - m.rule('$(DEFAULT_TARGET)', ['$(TARGET)', 'main.o'], - ['$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) -o $@', - 'install_name_tool -add_rpath @executable_path $@']) - else: - m.rule('$(DEFAULT_TARGET)', ['$(TARGET)', 'main.o'], - '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) -o $@ -Wl,-rpath=\'$$ORIGIN/\'') + m.rule('$(DEFAULT_TARGET)', ['$(TARGET)', 'main.o'], + '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) -o $@ $(RPATH_FLAGS)') return m _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit