From 46501ac819c8f21c69d7d2ba4b0457a7356f5e42 Mon Sep 17 00:00:00 2001 From: dzaima Date: Tue, 27 Sep 2022 17:47:37 +0300 Subject: [PATCH] update build & packaging information closes #45 --- README.md | 16 ++++++++-------- docs/README.md | 2 +- src/ffi.c | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 13ca06a3..b3198fa9 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,13 @@ ## Running 1. `make` - - `make CC=gcc` if you don't have clang installed + - Third-party packages and other ways to run BQN are listed [here](https://mlochbaum.github.io/BQN/running.html) + - `make CC=gcc` if clang isn't installed - `make PIE=""` on ARM CPUs (incl. Android & M1) - - `make FFI=0` if your system doesn't have libffi (i.e. an error about missing `` appears) - - `gmake` on BSDs - - For Windows, CBQN works in WSL, and [WinBQN](https://github.com/actalley/WinBQN) provides Cygwin/Msys2 builds. - - `make clean` if anything goes bad and you want a clean slate - - `make [...]; sudo make install` to install into `/usr/local/bin/bqn` (a `PREFIX=/some/path` argument will install to `/some/path/bin/bqn`); `sudo make uninstall` to uninstall + - `make FFI=0` if your system doesn't have libffi + - Use `gmake` on BSD + - `make clean` if anything breaks and you want a clean build slate + - Run `sudo make install` afterwards to install into `/usr/local/bin/bqn` (a `PREFIX=/some/path` argument will install to `/some/path/bin/bqn`); `sudo make uninstall` to uninstall - If you want to use custom build types but your system doesn't have `shasum`/`sha256sum`, add `force_build_dir=some_identifier`. That identifier will be used to decide on the directory for incremental build object files. 2. `./BQN somefile.bqn` to execute a file, or `rlwrap ./BQN` for a REPL @@ -27,11 +27,11 @@ - `make debug` - unoptimized debug build - `make debug1` - debug build without parallel compilation. Useful if everything errors, and you don't want error messages of multiple threads to be written at the same time. - `make heapverify` - verify that refcounting is done correctly - - `make o3n-singeli` - a Singeli build, currently only for x86-64 CPUs supporting AVX2 + - `make o3n-singeli` - a Singeli build, currently only for x86-64 CPUs supporting AVX2 & BMI2 - `make shared-o3` - produce the shared library `libcbqn.so` - `make c` - a build with no flags, for manual customizing - `make shared-c` - like `make c` but for a shared library - - `make single-(o3|o3g|debug|c)` - compile everything as a single translation unit. Slower for optimized builds, but may allow some more optimizations + - `make single-(o3|o3g|debug|c)` - compile everything as a single translation unit. Will compile slower & won't have incremental compilation. - For any of the above (especially `make c`), you can add extra flags with `f=...` (and linker flags with `lf=...`), e.g. `make f='-O3 -DSOME_MACRO=whatever -some_other_cc_flag' c` Macros that you may want to define are listed in `src/h.h`. diff --git a/docs/README.md b/docs/README.md index 94d50e06..c15322c6 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,6 +1,6 @@ # CBQN-specific documentation -Only CBQN-specific things are here; for general documentation, see [the BQN documentation](https://mlochbaum.github.io/BQN/doc/index.html). +Only things specific to the CBQN implementation are here; see [the BQN documentation](https://mlochbaum.github.io/BQN/doc/index.html) for implementation-agnostic information. * [system functions](system.md) * [system commands](commands.md) \ No newline at end of file diff --git a/src/ffi.c b/src/ffi.c index d64858e6..33f3c1a3 100644 --- a/src/ffi.c +++ b/src/ffi.c @@ -9,7 +9,7 @@ #include #if FFI==2 #if !__has_include() -#error " not found. Either install libffi into $PATH, or add 'FFI=0' as a make argument to disable FFI" +#error " not found. Either install libffi, or add 'FFI=0' as a make argument to disable •FFI" #endif #include #include "utils/mut.h"