extern LLVMInitializeX86TargetInfo = () => void; extern LLVMInitializeX86TargetMC = () => void; extern LLVMInitializeX86Target = () => void; extern LLVMInitializeX86AsmPrinter = () => void; extern LLVMInitializeX86AsmParser = () => void; extern LLVMModuleCreateWithName = (*i8) => *void; extern LLVMGetGlobalContext = () => *void; extern LLVMCreateBuilder = () => *void; /* TODO: Create types */ extern LLVMDisposeModule = (*void) => void; extern LLVMShutdown = () => void; extern LLVMDisposeBuilder = (*void) => void; extern LLVMDumpModule = (*void) => void; extern LLVMGetDefaultTargetTriple = () => *i8; extern LLVMGetTargetFromTriple = (*i8, **void, **i8) => i64; extern LLVMDisposeMessage = (*i8) => void; extern LLVMCreateTargetMachine = (*void, *i8, *i8, *i8, i64, i64, i64) => *void; extern LLVMDisposeTargetMachine = (*void) => void; let LLVMCodeGenLevelDefault = 2; let LLVMRelocDefault = 0; let LLVMCodeModelDefault = 0; extern LLVMVerifyModule = (*void, i64, **i8) => i64; let LLVMAbortProcessAction = 0; extern LLVMTargetMachineEmitToFile = (*void, *void, *i8, i64, **i8) => i64; let LLVMObjectFile = 1;