Open h0nzZik opened 5 years ago
I attempted to restructure the repository in my experimental buildsystem refactoring branch (broken build). During the work I identified the following nice-to-have features of the build system:
get-dependencies
, build-dependencies
and build
should be separated. Developer would need to repeat only the build
phase. That would save some time.docker
, and also easily buildable without docker
- assuming the developer has installed all the SDKs (perl, java, c++).build
directory. Trivially true when building with docker
.dist
) should have an unix-friendly structure (bin
, lib
, libexec
, share
).We may discuss these requirements and possibly implement them later.
I identified the following components:
clang-tools
cparser
kcc
native-server
semantics
The components native-server
and semantics
can be combined into a profile
. The kcc
component depends on all the other.
Current:
Suggested:
It will help to separate
grap-dependencies
,build
anddistribute
steps.grab-dependencies
clones K, checks perl/ocaml stuff, downloadsclang
. Writes only to/deps
, or potentially to/build/deps
.build
will write only to the/build
directory.distribute
writes only to/dist
. If it needs to build some helpers, it will do it in/dist/build
.@chathhorn What do you think?