Hash :
735d974b
Author :
Thomas de Grivel
Date :
2025-10-17T23:29:46
wip: build system
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
#!/bin/sh
set -e
SRC_TOP="$PWD"
. "${SRC_TOP}/config.subr"
echo "$PWD/update_sources"
echo "# sources.mk generated by update_sources" > ${SOURCES_MK}
echo "# sources.sh generated by update_sources" > ${SOURCES_SH}
KC3_DIRS="
ekc3
event
fs
gl
gtk4
http
httpd
ikc3
json
kc3c
kc3s
kmsg
libkc3
libtommath
markdown
pdf
smtp
socket
test
tls
ucd2c
window
"
KC3_CONFIGURES="$(find $KC3_DIRS -name configure -or -name update_sources -or -name sources.sh)"
sources KC3_CONFIGURES "$KC3_CONFIGURES"
KC3_MAKEFILES="$(find $KC3_DIRS -name Makefile -or -name gen.mk -or -name sources.mk)"
KC3_MAKEFILES="$(echo "$KC3_MAKEFILES" | grep -v 'libtommath/logs/Makefile')"
sources KC3_MAKEFILES "$KC3_MAKEFILES"
KC3_C_SOURCES="$(find $KC3_DIRS -name "[a-z]*.c" -or -name "[a-z]*.h" -or -name "[a-z]*.c.in" -or -name "[a-z]*.h.in")"
KC3_C_SOURCES="$(echo "${KC3_C_SOURCES}" | grep -Ev '/config[.]h$')"
KC3_C_SOURCES="$KC3_C_SOURCES
ucd2c/ucd.h
ucd2c/ucd2c.c"
sources KC3_C_SOURCES "$KC3_C_SOURCES"
KC3_CXX_SOURCES="$(find $KC3_DIRS -name "[a-z]*.cxx" -or -name "[a-z]*.hxx" -or -name "[a-z]*.cxx.in" -or -name "[a-z]*.hxx.in")"
sources KC3_CXX_SOURCES "$KC3_CXX_SOURCES"
KC3_FONT_SOURCES="$(find fonts -name '*.otf' -or -name '*.ttf')"
sources KC3_FONT_SOURCES "$KC3_FONT_SOURCES"
KC3_HTTPD_SOURCES="$(find httpd -name '*.ekc3' -or -name '*.facts' -or -name '*.kc3' -or -name 'mime.types' | grep -v .bin.facts)"
sources KC3_HTTPD_SOURCES "$KC3_HTTPD_SOURCES"
KC3_IMG_SOURCES="$(find img -name '*.png' -or -name '*.jpg' -or -name '*.jpeg' -or -name '*.xcf')"
sources KC3_IMG_SOURCES "$KC3_IMG_SOURCES"
KC3_KMSG_SOURCES="$(find kmsg -name '*.dump' -or -name '*.facts' -or -name '*.kc3')"
sources KC3_KMSG_SOURCES "$KC3_KMSG_SOURCES"
KC3_LIB_SOURCES="$(find lib -name '*.dump' -or -name '*.facts' -or -name '*.kc3')"
sources KC3_LIB_SOURCES "$KC3_LIB_SOURCES"
KC3_OBJC_SOURCES="$(find window -name "[a-z]*.m" -or -name "[a-z]*.m.in")"
sources KC3_OBJC_SOURCES "$KC3_OBJC_SOURCES"
KC3_PLIST_SOURCES="$(find window -name "[a-z]*.plist")"
sources KC3_PLIST_SOURCES "$KC3_PLIST_SOURCES"
KC3_SH_SOURCES="$(find window -name "[a-z]*.sh" | grep -v sources.sh)"
sources KC3_SH_SOURCES "$KC3_SH_SOURCES"
KC3_TEST_SOURCES="$(ls test/*.facts test/*.kc3 test/*.kc3m test/*.rb)
test/zero"
sources KC3_TEST_SOURCES "$KC3_TEST_SOURCES"
KC3_TEST_IKC3_SOURCES="$(ls test/ikc3/*.expected test/ikc3/*.kc3 test/ikc3/*.lisp)
test/ikc3_test"
sources KC3_TEST_IKC3_SOURCES "$KC3_TEST_IKC3_SOURCES"
KC3_TEST_EKC3_SOURCES="$(ls test/ekc3/*.ekc3 test/ekc3/*.expected test/ekc3/*.kc3)
test/ekc3_test"
sources KC3_TEST_EKC3_SOURCES "$KC3_TEST_EKC3_SOURCES"
KC3_TEST_HTTP_SOURCES="$(ls test/http/*.expected test/http/*.kc3)
test/http/mime.types
test/http_test"
sources KC3_TEST_HTTP_SOURCES "$KC3_TEST_HTTP_SOURCES"
KC3_TEST_HTTPD_SOURCES="$(find test/httpd/app test/httpd/config test/httpd/db -name '*.ekc3' -or -name '*.kc3' -or -name '*.facts' -or -name mime.types | grep -v .bin.facts)
$(ls test/httpd/assets/package*.json)
$(find test/httpd/assets/js -name '*.js')
$(find test/httpd/assets/css -name '*.scss')
$(find test/httpd/static)
$(find test/httpd/pages)
test/httpd/doc"
sources KC3_TEST_HTTPD_SOURCES "$KC3_TEST_HTTPD_SOURCES"
KC3_TEST_JSON_SOURCES="$(ls test/json/*.expected test/json/*.kc3)
test/json_test"
sources KC3_TEST_JSON_SOURCES "$KC3_TEST_JSON_SOURCES"
KC3_TEST_KC3S_SOURCES="$(ls test/kc3s/*.expected test/kc3s/*.kc3)
test/kc3s_test"
sources KC3_TEST_KC3S_SOURCES "$KC3_TEST_KC3S_SOURCES"
KC3_TEST_MARKDOWN_SOURCES="$(ls test/markdown/*.expected test/markdown/*.kc3)
test/markdown_test"
sources KC3_TEST_MARKDOWN_SOURCES "$KC3_TEST_MARKDOWN_SOURCES"
KC3_TEST_PDF_SOURCES="$(ls test/pdf/*.expected test/pdf/*.kc3)
test/pdf_test"
sources KC3_TEST_PDF_SOURCES "$KC3_TEST_PDF_SOURCES"
KC3_OTHER_SOURCES="$(ls *.md)
Makefile
config_common
config.subr
configure
env
kc3.index
kc3.version
license.h
sources.mk
sources.sh
$(find libkc3 -name '*.rb')"
sources KC3_OTHER_SOURCES "$KC3_OTHER_SOURCES"
KC3_EXTERNAL_SOURCES="$(find libtommath linenoise -name '*.[ch]')
libtommath/LICENSE
libtommath/README.md
linenoise/LICENSE
linenoise/README.markdown
ucd2c/UCD.zip
$(find ucd2c/UCD -type f)"
sources KC3_EXTERNAL_SOURCES "$KC3_EXTERNAL_SOURCES"
KC3_DOC_SOURCES="$(find doc -name '*.md')"
sources KC3_DOC_SOURCES "$KC3_DOC_SOURCES"
update_sources_mk
update_sources_sh
runj -1 /bin/sh <<EOF
( cd ekc3 && ./update_sources; )
( cd event && ./update_sources; )
( cd fs && ./update_sources; )
( cd gl && ./update_sources; )
( cd gtk4 && ./update_sources; )
( cd http && ./update_sources; )
( cd httpd && ./update_sources; )
( cd ikc3 && ./update_sources; )
( cd json && ./update_sources; )
( cd kc3s && ./update_sources; )
( cd kpkg && ./update_sources; )
( cd libkc3 && ./update_sources; )
( cd libtommath && ./update_sources; )
( cd markdown && ./update_sources; )
( cd pdf && ./update_sources; )
( cd smtp && ./update_sources; )
( cd socket && ./update_sources; )
( cd test && ./update_sources; )
( cd tls && ./update_sources; )
( cd window && ./update_sources; )
EOF