[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