Commit graph

219 commits

Author SHA1 Message Date
b41bec792a configure: strip compiler and linker flags of whitespace
Also include cppflags in the script's output
2024-02-27 18:02:33 +13:00
5313601c79 configure: add basic list utilities
inlist determines whether an item is in a list
removefrom returns a list with an element removed
trim strips whitespace from a string, using xargs
2024-02-27 17:59:19 +13:00
42f95378ec configure: use neat comment style to denote different sections 2024-02-27 17:50:48 +13:00
8c5777fb98 tree: add standard copyright phrasing
Callisto - standalone scripting platform for Lua 5.4
Copyright (c) 2023-2024 Jeremy Baxter.
2024-02-19 10:16:45 +13:00
280f516a21 csto: remove non-posix ifdefs 2024-02-19 10:12:20 +13:00
71b288efde callisto.h: remove LUA_USE_POSIX definition
It does almost nothing being in this header and is specified in
config.mk anyway.
2024-02-19 10:04:18 +13:00
7bbf39c8c6 external/lua: revise makefile to be more generic
part of this is making Lua's makefile use Callisto's config.mk by default.
2024-02-18 19:35:06 +13:00
bbd25fe4a2 configure: include -lm and -DLUA_USE_POSIX in config.mk 2024-02-18 18:14:34 +13:00
331c6acbd2 configure: fix when called from other directory 2024-02-18 18:13:39 +13:00
a0607346e7 external/lua: fix warning in os.hostname 2024-02-18 18:02:54 +13:00
c3a9b5d6d5 makefile: refine
o  remove libcallisto from LIBS
 o  use LIBS rather than liblua.a in csto target
 o  delete csto.o in clean target
 o  remove clean-all from phonies
 o  store the path to the Lua source code in LUADIR rather than using
    the full path everywhere
 o  remove warning flags and preprocessor definitions from cjson's
    compiler command line; it is just not needed.
2024-02-18 17:23:26 +13:00
d4ec5248fe configure: include -std=c99 in config.mk
So other makefiles can use it, e.g. the one in external/lua
2024-02-18 17:19:15 +13:00
8568ca2fb3 configure: rename error() to throw() 2024-02-18 16:54:34 +13:00
1d15eec7f8 add contributing section to readme 2024-02-12 16:25:09 +13:00
0fbf28a15f shell.nix: delete
Using the flake you can get the same result by running the command:

    nix develop
2024-02-12 16:17:16 +13:00
f1d0153bf6 flake: update lockfile 2024-02-12 16:01:02 +13:00
cee6d32b50 flake: improve readability 2024-02-12 16:00:51 +13:00
9d828cce36 flake: fix build with configure script 2024-02-12 15:48:59 +13:00
ba8effbead flake: fix style 2024-02-12 15:34:26 +13:00
72938f9c77 add result to gitignore
Nix names the output of the build 'result'.
2024-02-12 13:53:30 +13:00
33af0317a8 add style document 2024-02-12 13:53:04 +13:00
751fca09e1 switch to modular configure-based buildsystem 2024-01-25 21:12:12 +13:00
b5d61a25cb rename the statically linked strlcpy to strbcpy
stands for "string bounds copy". Some systems like macOS include their
very own version of strlcpy and testing for that would require some
bloat like gnu automake so I'm just gonna rename it to prevent any
future conflicts. I only test on Linux and OpenBSD anyway. ;)
2024-01-25 19:47:57 +13:00
bee1a5f180 fix readme 2024-01-25 19:39:46 +13:00
436e6a5184 fix build on compilers without -Oz 2024-01-17 20:40:10 +13:00
adb4091293 workaround esoteric gcc behaviour on Linux
ld would fail to find Lua symbols in liblua.a, the solution is
to put all object files before static libraries on the command line.
2024-01-17 20:29:42 +13:00
a6809fe480 integrate lua-cjson's buildsystem and static library with callisto's
and make some more makefile improvements
2023-12-28 13:20:05 +13:00
55b40a17cd add Lua 5.4.6 patches 2023-12-27 23:16:49 +00:00
787820e82f revert Lua patches 2023-12-27 23:17:00 +00:00
7fd3b3282f add config.ld excludes 2023-12-27 23:16:49 +00:00
f187530e0c add external gitignores 2023-12-27 23:16:49 +00:00
9db822c84f rename external/luasrc => external/lua 2023-12-27 23:16:49 +00:00
88863a2a3d add tests 2023-12-27 19:46:54 +13:00
099a9c33e6 fix crash in process.signum, use pgrep over pidof in process.pidof
pidof is, as far as I know, only available on Linux. pgrep is much
more portable (even though it is not part of a standard), and can
be found in the base system on most BSDs and included in most
Linux distributions as part of the procps-ng package.
2023-12-27 14:18:07 +13:00
7b8c7632e9 fix up fs 2023-12-26 17:47:07 +13:00
058aa579ba implement fs.remove, a recursive deletion function 2023-12-24 18:06:58 +13:00
2feddd9abc improve fs docs and minor blunders 2023-12-24 15:05:52 +13:00
661b141a1f clean up gitignore 2023-12-24 14:31:14 +13:00
11f6a34ebf merge fs and path libraries 2023-12-24 14:24:55 +13:00
44f7620a41 fixup doc generation 2023-12-24 14:08:25 +13:00
0081e9d1a6 remove result from config.ld 2023-12-24 09:05:56 +13:00
7c3282181b remove lua.h from config.ld
it's now in external/
2023-12-24 09:04:27 +13:00
2a75eab074 split the contents of fs.isfile and fs.isdirectory into its own function
and add more docs
2023-12-24 06:36:06 +13:00
fdcb8f794a remove errors.h 2023-12-24 06:34:51 +13:00
a2779a1997 drop the shared library 2023-12-24 06:07:26 +13:00
ff5012f2c2 move PREFIX and MANPREFIX into config.mk 2023-12-24 05:53:29 +13:00
790ad50f2b implement fs.isfile and fs.isdirectory 2023-12-23 20:52:34 +13:00
aa7ae1d9ac implement fs.copy, a file copying routine and clean up some docs in fs 2023-12-23 20:33:24 +13:00
ea3fb6c292 move lua-5.4 -> external/luasrc
we have to use the name "luasrc" rather than just "lua" because lua
is in gitignore
2023-12-23 18:19:51 +13:00
cae9985747 change BSD ifndefs to __OpenBSD__ and remove unnecessary ifdefs
I'm not sure if any operating system other than OpenBSD
has strlcpy/strlcat. May need to use a configure script
for this later on.
2023-12-23 16:33:38 +13:00