[pypy-svn] r76178 - pypy/trunk/pypy/translator/platform
fijal at codespeak.net
fijal at codespeak.net
Tue Jul 13 13:48:53 CEST 2010
Author: fijal
Date: Tue Jul 13 13:48:52 2010
New Revision: 76178
Modified:
pypy/trunk/pypy/translator/platform/__init__.py
pypy/trunk/pypy/translator/platform/darwin.py
pypy/trunk/pypy/translator/platform/posix.py
pypy/trunk/pypy/translator/platform/windows.py
Log:
Merge 76177 from unicode-filename-2
Modified: pypy/trunk/pypy/translator/platform/__init__.py
==============================================================================
--- pypy/trunk/pypy/translator/platform/__init__.py (original)
+++ pypy/trunk/pypy/translator/platform/__init__.py Tue Jul 13 13:48:52 2010
@@ -161,7 +161,7 @@
return (library_dirs + self.link_flags + export_flags +
link_files + list(eci.link_extra) + libraries)
- def _exportsymbols_link_flags(self, eci):
+ def _exportsymbols_link_flags(self, eci, relto=None):
if eci.export_symbols:
raise ValueError("This platform does not support export symbols")
return []
Modified: pypy/trunk/pypy/translator/platform/darwin.py
==============================================================================
--- pypy/trunk/pypy/translator/platform/darwin.py (original)
+++ pypy/trunk/pypy/translator/platform/darwin.py Tue Jul 13 13:48:52 2010
@@ -56,7 +56,7 @@
include_dirs = self._includedirs(eci.include_dirs)
return (args + frameworks + include_dirs)
- def _exportsymbols_link_flags(self, eci):
+ def _exportsymbols_link_flags(self, eci, relto=None):
if not eci.export_symbols:
return []
@@ -65,6 +65,9 @@
for sym in eci.export_symbols:
f.write("_%s\n" % (sym,))
f.close()
+
+ if relto:
+ response_file = relto.bestrelpath(response_file)
return ["-Wl,-exported_symbols_list,%s" % (response_file,)]
class Darwin_i386(Darwin):
Modified: pypy/trunk/pypy/translator/platform/posix.py
==============================================================================
--- pypy/trunk/pypy/translator/platform/posix.py (original)
+++ pypy/trunk/pypy/translator/platform/posix.py Tue Jul 13 13:48:52 2010
@@ -39,7 +39,7 @@
def _link_args_from_eci(self, eci, standalone):
return Platform._link_args_from_eci(self, eci, standalone)
- def _exportsymbols_link_flags(self, eci):
+ def _exportsymbols_link_flags(self, eci, relto=None):
if not eci.export_symbols:
return []
@@ -50,6 +50,9 @@
f.write("%s;\n" % (sym,))
f.write("};")
f.close()
+
+ if relto:
+ response_file = relto.bestrelpath(response_file)
return ["-Wl,--export-dynamic,--version-script=%s" % (response_file,)]
def _link(self, cc, ofiles, link_args, standalone, exe_name):
@@ -90,7 +93,7 @@
if shared:
linkflags = self._args_for_shared(linkflags)
- linkflags += self._exportsymbols_link_flags(eci)
+ linkflags += self._exportsymbols_link_flags(eci, relto=path)
if shared:
libname = exe_name.new(ext='').basename
Modified: pypy/trunk/pypy/translator/platform/windows.py
==============================================================================
--- pypy/trunk/pypy/translator/platform/windows.py (original)
+++ pypy/trunk/pypy/translator/platform/windows.py Tue Jul 13 13:48:52 2010
@@ -141,7 +141,7 @@
# Windows needs to resolve all symbols even for DLLs
return super(MsvcPlatform, self)._link_args_from_eci(eci, standalone=True)
- def _exportsymbols_link_flags(self, eci):
+ def _exportsymbols_link_flags(self, eci, relto=None):
if not eci.export_symbols:
return []
@@ -150,6 +150,9 @@
for sym in eci.export_symbols:
f.write("/EXPORT:%s\n" % (sym,))
f.close()
+
+ if relto:
+ response_file = relto.bestrelpath(response_file)
return ["@%s" % (response_file,)]
def _compile_c_file(self, cc, cfile, compile_args):
@@ -219,7 +222,7 @@
if shared:
linkflags = self._args_for_shared(linkflags) + [
'/EXPORT:$(PYPY_MAIN_FUNCTION)']
- linkflags += self._exportsymbols_link_flags(eci)
+ linkflags += self._exportsymbols_link_flags(eci, relto=path)
if shared:
so_name = exe_name.new(purebasename='lib' + exe_name.purebasename,
More information about the Pypy-commit
mailing list