diff options
author | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2018-08-12 15:26:29 +0200 |
---|---|---|
committer | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2018-10-02 17:22:50 +0200 |
commit | 46d464e5bfc10398461a33a2256c1c58d509dd1a (patch) | |
tree | 8c1a9272c05f14033a4430bc122632461bd73608 /scripts | |
parent | 70ecf1056bb4be5a68b63044f938ccc2fe0a58c0 (diff) | |
download | efl-46d464e5bfc10398461a33a2256c1c58d509dd1a.tar.gz |
here comes meson
a new shiny buildtool that currently completes in the total of ~ 4 min..
1 min. conf time
2:30 min. build time
Where autotools takes:
1:50 min. conf time
3:40 min. build time.
meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read.
Further informations can be gathered from the README.meson
Right now, bindings & windows support are missing.
It is highly recommented to use meson 0.48 due to optimizations in meson
that reduced the time the meson call would need.
Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7012
Depends on D7011
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/check_options.sh | 10 | ||||
-rw-r--r-- | scripts/create_all_options.lua | 52 |
2 files changed, 62 insertions, 0 deletions
diff --git a/scripts/check_options.sh b/scripts/check_options.sh new file mode 100755 index 0000000000..d6b3c3e48f --- /dev/null +++ b/scripts/check_options.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +BUILD_DIR=`mktemp -d` +INSTALL_DIR=`mktemp -d` + +meson $@ --prefix ${INSTALL_DIR} ${BUILD_DIR} + +ninja -C ${BUILD_DIR} all +ninja -C ${BUILD_DIR} install +#ninja -C ${BUILD_DIR} test
\ No newline at end of file diff --git a/scripts/create_all_options.lua b/scripts/create_all_options.lua new file mode 100644 index 0000000000..3bbc748742 --- /dev/null +++ b/scripts/create_all_options.lua @@ -0,0 +1,52 @@ +options = { + {"-Dopengl=", "full", "none", "es-egl"}, + {"--buildtype ", "plain", "debug", "release"}, + {"-Devas-modules ", "shared", "static"}, +} + +concated_options = {} + +for i,v in pairs(options) do + tmp_options = {} + + option_name = v[1] + + for i=2, #v do + table.insert(tmp_options, option_name..v[i]) + end + + table.insert(concated_options, tmp_options) +end + +function permutate(values) + local permutater = {table.unpack(values[1])} + + if #values == 1 then + return {table.unpack(values[1])} + else + local result = {} + table.remove(values, 1) + local list_to_complete = permutate(values) + + for k,v in pairs(list_to_complete) do + for k_perm,v_perm in pairs(permutater) do + table.insert(result, v_perm.." "..v) + end + end + return result + end +end + +all_options = permutate(concated_options) + +print("GOING TO BUILD ALOT OF EFL") + +for k,v in pairs(all_options) do + cmd = "sh ./scripts/check_options.sh "..v.." "..arg[1] + exitcode = os.execute(cmd) + if exitcode ~= true then + print("command "..cmd.." failed. ") + print(exitcode) + os.exit(-1) + end +end |