llvm.ffi: add-library if found, should fix loading failures

modern-harvey2
Björn Lindqvist 2017-07-14 21:21:04 +02:00
parent 7ce054a94d
commit 1478af9666
2 changed files with 24 additions and 19 deletions

View File

@ -1,11 +1,11 @@
! Copyright (C) 2009 Matthew Willis, 2017 Björn Lindqvist ! Copyright (C) 2009 Matthew Willis, 2017 Björn Lindqvist
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.c-types alien.destructors alien.libraries USING: alien alien.c-types alien.libraries alien.syntax kernel
alien.syntax ldcache ; ldcache ;
IN: llvm.ffi IN: llvm.ffi
<< <<
"llvm" "LLVM-3.9" find-so cdecl add-library "llvm" "LLVM-3.9" find-so [ cdecl add-library ] [ drop ] if*
>> >>
LIBRARY: llvm LIBRARY: llvm
@ -34,21 +34,23 @@ TYPEDEF: void* LLVMPassRegistryRef
! Type types ! Type types
ENUM: LLVMTypeKind ENUM: LLVMTypeKind
LLVMVoidTypeKind LLVMVoidTypeKind
LLVMFloatTypeKind LLVMHalfTypeKind
LLVMDoubleTypeKind LLVMFloatTypeKind
LLVMX86_FP80TypeKind LLVMDoubleTypeKind
LLVMFP128TypeKind LLVMX86_FP80TypeKind
LLVMPPC_FP128TypeKind LLVMFP128TypeKind
LLVMLabelTypeKind LLVMPPC_FP128TypeKind
LLVMMetadataTypeKind LLVMLabelTypeKind
LLVMIntegerTypeKind LLVMIntegerTypeKind
LLVMFunctionTypeKind LLVMFunctionTypeKind
LLVMStructTypeKind LLVMStructTypeKind
LLVMArrayTypeKind LLVMArrayTypeKind
LLVMPointerTypeKind LLVMPointerTypeKind
LLVMOpaqueTypeKind LLVMVectorTypeKind
LLVMVectorTypeKind ; LLVMMetadataTypeKind
LLVMX86_MMXTypeKind
LLVMTokenTypeKind ;
! Modules ! Modules
FUNCTION: LLVMModuleRef LLVMModuleCreateWithName ( c-string ModuleID ) FUNCTION: LLVMModuleRef LLVMModuleCreateWithName ( c-string ModuleID )
@ -68,6 +70,9 @@ FUNCTION: LLVMTypeRef LLVMFunctionType ( LLVMTypeRef ReturnType,
LLVMTypeRef* ParamTypes, LLVMTypeRef* ParamTypes,
unsigned ParamCount, int IsVarArg ) unsigned ParamCount, int IsVarArg )
FUNCTION: LLVMTypeKind LLVMGetTypeKind ( LLVMTypeRef Ty ) FUNCTION: LLVMTypeKind LLVMGetTypeKind ( LLVMTypeRef Ty )
FUNCTION: LLVMTypeRef LLVMGetReturnType ( LLVMTypeRef FunctionTy )
FUNCTION: LLVMTypeRef LLVMGetElementType ( LLVMTypeRef Ty )
FUNCTION: unsigned LLVMGetIntTypeWidth ( LLVMTypeRef IntegerTy )
! Values ! Values
FUNCTION: LLVMValueRef LLVMAddFunction ( LLVMModuleRef M, FUNCTION: LLVMValueRef LLVMAddFunction ( LLVMModuleRef M,
@ -78,6 +83,7 @@ FUNCTION: LLVMValueRef LLVMGetParam ( LLVMValueRef Fn,
FUNCTION: c-string LLVMGetValueName ( LLVMValueRef Val ) FUNCTION: c-string LLVMGetValueName ( LLVMValueRef Val )
FUNCTION: unsigned LLVMCountParams ( LLVMValueRef Fn ) FUNCTION: unsigned LLVMCountParams ( LLVMValueRef Fn )
FUNCTION: LLVMTypeRef LLVMTypeOf ( LLVMValueRef Val ) FUNCTION: LLVMTypeRef LLVMTypeOf ( LLVMValueRef Val )
FUNCTION: void LLVMDumpValue ( LLVMValueRef Val )
! Basic blocks ! Basic blocks
FUNCTION: LLVMBasicBlockRef LLVMAppendBasicBlock ( LLVMValueRef Fn, FUNCTION: LLVMBasicBlockRef LLVMAppendBasicBlock ( LLVMValueRef Fn,

View File

@ -1,3 +1,2 @@
not tested not tested
not loaded
compiler compiler