[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