summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2018-08-12 15:26:29 +0200
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2018-10-02 17:22:50 +0200
commit46d464e5bfc10398461a33a2256c1c58d509dd1a (patch)
tree8c1a9272c05f14033a4430bc122632461bd73608 /scripts
parent70ecf1056bb4be5a68b63044f938ccc2fe0a58c0 (diff)
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-xscripts/check_options.sh10
-rw-r--r--scripts/create_all_options.lua52
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 @@
1#!/bin/bash
2
3BUILD_DIR=`mktemp -d`
4INSTALL_DIR=`mktemp -d`
5
6meson $@ --prefix ${INSTALL_DIR} ${BUILD_DIR}
7
8ninja -C ${BUILD_DIR} all
9ninja -C ${BUILD_DIR} install
10#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 @@
1options = {
2 {"-Dopengl=", "full", "none", "es-egl"},
3 {"--buildtype ", "plain", "debug", "release"},
4 {"-Devas-modules ", "shared", "static"},
5}
6
7concated_options = {}
8
9for i,v in pairs(options) do
10 tmp_options = {}
11
12 option_name = v[1]
13
14 for i=2, #v do
15 table.insert(tmp_options, option_name..v[i])
16 end
17
18 table.insert(concated_options, tmp_options)
19end
20
21function permutate(values)
22 local permutater = {table.unpack(values[1])}
23
24 if #values == 1 then
25 return {table.unpack(values[1])}
26 else
27 local result = {}
28 table.remove(values, 1)
29 local list_to_complete = permutate(values)
30
31 for k,v in pairs(list_to_complete) do
32 for k_perm,v_perm in pairs(permutater) do
33 table.insert(result, v_perm.." "..v)
34 end
35 end
36 return result
37 end
38end
39
40all_options = permutate(concated_options)
41
42print("GOING TO BUILD ALOT OF EFL")
43
44for k,v in pairs(all_options) do
45 cmd = "sh ./scripts/check_options.sh "..v.." "..arg[1]
46 exitcode = os.execute(cmd)
47 if exitcode ~= true then
48 print("command "..cmd.." failed. ")
49 print(exitcode)
50 os.exit(-1)
51 end
52end