[pypy-svn] r74591 - in pypy/branch/build-problems-x86_64-stackless/pypy: module/pyexpat rlib translator/c translator/tool

wildchild at codespeak.net wildchild at codespeak.net
Thu May 20 05:53:50 CEST 2010


Author: wildchild
Date: Thu May 20 05:53:49 2010
New Revision: 74591

Modified:
   pypy/branch/build-problems-x86_64-stackless/pypy/module/pyexpat/interp_pyexpat.py
   pypy/branch/build-problems-x86_64-stackless/pypy/rlib/rlocale.py
   pypy/branch/build-problems-x86_64-stackless/pypy/translator/c/database.py
   pypy/branch/build-problems-x86_64-stackless/pypy/translator/tool/cbuild.py
Log:
- Adding some includes to build under FreeBSD. Some cleanup needed...
- Based on a huge comment in the complete() method in database.py, steps 4 and 6 can be switched. It seems it "solves" a build problem with --stackless enabled on x86_64 platforms. Some more tests are needed here...


Modified: pypy/branch/build-problems-x86_64-stackless/pypy/module/pyexpat/interp_pyexpat.py
==============================================================================
--- pypy/branch/build-problems-x86_64-stackless/pypy/module/pyexpat/interp_pyexpat.py	(original)
+++ pypy/branch/build-problems-x86_64-stackless/pypy/module/pyexpat/interp_pyexpat.py	Thu May 20 05:53:49 2010
@@ -17,9 +17,18 @@
     libname = 'libexpat'
 else:
     libname = 'expat'
+
+include_dirs = []
+library_dirs = []
+if sys.platform == "freebsd7":
+    include_dirs = ['/usr/local/include']
+    library_dirs = ['/usr/local/lib']
+
 eci = ExternalCompilationInfo(
     libraries=[libname],
     includes=['expat.h'],
+    include_dirs=include_dirs,
+    library_dirs=library_dirs,
     pre_include_bits=[
     '#define XML_COMBINED_VERSION' +
     ' (10000*XML_MAJOR_VERSION+100*XML_MINOR_VERSION+XML_MICRO_VERSION)',

Modified: pypy/branch/build-problems-x86_64-stackless/pypy/rlib/rlocale.py
==============================================================================
--- pypy/branch/build-problems-x86_64-stackless/pypy/rlib/rlocale.py	(original)
+++ pypy/branch/build-problems-x86_64-stackless/pypy/rlib/rlocale.py	Thu May 20 05:53:49 2010
@@ -27,6 +27,8 @@
         includes += ['windows.h']
     if sys.platform == 'darwin':
         include_dirs += ['/opt/local/include']
+    if sys.platform == 'freebsd7':
+        include_dirs += ['/usr/local/include']
     _compilation_info_ = ExternalCompilationInfo(
         includes=includes,
         include_dirs=include_dirs

Modified: pypy/branch/build-problems-x86_64-stackless/pypy/translator/c/database.py
==============================================================================
--- pypy/branch/build-problems-x86_64-stackless/pypy/translator/c/database.py	(original)
+++ pypy/branch/build-problems-x86_64-stackless/pypy/translator/c/database.py	Thu May 20 05:53:49 2010
@@ -287,12 +287,12 @@
         if self.gctransformer:
             finish_callbacks.append(('GC transformer: finished helpers',
                                      self.gctransformer.finish_helpers))
-        if self.stacklesstransformer:
-            finish_callbacks.append(('Stackless transformer: finished',
-                                     self.stacklesstransformer.finish))
         if self.gctransformer:
             finish_callbacks.append(('GC transformer: finished tables',
                                      self.gctransformer.get_finish_tables()))
+        if self.stacklesstransformer:
+            finish_callbacks.append(('Stackless transformer: finished',
+                                     self.stacklesstransformer.finish))
 
         def add_dependencies(newdependencies):
             for value in newdependencies:

Modified: pypy/branch/build-problems-x86_64-stackless/pypy/translator/tool/cbuild.py
==============================================================================
--- pypy/branch/build-problems-x86_64-stackless/pypy/translator/tool/cbuild.py	(original)
+++ pypy/branch/build-problems-x86_64-stackless/pypy/translator/tool/cbuild.py	Thu May 20 05:53:49 2010
@@ -282,7 +282,7 @@
             for sym in self.export_symbols:
                 f.write("%s;\n" % (sym,))
             f.write("};")
-            d['link_extra'] += ("-Wl,--dynamic-list=" + str(file_name), )
+            d['link_extra'] += ("-Wl,--version-script=" + str(file_name), )
         f.close()
         d['export_symbols'] = ()
         return ExternalCompilationInfo(**d)



More information about the Pypy-commit mailing list