Edit

kc3-lang/kc3/update_sources

Branch :

  • update_sources
  • #!/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/*.expected test/*.facts test/*.kc3 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