You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.207
Former-commit-id: 3b152f462918d427ce18620a2cbe4f8b79650449
This commit is contained in:
parent
8e12397d70
commit
eb85e2fc17
@ -1,27 +0,0 @@
|
||||
foreach(TARGET ${LLVM_TARGETS_TO_BUILD})
|
||||
set(OCAML_LLVM_TARGET ${TARGET})
|
||||
|
||||
foreach( ext ml mli )
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/llvm_backend.${ext}.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/llvm_${TARGET}.${ext}")
|
||||
endforeach()
|
||||
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/backend_ocaml.c"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_ocaml.c")
|
||||
|
||||
add_ocaml_library(llvm_${TARGET}
|
||||
OCAML llvm_${TARGET}
|
||||
C ${TARGET}_ocaml
|
||||
CFLAGS -DTARGET=${TARGET}
|
||||
LLVM ${TARGET}
|
||||
NOCOPY)
|
||||
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/META.llvm_backend.in"
|
||||
"${LLVM_LIBRARY_DIR}/ocaml/META.llvm_${TARGET}")
|
||||
|
||||
install(FILES "${LLVM_LIBRARY_DIR}/ocaml/META.llvm_${TARGET}"
|
||||
DESTINATION "${LLVM_OCAML_INSTALL_PATH}")
|
||||
endforeach()
|
@ -1,7 +0,0 @@
|
||||
name = "llvm_@TARGET@"
|
||||
version = "@PACKAGE_VERSION@"
|
||||
description = "@TARGET@ Backend for LLVM"
|
||||
requires = "llvm"
|
||||
archive(byte) = "llvm_@TARGET@.cma"
|
||||
archive(native) = "llvm_@TARGET@.cmxa"
|
||||
directory = "llvm"
|
@ -1,38 +0,0 @@
|
||||
/*===-- backend_ocaml.c - LLVM OCaml Glue -----------------------*- C++ -*-===*\
|
||||
|* *|
|
||||
|* The LLVM Compiler Infrastructure *|
|
||||
|* *|
|
||||
|* This file is distributed under the University of Illinois Open Source *|
|
||||
|* License. See LICENSE.TXT for details. *|
|
||||
|* *|
|
||||
|*===----------------------------------------------------------------------===*|
|
||||
|* *|
|
||||
|* This file glues LLVM's OCaml interface to its C interface. These functions *|
|
||||
|* are by and large transparent wrappers to the corresponding C functions. *|
|
||||
|* *|
|
||||
|* Note that these functions intentionally take liberties with the CAMLparamX *|
|
||||
|* macros, since most of the parameters are not GC heap objects. *|
|
||||
|* *|
|
||||
\*===----------------------------------------------------------------------===*/
|
||||
|
||||
#include "llvm-c/Target.h"
|
||||
#include "caml/alloc.h"
|
||||
#include "caml/memory.h"
|
||||
|
||||
/* TODO: Figure out how to call these only for targets which support them.
|
||||
* LLVMInitialize ## target ## AsmPrinter();
|
||||
* LLVMInitialize ## target ## AsmParser();
|
||||
* LLVMInitialize ## target ## Disassembler();
|
||||
*/
|
||||
|
||||
#define INITIALIZER1(target) \
|
||||
CAMLprim value llvm_initialize_ ## target(value Unit) { \
|
||||
LLVMInitialize ## target ## TargetInfo(); \
|
||||
LLVMInitialize ## target ## Target(); \
|
||||
LLVMInitialize ## target ## TargetMC(); \
|
||||
return Val_unit; \
|
||||
}
|
||||
|
||||
#define INITIALIZER(target) INITIALIZER1(target)
|
||||
|
||||
INITIALIZER(TARGET)
|
@ -1,10 +0,0 @@
|
||||
(*===-- llvm_backend.ml.in - LLVM OCaml Interface -------------*- OCaml -*-===*
|
||||
*
|
||||
* The LLVM Compiler Infrastructure
|
||||
*
|
||||
* This file is distributed under the University of Illinois Open Source
|
||||
* License. See LICENSE.TXT for details.
|
||||
*
|
||||
*===----------------------------------------------------------------------===*)
|
||||
|
||||
external initialize : unit -> unit = "llvm_initialize_@TARGET@"
|
@ -1,19 +0,0 @@
|
||||
(*===-- llvm_backend.mli.in - LLVM OCaml Interface ------------*- OCaml -*-===*
|
||||
*
|
||||
* The LLVM Compiler Infrastructure
|
||||
*
|
||||
* This file is distributed under the University of Illinois Open Source
|
||||
* License. See LICENSE.TXT for details.
|
||||
*
|
||||
*===----------------------------------------------------------------------===*)
|
||||
|
||||
(** @TARGET@ Initialization.
|
||||
|
||||
This interface provides an OCaml API for initialization of
|
||||
the @TARGET@ LLVM target. By referencing this module, you will cause
|
||||
OCaml to load or link in the LLVM libraries corresponding to the target.
|
||||
By calling [initialize], you will register components of this target
|
||||
in the target registry, which is necessary in order to emit assembly,
|
||||
object files, and so on. *)
|
||||
|
||||
external initialize : unit -> unit = "llvm_initialize_@TARGET@"
|
Reference in New Issue
Block a user