This repository has been archived on 2019-10-11. You can view files and clone it, but cannot push or open issues or pull requests.
compilescript/man/compilescript.1.adoc

91 lines
2.1 KiB
Plaintext

= compilescript(1)
:doctype: manpage
:Author: tastytea
:Email: tastytea@tastytea.de
:Date: 2019-10-10
:Revision: 0.0.0
:man source: compilescript
:man version: {revision}
:man manual: General Commands Manual
== NAME
compilescript - Execute source files from compiled languages as scripts.
== SYNOPSIS
*compilescript* [_file_|_--cleanup_|_--version_] [_arguments_]
== DESCRIPTION
compilescript allows you to execute files from compiled languages as scripts.
By default it uses g++.
It compiles the source file, stores the binary in
`${XDG_CACHE_HOME}/compilescript/` and executes it. If the binary in cache is
newer than the source file, the compilation is skipped.
Use `#!/usr/bin/env compilescript` as shebang and write the compiler arguments
in the second line with the prefix: `//compilescript:`.
The configuration file is in `${XDG_CONFIG_HOME}/compilescript.cfg`. It will be
generated on first run.
The compiler invocation looks like this: <configured compiler> <source file>
<compiler arguments> -o <binary>.
== OPTIONS
*--cleanup*::
Delete old cache files. You can configure the timespan after which a file is
considered old with the config option _clean_after_hours_.
*--compiler* _command_::
Override compiler command. Note that *--compiler*=_command_ does NOT work.
*--version*::
Print version, copyright and license.
== EXAMPLES
=== Example script
[source,cpp]
----
#!/usr/bin/env compilescript
//compilescript: -Wall -pedantic -Wextra
#include <iostream>
using std::cout;
int main(int argc, char *argv[])
{
cout << "Hello world!\n";
cout << argv[1] << '\n';
}
----
=== Example config
[source,conf]
----
compiler = "g++ -x c++";
clean_after_hours = 720;
cache_dir = "/home/user/.cache/compilescript";
----
== FILES
- *Configuration file*: `${XDG_CONFIG_HOME}/compilescript.cfg`
- *Cache*: `${XDG_CACHE_HOME}/compilescript/`
`${XDG_CONFIG_HOME}` is usually `~/.config` and `${XDG_CACHE_HOME}` is usually
`~/.cache`.
== REPORTING BUGS
Bugtracker: https://schlomp.space/tastytea/compilescript/issues
E-mail: tastytea@tastytea.de