[pypy-svn] r71861 - in pypy/branch/ctypes-configure-cache-2/pypy/lib: . app_test ctypes_config_cache ctypes_config_cache/test

arigo at codespeak.net arigo at codespeak.net
Sat Mar 6 13:44:43 CET 2010


Author: arigo
Date: Sat Mar  6 13:44:41 2010
New Revision: 71861

Added:
   pypy/branch/ctypes-configure-cache-2/pypy/lib/ctypes_config_cache/pyexpat.ctc.py   (contents, props changed)
Modified:
   pypy/branch/ctypes-configure-cache-2/pypy/lib/app_test/test_pyexpat.py
   pypy/branch/ctypes-configure-cache-2/pypy/lib/ctypes_config_cache/test/test_cache.py
   pypy/branch/ctypes-configure-cache-2/pypy/lib/pyexpat.py
Log:
Update pyexpat.


Modified: pypy/branch/ctypes-configure-cache-2/pypy/lib/app_test/test_pyexpat.py
==============================================================================
--- pypy/branch/ctypes-configure-cache-2/pypy/lib/app_test/test_pyexpat.py	(original)
+++ pypy/branch/ctypes-configure-cache-2/pypy/lib/app_test/test_pyexpat.py	Sat Mar  6 13:44:41 2010
@@ -4,6 +4,9 @@
 import StringIO, sys
 import unittest, py
 
+from pypy.lib.ctypes_config_cache import rebuild
+rebuild.rebuild_one('pyexpat.ctc.py')
+
 from pypy.lib import pyexpat
 #from xml.parsers import expat
 expat = pyexpat

Added: pypy/branch/ctypes-configure-cache-2/pypy/lib/ctypes_config_cache/pyexpat.ctc.py
==============================================================================
--- (empty file)
+++ pypy/branch/ctypes-configure-cache-2/pypy/lib/ctypes_config_cache/pyexpat.ctc.py	Sat Mar  6 13:44:41 2010
@@ -0,0 +1,45 @@
+"""
+'ctypes_configure' source for pyexpat.py.
+Run this to rebuild _pyexpat_cache.py.
+"""
+
+import autopath
+import ctypes
+from ctypes import c_char_p, c_int, c_void_p, c_char
+from ctypes_configure import configure, dumpcache
+
+
+class CConfigure:
+    _compilation_info_ = configure.ExternalCompilationInfo(
+        includes = ['expat.h'],
+        libraries = ['expat'],
+        pre_include_lines = [
+        '#define XML_COMBINED_VERSION (10000*XML_MAJOR_VERSION+100*XML_MINOR_VERSION+XML_MICRO_VERSION)'],
+        )
+
+    XML_Char = configure.SimpleType('XML_Char', c_char)
+    XML_COMBINED_VERSION = configure.ConstantInteger('XML_COMBINED_VERSION')
+    for name in ['XML_PARAM_ENTITY_PARSING_NEVER',
+                 'XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE',
+                 'XML_PARAM_ENTITY_PARSING_ALWAYS']:
+        locals()[name] = configure.ConstantInteger(name)
+
+    XML_Encoding = configure.Struct('XML_Encoding',[
+                                    ('data', c_void_p),
+                                    ('convert', c_void_p),
+                                    ('release', c_void_p),
+                                    ('map', c_int * 256)])
+    XML_Content = configure.Struct('XML_Content',[
+        ('numchildren', c_int),
+        ('children', c_void_p),
+        ('name', c_char_p),
+        ('type', c_int),
+        ('quant', c_int),
+    ])
+    # this is insanely stupid
+    XML_FALSE = configure.ConstantInteger('XML_FALSE')
+    XML_TRUE = configure.ConstantInteger('XML_TRUE')
+
+config = configure.configure(CConfigure)
+
+dumpcache.dumpcache(__file__, '_pyexpat_cache.py', config)

Modified: pypy/branch/ctypes-configure-cache-2/pypy/lib/ctypes_config_cache/test/test_cache.py
==============================================================================
--- pypy/branch/ctypes-configure-cache-2/pypy/lib/ctypes_config_cache/test/test_cache.py	(original)
+++ pypy/branch/ctypes-configure-cache-2/pypy/lib/ctypes_config_cache/test/test_cache.py	Sat Mar  6 13:44:41 2010
@@ -30,3 +30,11 @@
 def test_hashlib():
     d = run('hashlib.ctc.py', '_hashlib_cache.py')
     assert hasattr(d['EVP_MD_CTX'], 'digest')
+
+def test_resource():
+    d = run('resource.ctc.py', '_resource_cache.py')
+    assert 'RLIM_NLIMITS' in d
+
+def test_pyexpat():
+    d = run('pyexpat.ctc.py', '_pyexpat_cache.py')
+    assert 'XML_COMBINED_VERSION' in d

Modified: pypy/branch/ctypes-configure-cache-2/pypy/lib/pyexpat.py
==============================================================================
--- pypy/branch/ctypes-configure-cache-2/pypy/lib/pyexpat.py	(original)
+++ pypy/branch/ctypes-configure-cache-2/pypy/lib/pyexpat.py	Sat Mar  6 13:44:41 2010
@@ -1,46 +1,15 @@
 
 import ctypes
 import ctypes.util
-from ctypes_configure import configure
 from ctypes import c_char_p, c_int, c_void_p, POINTER, c_char, c_wchar_p
 import sys
 
+# load the platform-specific cache made by running pyexpat.ctc.py
+from ctypes_config_cache._pyexpat_cache import *
+
+
 lib = ctypes.CDLL(ctypes.util.find_library('expat'))
 
-class CConfigure:
-    _compilation_info_ = configure.ExternalCompilationInfo(
-        includes = ['expat.h'],
-        libraries = ['expat'],
-        pre_include_lines = [
-        '#define XML_COMBINED_VERSION (10000*XML_MAJOR_VERSION+100*XML_MINOR_VERSION+XML_MICRO_VERSION)'],
-        )
-
-    XML_Char = configure.SimpleType('XML_Char', ctypes.c_char)
-    XML_COMBINED_VERSION = configure.ConstantInteger('XML_COMBINED_VERSION')
-    for name in ['XML_PARAM_ENTITY_PARSING_NEVER',
-                 'XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE',
-                 'XML_PARAM_ENTITY_PARSING_ALWAYS']:
-        locals()[name] = configure.ConstantInteger(name)
-
-    XML_Encoding = configure.Struct('XML_Encoding',[
-                                    ('data', c_void_p),
-                                    ('convert', c_void_p),
-                                    ('release', c_void_p),
-                                    ('map', c_int * 256)])
-    XML_Content = configure.Struct('XML_Content',[
-        ('numchildren', c_int),
-        ('children', c_void_p),
-        ('name', c_char_p),
-        ('type', c_int),
-        ('quant', c_int),
-    ])
-    # this is insanely stupid
-    XML_FALSE = configure.ConstantInteger('XML_FALSE')
-    XML_TRUE = configure.ConstantInteger('XML_TRUE')
-
-info = configure.configure(CConfigure)
-for k, v in info.items():
-    globals()[k] = v
 
 XML_Content.children = POINTER(XML_Content)
 XML_Parser = ctypes.c_void_p # an opaque pointer



More information about the Pypy-commit mailing list