/**************************************************************************
*
- * Copyright 2009 VMware, Inc.
+ * Copyright 2012 VMware, Inc.
* All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
#define LP_BLD_MISC_H
-#include "llvm/Config/config.h"
+#include "lp_bld.h"
+#include <llvm/Config/llvm-config.h>
+#include <llvm-c/ExecutionEngine.h>
+#include <llvm-c/Target.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#ifndef LLVM_NATIVE_ARCH
+struct lp_generated_code;
+
+extern LLVMTargetLibraryInfoRef
+gallivm_create_target_library_info(const char *triple);
+
+extern void
+gallivm_dispose_target_library_info(LLVMTargetLibraryInfoRef library_info);
+
+extern void
+lp_set_target_options(void);
+
+
+extern int
+lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
+ struct lp_generated_code **OutCode,
+ LLVMModuleRef M,
+ LLVMMCJITMemoryManagerRef MM,
+ unsigned OptLevel,
+ char **OutError);
+
+extern void
+lp_free_generated_code(struct lp_generated_code *code);
-void
-LLVMLinkInJIT(void);
+extern LLVMMCJITMemoryManagerRef
+lp_get_default_memory_manager();
-int
-LLVMInitializeNativeTarget(void);
+extern void
+lp_free_memory_manager(LLVMMCJITMemoryManagerRef memorymgr);
-#endif /* !LLVM_NATIVE_ARCH */
+extern LLVMValueRef
+lp_get_called_value(LLVMValueRef call);
+extern bool
+lp_is_function(LLVMValueRef v);
#ifdef __cplusplus
}