bcc is used to translate BlitzMax source code into C code. The name "bcc" came from Blitz Code Compiler but since BlitzMax NG
bcc became more of a transpiler.
Command line syntax
(Note that you will need
./bcc on *nix platforms, if you want to run bcc from the
bcc to be quiet. For now it does not change something in
bcc output itself but if passed back to
bmk this will have an effect to [
bcc into a verbose mode. This outputs more text information than during normal operation.
This can be useful if you want to see where stuff hangs, takes a while or just to see what happesn during compilation.
Create a release mode transpile of the BlitzMax source code.
Enables threading in your code file. (This is enabled as default in BlitzMax NG compilation processes).
Disable "strict upgrade". This then no longer upgrades strict subclass method/function return types to match the superstrict superclass. Without this parameter (so "default")
bcc does auto-upgrade. Set flag if you want to throw an error - because of mismatch. (Example: strict is Int, superstrict is Void).
Select for what architecture to create code. Valid architectures (for now) are:
Create code for the given
-o <output file>
Specifies the output file. Must be full path to the outputfile (excluding final extension - there will be a .h, .c and .i generated).
Select platform to create code for. Valid platforms (for now) are:
Mac OS X:
Define type of the application. Should be either
The default is
Defines to use a specific module as framework instead of importing all
Create a debug mode transpile of the BlitzMax source code. (This is the default mode)
Enables musl libc compatibility. (Linux only)
Generate warnings (and accept) instead of errors for calling methods with arguments that need to be cast down. May cause issues using overloaded methods.
Defines to not generate .def files useable by created DLLs/shared libraries.
Defines to not generate header files useable by created DLLs/shared libraries.
bcc that the generated code is used in a DLL/shared library.
Sets requirement for overriding methods and functions to append
override to their definitions.
override keywords in overridden methods and functions to be handled as error instead of warning.
-ud <user defined conditionals>
Add user defined conditionals (comma separated) then usable via