mirror of
https://review.haiku-os.org/buildtools
synced 2025-01-31 18:44:48 +01:00
0b514caa50
Moving it inside gcc dir allows gcc to detect and build isl while building gcc. It has dependencies on other libraries that would need to be prebuilt if we build it ourselves. This is one of a few steps in building gcc with isl and allowing graphite optimization flags.
30 lines
616 B
Plaintext
30 lines
616 B
Plaintext
from ctypes import *
|
|
|
|
isl = cdll.LoadLibrary("libisl.so")
|
|
libc = cdll.LoadLibrary("libc.so.6")
|
|
|
|
class Error(Exception):
|
|
pass
|
|
|
|
class Context:
|
|
defaultInstance = None
|
|
|
|
def __init__(self):
|
|
ptr = isl.isl_ctx_alloc()
|
|
self.ptr = ptr
|
|
|
|
def __del__(self):
|
|
isl.isl_ctx_free(self)
|
|
|
|
def from_param(self):
|
|
return self.ptr
|
|
|
|
@staticmethod
|
|
def getDefaultInstance():
|
|
if Context.defaultInstance == None:
|
|
Context.defaultInstance = Context()
|
|
return Context.defaultInstance
|
|
|
|
isl.isl_ctx_alloc.restype = c_void_p
|
|
isl.isl_ctx_free.argtypes = [Context]
|