manual c function interop
This commit is contained in:
@@ -3,6 +3,7 @@ package compiler
|
||||
import "./backend"
|
||||
import "./checker"
|
||||
import "./llvm"
|
||||
import "./linker"
|
||||
import "./loader"
|
||||
import "./lower"
|
||||
import "./opt"
|
||||
@@ -13,7 +14,7 @@ import vmem "core:mem/virtual"
|
||||
import "core:os"
|
||||
import "core:os/os2"
|
||||
|
||||
compile_package :: proc(input_path, output_path: string) -> int {
|
||||
compile_package :: proc(input_path, output_path: string, link_arguments: []linker.Argument = nil) -> int {
|
||||
sources := source.init_store()
|
||||
defer source.destroy_store(&sources)
|
||||
diagnostics := source.init_store_diagnostics(&sources)
|
||||
@@ -76,7 +77,7 @@ compile_package :: proc(input_path, output_path: string) -> int {
|
||||
}
|
||||
|
||||
source.print_all(&diagnostics)
|
||||
if !backend.compile(llvm_path, output_path) {
|
||||
if !backend.compile(llvm_path, output_path, link_arguments) {
|
||||
return 2
|
||||
}
|
||||
if len(diagnostics.items) > 0 {
|
||||
|
||||
Reference in New Issue
Block a user