[pypy-svn] r54808 - in pypy/dist/pypy/rlib/rsdl: . test
arigo at codespeak.net
arigo at codespeak.net
Sat May 17 11:36:58 CEST 2008
Author: arigo
Date: Sat May 17 11:36:57 2008
New Revision: 54808
Added:
pypy/dist/pypy/rlib/rsdl/ (props changed)
pypy/dist/pypy/rlib/rsdl/RSDL.py (contents, props changed)
pypy/dist/pypy/rlib/rsdl/__init__.py (contents, props changed)
pypy/dist/pypy/rlib/rsdl/test/ (props changed)
pypy/dist/pypy/rlib/rsdl/test/__init__.py (contents, props changed)
pypy/dist/pypy/rlib/rsdl/test/test_basic.py (contents, props changed)
Log:
(karlb, cami, arigo)
Start working on a direct rffi binding for the SDL.
Added: pypy/dist/pypy/rlib/rsdl/RSDL.py
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/rlib/rsdl/RSDL.py Sat May 17 11:36:57 2008
@@ -0,0 +1,25 @@
+from pypy.rpython.lltypesystem import lltype, rffi
+from pypy.rpython.tool import rffi_platform as platform
+from pypy.translator.tool.cbuild import ExternalCompilationInfo
+
+eci = ExternalCompilationInfo(
+ includes = ['SDL.h'],
+ include_dirs = ['/usr/include/SDL'],
+ libraries = ['SDL'],
+)
+
+def external(name, args, result):
+ return rffi.llexternal(name, args, result, compilation_info=eci)
+
+class CConfig:
+ _compilation_info_ = eci
+
+ Uint32 = platform.SimpleType('Uint32', rffi.INT)
+
+ INIT_VIDEO = platform.ConstantInteger('SDL_INIT_VIDEO')
+
+globals().update(platform.configure(CConfig))
+
+
+Init = external('SDL_Init', [Uint32], rffi.INT)
+Quit = external('SDL_Quit', [], lltype.Void)
Added: pypy/dist/pypy/rlib/rsdl/__init__.py
==============================================================================
Added: pypy/dist/pypy/rlib/rsdl/test/__init__.py
==============================================================================
Added: pypy/dist/pypy/rlib/rsdl/test/test_basic.py
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/rlib/rsdl/test/test_basic.py Sat May 17 11:36:57 2008
@@ -0,0 +1,7 @@
+import py
+from pypy.rlib.rsdl import RSDL
+
+
+def test_sdl_init():
+ assert RSDL.Init(RSDL.INIT_VIDEO) >= 0
+ RSDL.Quit()
More information about the Pypy-commit
mailing list