bu5hm4n pushed a commit to branch feature/meson.

http://git.enlightenment.org/core/efl.git/commit/?id=ca61a51b90d5d99a05ace7504414d3790ed404bb

commit ca61a51b90d5d99a05ace7504414d3790ed404bb
Author: Marcel Hollerbach <[email protected]>
Date:   Wed Jan 10 19:56:54 2018 +0000

    meson: script helpers for building all options
---
 scripts/check_options.sh       | 10 +++++++++
 scripts/create_all_options.lua | 51 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+)

diff --git a/scripts/check_options.sh b/scripts/check_options.sh
new file mode 100755
index 0000000000..34522af3b0
--- /dev/null
+++ b/scripts/check_options.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+BUILD_DIR=`mktemp -d`
+INSTALL_DIR=`mktemp -d`
+
+meson $1 --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..d95cde06aa
--- /dev/null
+++ b/scripts/create_all_options.lua
@@ -0,0 +1,51 @@
+options = {
+  {"-Dopengl=", "full", "none", "es-egl"},
+  {"--buildtype ", "plain", "debug", "release"},
+}
+
+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
+  exitcode = os.execute(cmd)
+  if exitcode ~= true then
+    print("command "..cmd.." failed. ")
+    print(exitcode)
+    os.exit(-1)
+  end
+end
\ No newline at end of file

-- 


Reply via email to