Compiler projects using llvm
import("//llvm/utils/gn/build/symbol_exports.gni")

assert(host_os != "win", "loadable modules not supported on win")

symbol_exports("exports") {
  exports_file = "Hello.exports"
}

loadable_module("Hello") {
  output_name = "LLVMHello"
  deps = [
    ":exports",

    # LLVMHello doesn't want to link in any LLVM code, it just
    # needs its headers.
    "//llvm/include/llvm/IR:public_tablegen",
  ]
  sources = [ "Hello.cpp" ]

  if (host_os != "mac" && host_os != "win") {
    # The GN build currently doesn't globally pass -fPIC, but that's
    # needed for building .so files on ELF.  Just pass it manually
    # for loadable_modules for now.
    cflags = [ "-fPIC" ]
  }
}