v3.pref
fn comptime_flag_value #
fn comptime_flag_value(p &Preferences, name string) bool
comptime_flag_value supports comptime flag value handling for pref.
fn comptime_optional_flag_value #
fn comptime_optional_flag_value(p &Preferences, name string) bool
comptime_optional_flag_value supports comptime optional flag value handling for pref.
fn comptime_pkgconfig_value #
fn comptime_pkgconfig_value(name string) bool
comptime_pkgconfig_value supports comptime pkgconfig value handling for pref.
fn file_has_incompatible_os_suffix #
fn file_has_incompatible_os_suffix(file string, current_os string) bool
file_has_incompatible_os_suffix converts file has incompatible os suffix data for pref.
fn file_has_incompatible_target_suffix #
fn file_has_incompatible_target_suffix(file string, target Target) bool
file_has_incompatible_target_suffix reports whether an OS or architecture suffix excludes file from target.
fn get_test_v_files_from_dir #
fn get_test_v_files_from_dir(dir string, user_defines []string, backend string, target_os string) []string
get_test_v_files_from_dir returns backend/target/define-compatible test files in dir.
fn get_test_v_files_from_dir_for_target #
fn get_test_v_files_from_dir_for_target(dir string, user_defines []string, backend string, target Target) []string
get_test_v_files_from_dir_for_target returns tests compatible with the complete target.
fn get_v_files_from_dir #
fn get_v_files_from_dir(dir string, user_defines []string, target_os string) []string
get_v_files_from_dir returns get v files from dir data for pref.
fn get_v_files_from_dir_for_target #
fn get_v_files_from_dir_for_target(dir string, user_defines []string, target Target) []string
get_v_files_from_dir_for_target returns sources compatible with the complete target.
fn host_arch #
fn host_arch() string
host_arch returns the normalized architecture of the compiler process.
fn host_target #
fn host_target() Target
host_target returns the platform on which the compiler process is running.
fn is_test_file_for_backend #
fn is_test_file_for_backend(path string, backend string) bool
fn is_test_file_for_platform #
fn is_test_file_for_platform(path string, backend string, target Target) bool
is_test_file_for_platform reports whether path is a test for backend and target.
fn is_test_file_for_target #
fn is_test_file_for_target(path string, backend string, target_os string) bool
is_test_file_for_target reports whether path is a test file for backend that is compatible with target_os. Platform-qualified tests use names such as foo_windows_test.v and must not be added to a non-Windows test harness.
fn new_preferences #
fn new_preferences() &Preferences
new_preferences supports new preferences handling for pref.
fn normalized_arch #
fn normalized_arch(target_arch string) string
normalized_arch canonicalizes common architecture aliases.
fn normalized_os #
fn normalized_os(target_os string) string
normalized_os supports normalized os handling for pref.
fn target_from #
fn target_from(os_name string, arch_name string) !Target
target_from validates and canonicalizes an OS/architecture pair.
struct Preferences #
struct Preferences {
pub mut:
verbose bool
output_file string
target Target = host_target()
user_defines []string
backend string = 'c'
c99 bool
vroot string = detect_vroot()
vexe string = detect_vexe()
selfhost bool
building_v bool // compiling the V compiler itself: no generics, skip monomorphization
is_prod bool
is_test bool // at least one compatible user test file is being compiled
// V3 backends currently do not lower V inline-assembly nodes. Keep this an
// explicit capability so guarded stdlib assembly selects its software path.
supports_inline_asm bool
pub:
build_date string
build_time string
build_timestamp string
}
Preferences represents preferences data used by pref.
fn (Preferences) get_vlib_module_path #
fn (p &Preferences) get_vlib_module_path(mod string) string
get_vlib_module_path returns get vlib module path data for Preferences.
fn (Preferences) get_module_path #
fn (p &Preferences) get_module_path(mod string, importing_file_path string) string
get_module_path returns get module path data for Preferences.
fn (Preferences) normalized_target_os #
fn (p &Preferences) normalized_target_os() string
normalized_target_os supports normalized target os handling for Preferences.
fn (Preferences) normalized_target_arch #
fn (p &Preferences) normalized_target_arch() string
normalized_target_arch returns the canonical target architecture.
fn (Preferences) is_cross_target #
fn (p &Preferences) is_cross_target() bool
is_cross_target reports whether is cross target applies in pref.
struct Target #
struct Target {
pub:
os string
arch string
abi string
endian string
pointer_bits int
object_format string
}
Target is the canonical description of the platform for which code is generated. Host properties must not be used for target-dependent source selection or semantics.
- fn comptime_flag_value
- fn comptime_optional_flag_value
- fn comptime_pkgconfig_value
- fn file_has_incompatible_os_suffix
- fn file_has_incompatible_target_suffix
- fn get_test_v_files_from_dir
- fn get_test_v_files_from_dir_for_target
- fn get_v_files_from_dir
- fn get_v_files_from_dir_for_target
- fn host_arch
- fn host_target
- fn is_test_file_for_backend
- fn is_test_file_for_platform
- fn is_test_file_for_target
- fn new_preferences
- fn normalized_arch
- fn normalized_os
- fn target_from
- struct Preferences
- struct Target