26 lines
1.5 KiB
Python
26 lines
1.5 KiB
Python
from cffi import FFI
|
|
import os
|
|
ffibuilder = FFI()
|
|
|
|
# cdef() expects a single string declaring the C types, functions and
|
|
# globals needed to use the shared object. It must be in valid C syntax.
|
|
ffibuilder.cdef(open("raylib_modified.h").read().replace('RLAPI ', ''))
|
|
|
|
# set_source() gives the name of the python extension module to
|
|
# produce, and some C source code as a string. This C code needs
|
|
# to make the declarated functions, types and globals available,
|
|
# so it is often just the "#include".
|
|
ffibuilder.set_source("_raylib_cffi",
|
|
"""
|
|
#include "raylib.h" // the C header of the library
|
|
""",
|
|
#library_dirs=['/Volumes/Home/rich/raylib-latest/src'],
|
|
# extra_link_args=['-Wl,-rpath,.'],
|
|
#extra_link_args=["/usr/local/lib/libraylib.a","-framework OpenGL"]# -F/System/Library/Frameworks -framework OpenGL -framework Cocoa -framework IOKit -framework CoreFoundation -framework CoreVideo"]
|
|
# library_dirs=[os.path.dirname(__file__)+"/../lib"],
|
|
#libraries=['raylib']
|
|
)
|
|
|
|
if __name__ == "__main__":
|
|
ffibuilder.compile(verbose=True)
|
|
os.system("clang -bundle -undefined dynamic_lookup ./_raylib_cffi.o -L/usr/local/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/sqlite/lib libraylib.a -F/System/Library/Frameworks -framework OpenGL -framework Cocoa -framework IOKit -framework CoreFoundation -framework CoreVideo -o ./_raylib_cffi.cpython-37m-darwin.so")
|