Convert `zom` to `zomc`
Larsouille25 opened this issue · 0 comments
Larsouille25 commented
The idea is to make the Zom compiler like gcc
or rustc
, only one command with many options. And if anyone wants to make an alternative package manager they can do (for now their is no official package manager but one will come).
Todo
- rename
zom
tozomc
- remove subcommands
dev
,gettarget
,version
- add mandatory argument
SOURCE_FILE
that is the main file, e.g: bor a bin, it'smain.zom
, for a lib it'slib.zom
- add options
-
--verbose
, print to stdout more details. -
--version --verbose
shows the version + the commit hash + build date + target triple of the compiler. -
--target TARGET
, where TARGET is the target triple used when compiling with LLVM. -
--emit [asm|llvm-ir|llvm-bc|obj]
, comma separated list of types of output for the compiler to emit. -
--pkg-type [bin|zlib|lib|dylib|staticlib]
, what type of output the compiler will emit.zomlib
will be covered in an RFC, and for now it'll not be done but will be their. -
--pkg-name NAME
, specify the name of the package, used when the output filename isn't specified to determine a filename. -
--link-dir -L PATH
, add a directory to the library search path. -
--link -l NAME[:RENAME]
, link the generated package to the specified native library NAME. The RENAME is used if in the Zom source of the package you use another name for the library NAME. -
--error -E [human|json]
, how stdout will look like.human
is beautiful error messages, human readable.json
is to print a json with the error if there is. -
--opt LEVEL
, optimization level, used by LLVM optimizer. -
--output -O FILENAME
, write output to FILENAME -
--output-dir DIR
, write the output in the DIR with the filename based on the package name.
-
- remake a panic hook like before.