module Driver

Extended Modules

Direct including types

Defined in:

mod/driver.cr

Constant Summary

CC_STATIC = "-static"
CRY_STATIC = "-#{CC_STATIC}"
MATCH_CC_LINE_PARTS = ["(?(?=cc)", "(?>cc\\s+(?<objcode>\\S*))", "|(?(?=-o)", "(?>-o\\s+(?<objout>\\S*))", "|(?(?=-L)", "(?<pathfull>(?>-L(?<path>\\S+)))", "|(?(?=-[^l])", "(?<flagfull>(?>-(?<flag>\\S+)))", "|(?<libfull>(?>-\\S(?<lib>\\S+)))))))"]
NOT_FOUND = "NOT_FOUND"
NOT_FOUND_CODE = 1000
NULL_LIB_NAME = ""
STDLIBS = [{NULL_LIB_NAME, "libgcc.a"}, {NULL_LIB_NAME, "libgomp.a"}, {NULL_LIB_NAME, "libc.a"}]

Instance Method Summary

Instance Method Detail

def execute_crystal(projroot : String, cryfile : String, target = "x86_64-pc-linux-gnu", cryflags = [] of String, linkflags = [] of String, verbose = false) #

[View source]
def execute_linker(objfile : String, exefile : String, cc = "gcc", ld = nil, linkflags = [] of String, libpaths = [] of String, libs = [] of String, verbose = false) #

[View source]
def extract_cc_line_parts(cline : String) #

[View source]
def get_flags_flags(cc_line_parts) #

[View source]
def get_libpaths_flags(cc_line_parts) #

[View source]
def get_libs_flags(cc_line_parts) #

[View source]
def get_libs_values(cc_line_parts) #

[View source]
def get_objcode(cc_line_parts) #

[View source]
def get_objout(cc_line_parts) #

[View source]
def linker_libs(static_libs) #

[View source]
def search_cc_libs(path : String) #

[View source]
def search_static_libs(path : String, cc_names) #

[View source]
def static_libs_found?(static_libs) #

[View source]