1
0

make packaging simexec(1) easier

This commit is contained in:
dtb 2023-01-07 17:24:56 -05:00
parent a256b92ce8
commit 65fb6c194e
2 changed files with 44 additions and 1 deletions

40
simexec/packaging.md Normal file
View File

@ -0,0 +1,40 @@
# Packaging simexec.c
## License
Simexec is Public Domain so there are basically no barriers when it comes to
licensing. And if you somehow violate my already-forfeited copyright, I promise
I won't sue you.
## Files
Simexec is a single C file (`simexec.c`) that builds to a single executable,
which should be named `simexec` and placed in a user-accessible binaries
directory. A `Makefile` is provided as courtesy but isn't really necessary.
The `src/simexec` directory can be moved to a system sources directory if you
wish to keep the source on hand; it doesn't reference anything else in the
repository.
The included manual page, `simexec.1` can be placed in the appropriate manual
pages directory. If it displays weirdly feel free to e-mail me and I'll attempt
to fix it.
## Compilation
On systems that provide `<sysexits.h>`, the following is all that's needed:
```
cc -o simexec simexec.c
```
If you're not sure whether your system provides `<sysexits.h>`, try it and see.
If it doesn't work, compile `simexec.c` with the following:
```
cc -DEX_USAGE=1 -o simexec simexec.c
```
Other than `<sysexits.h>` simexec(1) only relies on headers found in the C
standard library. Outside of POSIX environments `simexec.c` probably won't work
but it wouldn't be of much use anyway.

View File

@ -1,7 +1,10 @@
#include <stdio.h> /* fprintf(3), NULL */
#include <sysexits.h> /* EX_USAGE */
#include <unistd.h> /* execv(3), */
#if !defined EX_USAGE
# include <sysexits.h> /* EX_USAGE */
#endif
static char *program_name = "simexec";
int main(int argc, char *argv[]){