VALAC(1)

πŸ“¦ version 0.48.19, in centos-stream 9

πŸ’… VALAC β€” bestie edition ✨

okay so you found the valac(1) page, it lives in the User Commands section of the manual, and honestly? it's a whole vibe. grab a snack πŸ“, we're learning the Vala compiler together.


🌸 NAME

valac β€” the compiler that translates Vala source code into C source and header files. that's it, that's the whole job, and she does it flawlessly πŸ’…


πŸ¦‹ SYNOPSIS

valac [OPTION]... [FILE]...

options first, files after. or files first, honestly, she's flexible 😌


✨ DESCRIPTION

Vala is a programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C. no cap β€” that's the whole pitch and it eats πŸ’–

valac, the Vala compiler, is a self-hosting compiler that translates Vala source code into C source and header files. she uses the GObject type system to create classes and interfaces declared in the Vala source code. iconic behavior, truly πŸ‘‘


πŸŽ€ Usage:

valac [OPTION?] FILE... - Vala Compiler

🌈 Help Options:

  • -?, --help β€” show help options. the "wait what does this flag do" button 🫢

πŸ”₯ Application Options:

  • --vapidir=DIRECTORY... β€” look for package bindings in DIRECTORY
  • --girdir=DIRECTORY... β€” look for .gir files in DIRECTORY
  • --metadatadir=DIRECTORY... β€” look for GIR .metadata files in DIRECTORY
  • --pkg=PACKAGE... β€” include binding for PACKAGE
  • --vapi=FILE β€” output VAPI file name
  • --library=NAME β€” library name
  • --shared-library=NAME β€” shared library name used in generated gir
  • --gir=NAME-VERSION.gir β€” GObject-Introspection repository file name
  • -b, --basedir=DIRECTORY β€” base source directory
  • -d, --directory=DIRECTORY β€” change output directory from current working directory
  • --version β€” display version number
  • --api-version β€” display API version number
  • -C, --ccode β€” output C code
  • -H, --header=FILE β€” output C header file
  • --use-header β€” use C header file
  • --includedir=DIRECTORY β€” directory used to include the C header file
  • -h, --internal-header=FILE β€” output internal C header file
  • --internal-vapi=FILE β€” output vapi with internal api
  • --fast-vapi β€” output vapi without performing symbol resolution
  • --use-fast-vapi β€” use --fast-vapi output during this compile
  • --vapi-comments β€” include comments in generated vapi
  • --deps β€” write make-style dependency information to this file
  • --depfile β€” write make-style external dependency information for build systems to this file
  • --list-sources β€” output a list of all source and binding files which are used
  • --symbols=FILE β€” output symbols file
  • -c, --compile β€” compile but do not link
  • -o, --output=FILE β€” place output in file FILE
  • -g, --debug β€” produce debug information
  • --thread β€” enable multithreading support. DEPRECATED AND IGNORED πŸ’€ she's retired, she's not coming back, don't @ her
  • --enable-mem-profiler β€” enable GLib memory profiler
  • -D, --define=SYMBOL... β€” define SYMBOL
  • --main=SYMBOL... β€” use SYMBOL as entry point
  • --nostdpkg β€” do not include standard packages
  • --disable-assert β€” disable assertions
  • --enable-checking β€” enable additional run-time checks
  • --enable-deprecated β€” enable deprecated features
  • --hide-internal β€” hide symbols marked as internal
  • --enable-experimental β€” enable experimental features
  • --disable-warnings β€” disable warnings
  • --fatal-warnings β€” treat warnings as fatal
  • --disable-since-check β€” do not check whether used symbols exist in local packages
  • -k, --keep-going β€” continue as much as possible after an error. the "no thoughts head empty, keep going" flag 🧚
  • --enable-experimental-non-null β€” enable experimental enhancements for non-null types
  • --enable-gobject-tracing β€” enable GObject creation tracing
  • --cc=COMMAND β€” use COMMAND as C compiler command
  • -X, --Xcc=OPTION... β€” pass OPTION to the C compiler
  • --pkg-config=COMMAND β€” use COMMAND as pkg-config command
  • --dump-tree=FILE β€” write code tree to FILE
  • --save-temps β€” keep temporary files
  • --profile=PROFILE β€” use the given profile instead of the default
  • -q, --quiet β€” do not print messages to the console 🀫
  • -v, --verbose β€” print additional messages to the console. opposite of quiet, she yaps (affectionate) πŸ’¬
  • --no-color β€” disable colored output, alias for --color=never
  • --color=WHEN β€” enable color output, options are 'always', 'never', or 'auto'. When no value is given always is implied. When neither --color or --no-color are declared then --color=auto is used where output is colored when stderr is a terminal.
  • --target-glib='MAJOR.MINOR', or 'auto' β€” target version of glib for code generation
  • --gresources=FILE... β€” XML of gresources
  • --gresourcesdir=DIRECTORY... β€” look for resources in DIRECTORY
  • --enable-version-header β€” write vala build version in generated files
  • --disable-version-header β€” do not write vala build version in generated files
  • --run-args β€” arguments passed to directly compiled executable
  • --abi-stability β€” enable support for ABI stability
⚠️ okay listen up for this one bestie, because it's the serious one: --abi-stability changes the current behaviour to output public members of classes and interfaces the same order as they appear in Vala source. For libraries it is recommended to use --abi-stability to ensure the maintainability of the resulting Application Binary Interface (ABI). This option is disabled by default for backward compatibility because it can break the ABI of existing projects. so like… know what you're doing 🫣

πŸ’€ BUGS

found one? she's not hiding:

https://gitlab.gnome.org/GNOME/vala/issues

πŸ’œ HOMEPAGE OR CONTACT

https://wiki.gnome.org/Projects/Vala

⭐ FEATURES

the whole roster, no skips: interfaces, properties, signals, foreach, lambda expressions, type inference for local variables, generics, non-null types, assisted memory management, exception handling. she really does it all, main character energy fr fr 🌟


πŸ‘‘ AUTHORS

J??rg Billeter, Raffaele Sandrini, Rico Tzschichholz.


and that's the page! this is Vala 0.48.19, dated August 2021 β€” huge thank you to everyone who wrote her, she's been slaying since day one πŸŽ€πŸ’–

✨ go compile something cute, bestie. valac believes in you. periodt. ✨
πŸ“¦ where this page comes from