diff options
author | bptato <nincsnevem662@gmail.com> | 2024-03-13 15:21:05 +0100 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2024-03-13 15:21:05 +0100 |
commit | 9ee1dd6e5167d9c2054dee5f9241e3bba286706f (patch) | |
tree | 4c36afa6c45f33f581206583fde23ca389a04a23 /Makefile | |
parent | 73909b09756a3ae2c987b3ef05d02b49c4f37eaa (diff) | |
download | chawan-9ee1dd6e5167d9c2054dee5f9241e3bba286706f.tar.gz |
man: rewrite in Nim
Depending on Perl just for this is silly. Now we use libregexp for filtering basically the same things as w3mman2html did. This required another patch to QuickJS to avoid pulling in the entire JS engine, but in return, we can now run regexes without a dummy JS context global variable. Also, man.nim now tries to find a man command on the system even if it's not in /usr/bin/man.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Makefile b/Makefile index 2add0049..fa0b6ddc 100644 --- a/Makefile +++ b/Makefile @@ -38,6 +38,8 @@ else ifeq ($(TARGET),release1) FLAGS += -d:release --debugger:native endif +QJSOBJ = $(OBJDIR)/quickjs + .PHONY: all all: $(OUTDIR_BIN)/cha $(OUTDIR_BIN)/mancha $(OUTDIR_CGI_BIN)/http \ $(OUTDIR_CGI_BIN)/gmifetch $(OUTDIR_LIBEXEC)/gmi2html \ @@ -107,9 +109,13 @@ $(OUTDIR_CGI_BIN)/cha-finger: adapter/protocol/cha-finger @mkdir -p $(OUTDIR_CGI_BIN) cp adapter/protocol/cha-finger $(OUTDIR_CGI_BIN) -$(OUTDIR_CGI_BIN)/man: adapter/protocol/man +$(OUTDIR_CGI_BIN)/man: adapter/protocol/man.nim $(QJSOBJ)/libregexp.o \ + $(QJSOBJ)/libunicode.o $(QJSOBJ)/cutils.o src/js/regex.nim \ + src/bindings/libregexp.nim src/types/opt.nim src/utils/twtstr.nim @mkdir -p $(OUTDIR_CGI_BIN) - cp adapter/protocol/man $(OUTDIR_CGI_BIN) + $(NIMC) $(FLAGS) --nimcache:"$(OBJDIR)/$(TARGET)/man" \ + --passL:"$(QJSOBJ)/libregexp.o $(QJSOBJ)/cutils.o $(QJSOBJ)/libunicode.o" \ + -o:"$(OUTDIR_CGI_BIN)/man" adapter/protocol/man.nim $(OUTDIR_CGI_BIN)/spartan: adapter/protocol/spartan @mkdir -p $(OUTDIR_CGI_BIN) @@ -164,7 +170,6 @@ $(OUTDIR_LIBEXEC)/urlenc: adapter/tools/urlenc.nim src/utils/twtstr.nim -o:"$(OUTDIR_LIBEXEC)/urlenc" adapter/tools/urlenc.nim CFLAGS = -fwrapv -g -Wall -O2 -DCONFIG_VERSION=\"$(shell cat lib/quickjs/VERSION)\" -QJSOBJ = $(OBJDIR)/quickjs # Dependencies $(QJSOBJ)/cutils.o: lib/quickjs/cutils.h |