diff options
author | bptato <nincsnevem662@gmail.com> | 2025-01-30 19:33:27 +0100 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2025-01-30 19:45:57 +0100 |
commit | fa8fe9ed2b350a48422fe223a17b6218fe752b32 (patch) | |
tree | 781a6bb2627f3f0814b7cbc4544a19ed66a1659f | |
parent | f8c0d603c654e0217dc3078f4316913c4266bd83 (diff) | |
download | chawan-fa8fe9ed2b350a48422fe223a17b6218fe752b32.tar.gz |
img: remove intermediate C files
Nim doesn't consider included files when recompiling C files, which would sometimes lead to fixes not being compiled in without a clean build.
-rw-r--r-- | Makefile | 12 | ||||
-rw-r--r-- | adapter/img/canvas.c | 5 | ||||
-rw-r--r-- | adapter/img/canvas.nim | 10 | ||||
-rw-r--r-- | adapter/img/jebp.c | 4 | ||||
-rw-r--r-- | adapter/img/jebp.nim | 11 | ||||
-rw-r--r-- | adapter/img/nanosvg.c | 5 | ||||
-rw-r--r-- | adapter/img/nanosvg.nim | 13 | ||||
-rw-r--r-- | adapter/img/resize.nim | 7 | ||||
-rw-r--r-- | adapter/img/stb_image.c | 17 | ||||
-rw-r--r-- | adapter/img/stb_image_resize.c | 2 | ||||
-rw-r--r-- | adapter/img/stbi.nim | 25 |
11 files changed, 56 insertions, 55 deletions
diff --git a/Makefile b/Makefile index e406f057..c16424ab 100644 --- a/Makefile +++ b/Makefile @@ -123,15 +123,15 @@ $(OUTDIR_CGI_BIN)/file: $(twtstr) $(OUTDIR_CGI_BIN)/ftp: $(lcgi) $(OUTDIR_CGI_BIN)/sftp: $(lcgi) $(twtstr) $(OUTDIR_CGI_BIN)/gemini: $(lcgi_ssl) -$(OUTDIR_CGI_BIN)/stbi: adapter/img/stbi.nim adapter/img/stb_image.c \ - adapter/img/stb_image.h $(sandbox) $(dynstream) -$(OUTDIR_CGI_BIN)/jebp: adapter/img/jebp.c adapter/img/jebp.h $(sandbox) +$(OUTDIR_CGI_BIN)/stbi: adapter/img/stbi.nim adapter/img/stb_image.h \ + adapter/img/stb_image_write.h $(sandbox) $(dynstream) +$(OUTDIR_CGI_BIN)/jebp: adapter/img/jebp.h $(sandbox) $(OUTDIR_CGI_BIN)/sixel: src/types/color.nim $(sandbox) $(twtstr) $(dynstream) $(OUTDIR_CGI_BIN)/canvas: src/types/canvastypes.nim src/types/path.nim \ - src/io/bufreader.nim src/types/color.nim $(sandbox) $(dynstream) $(twtstr) -$(OUTDIR_CGI_BIN)/resize: adapter/img/stb_image_resize.h adapter/img/stb_image_resize.c \ + src/io/bufreader.nim src/types/color.nim adapter/img/stb_image.h \ $(sandbox) $(dynstream) $(twtstr) -$(OUTDIR_CGI_BIN)/nanosvg: adapter/img/nanosvg.nim adapter/img/nanosvg.c adapter/img/nanosvg.h +$(OUTDIR_CGI_BIN)/resize: adapter/img/stb_image_resize.h $(sandbox) $(dynstream) $(twtstr) +$(OUTDIR_CGI_BIN)/nanosvg: adapter/img/nanosvg.nim adapter/img/nanosvg.h $(OUTDIR_LIBEXEC)/urlenc: $(twtstr) $(OUTDIR_LIBEXEC)/nc: $(lcgi) $(OUTDIR_LIBEXEC)/gopher2html: $(twtstr) diff --git a/adapter/img/canvas.c b/adapter/img/canvas.c deleted file mode 100644 index 9e386ca1..00000000 --- a/adapter/img/canvas.c +++ /dev/null @@ -1,5 +0,0 @@ -#define STBI_ONLY_PNG -#define STBI_NO_STDIO -#define STBI_NO_LINEAR -#define STB_IMAGE_IMPLEMENTATION -#include "stb_image.h" diff --git a/adapter/img/canvas.nim b/adapter/img/canvas.nim index c69c343b..1d9c0eb6 100644 --- a/adapter/img/canvas.nim +++ b/adapter/img/canvas.nim @@ -19,11 +19,15 @@ import types/color import utils/sandbox import utils/twtstr -{.compile: "canvas.c".} - {.passc: "-I" & currentSourcePath().parentDir().} -{.push header: "stb_image.h".} +{.push header: """ +#define STBI_ONLY_PNG +#define STBI_NO_STDIO +#define STBI_NO_LINEAR +#define STB_IMAGE_IMPLEMENTATION +#include "stb_image.h" +""".} proc stbi_load_from_memory(buffer: ptr uint8; len: cint; x, y, comp: ptr cint; req_comp: cint): ptr uint8 proc stbi_image_free(retval_from_stbi_load: pointer) diff --git a/adapter/img/jebp.c b/adapter/img/jebp.c deleted file mode 100644 index e48ed43f..00000000 --- a/adapter/img/jebp.c +++ /dev/null @@ -1,4 +0,0 @@ -/* #define JEBP_NO_SIMD */ -/* #define JEBP_NO_STDIO */ -#define JEBP_IMPLEMENTATION -#include "jebp.h" diff --git a/adapter/img/jebp.nim b/adapter/img/jebp.nim index d05b8efb..3ed016d9 100644 --- a/adapter/img/jebp.nim +++ b/adapter/img/jebp.nim @@ -6,8 +6,6 @@ import std/strutils import utils/sandbox import utils/twtstr -{.compile: "jebp.c".} - when sizeof(cint) < 4: type jebp_int = clong else: @@ -18,7 +16,12 @@ else: const STDIN_FILENO = 0 const STDOUT_FILENO = 1 -{.push header: "jebp.h".} +{.push header: """ +#define JEBP_NO_STDIO +/* #define JEBP_NO_SIMD */ +#define JEBP_IMPLEMENTATION +#include "jebp.h" +""".} type jebp_io_callbacks {.importc.} = object read: proc(data: pointer; size: csize_t; user: pointer): csize_t {.cdecl.} @@ -46,7 +49,7 @@ proc jebp_read_size_from_callbacks(image: ptr jebp_image_t; proc jebp_error_string(err: jebp_error_t): cstring {.importc.} proc jebp_free_image(image: ptr jebp_image_t) {.importc.} -{.pop.} +{.pop.} # jebp.h proc myRead(data: pointer; size: csize_t; user: pointer): csize_t {.cdecl.} = var n = csize_t(0) diff --git a/adapter/img/nanosvg.c b/adapter/img/nanosvg.c deleted file mode 100644 index 9eab45c6..00000000 --- a/adapter/img/nanosvg.c +++ /dev/null @@ -1,5 +0,0 @@ -#define NANOSVG_IMPLEMENTATION -#define NANOSVG_ALL_COLOR_KEYWORDS -#include "nanosvg.h" -#define NANOSVGRAST_IMPLEMENTATION -#include "nanosvgrast.h" diff --git a/adapter/img/nanosvg.nim b/adapter/img/nanosvg.nim index af554c5e..0c90ff4c 100644 --- a/adapter/img/nanosvg.nim +++ b/adapter/img/nanosvg.nim @@ -6,9 +6,13 @@ import io/dynstream import utils/sandbox import utils/twtstr -{.compile("nanosvg.c", "-O3").} +{.passc: "-I" & currentSourcePath().parentDir().} -{.push header: "nanosvg.h".} +{.push header: """ +#define NANOSVG_IMPLEMENTATION +#define NANOSVG_ALL_COLOR_KEYWORDS +#include "nanosvg.h" +""".} type NSVGimage {.importc.} = object width: cfloat @@ -24,7 +28,10 @@ proc nsvgDelete(image: ptr NSVGimage) {.pop.} # nanosvg.h -{.push header: "nanosvgrast.h".} +{.push header: """ +#define NANOSVGRAST_IMPLEMENTATION +#include "nanosvgrast.h" +""".} type NSVGrasterizer {.incompleteStruct, importc.} = object {.push importc, cdecl.} diff --git a/adapter/img/resize.nim b/adapter/img/resize.nim index 74ba2186..66b4d256 100644 --- a/adapter/img/resize.nim +++ b/adapter/img/resize.nim @@ -7,9 +7,12 @@ import io/dynstream import utils/sandbox import utils/twtstr -{.compile("stb_image_resize.c", "-O3").} +{.passc: "-I" & currentSourcePath().parentDir().} -{.push header: "stb_image_resize.h".} +{.push header: """ +#define STB_IMAGE_RESIZE_IMPLEMENTATION +#include "stb_image_resize.h" +""".} proc stbir_resize_uint8_srgb(input_pixels: ptr uint8; input_w, input_h, input_stride_in_bytes: cint; output_pixels: ptr uint8; output_w, output_h, output_stride_in_bytes, num_channels, alpha_channel, diff --git a/adapter/img/stb_image.c b/adapter/img/stb_image.c deleted file mode 100644 index b5afab43..00000000 --- a/adapter/img/stb_image.c +++ /dev/null @@ -1,17 +0,0 @@ -#define STB_IMAGE_IMPLEMENTATION -#define STBI_NO_LINEAR -#define STBI_NO_STDIO -/* #define STBI_NO_JPEG - * #define STBI_NO_PNG - * #define STBI_NO_BMP - */ -#define STBI_NO_PSD -#define STBI_NO_TGA -/* #define STBI_NO_GIF */ -#define STBI_NO_HDR -#define STBI_NO_PIC -#define STBI_NO_PNM /* (.ppm and .pgm) */ -#include "stb_image.h" -#define STB_IMAGE_WRITE_IMPLEMENTATION -#define STIBW_NO_STDIO -#include "stb_image_write.h" diff --git a/adapter/img/stb_image_resize.c b/adapter/img/stb_image_resize.c deleted file mode 100644 index b2d47755..00000000 --- a/adapter/img/stb_image_resize.c +++ /dev/null @@ -1,2 +0,0 @@ -#define STB_IMAGE_RESIZE_IMPLEMENTATION -#include "stb_image_resize.h" diff --git a/adapter/img/stbi.nim b/adapter/img/stbi.nim index dca1b808..64485d06 100644 --- a/adapter/img/stbi.nim +++ b/adapter/img/stbi.nim @@ -10,9 +10,22 @@ import utils/twtstr {.passc: "-fno-strict-aliasing".} {.passl: "-fno-strict-aliasing".} -{.compile("stb_image.c", "-O3").} - -{.push header: "stb_image.h".} +{.push header: """ +#define STB_IMAGE_IMPLEMENTATION +#define STBI_NO_LINEAR +#define STBI_NO_STDIO +/* #define STBI_NO_JPEG + * #define STBI_NO_PNG + * #define STBI_NO_BMP + */ +#define STBI_NO_PSD +#define STBI_NO_TGA +/* #define STBI_NO_GIF */ +#define STBI_NO_HDR +#define STBI_NO_PIC +#define STBI_NO_PNM /* (.ppm and .pgm) */ +#include "stb_image.h" +""".} type stbi_io_callbacks {.importc.} = object read: proc(user: pointer; data: ptr char; size: cint): cint {.cdecl.} @@ -64,7 +77,11 @@ proc myEof(user: pointer): cint {.cdecl.} = type stbi_write_func = proc(context, data: pointer; size: cint) {.cdecl.} -{.push header: "stb_image_write.h".} +{.push header: """ +#define STB_IMAGE_WRITE_IMPLEMENTATION +#define STIBW_NO_STDIO +#include "stb_image_write.h" +""".} proc stbi_write_png_to_func(fun: stbi_write_func; context: pointer; w, h, comp: cint; data: pointer; stride_in_bytes: cint) {.importc.} proc stbi_write_bmp_to_func(fun: stbi_write_func; context: pointer; |