diff options
author | David Walter Seikel | 2014-04-20 15:24:46 +1000 |
---|---|---|
committer | David Walter Seikel | 2014-04-20 15:24:46 +1000 |
commit | c501a8c75e6fce2e91d52f60a5454de5aa3ef8f1 (patch) | |
tree | 0c6d24aef960df463c2ed6c399aa4eb535f2e66f | |
parent | elm_naviframe_item_title_visible_set() was deprecated, replace it. (diff) | |
download | SledjHamr-c501a8c75e6fce2e91d52f60a5454de5aa3ef8f1.zip SledjHamr-c501a8c75e6fce2e91d52f60a5454de5aa3ef8f1.tar.gz SledjHamr-c501a8c75e6fce2e91d52f60a5454de5aa3ef8f1.tar.bz2 SledjHamr-c501a8c75e6fce2e91d52f60a5454de5aa3ef8f1.tar.xz |
Convert build shell scripts to Lua, with common infrastructure.
-rwxr-xr-x | ClientHamr/GuiLua/build.lua | 23 | ||||
-rwxr-xr-x | ClientHamr/GuiLua/build.sh | 26 | ||||
-rwxr-xr-x | ClientHamr/extantz/build.lua | 26 | ||||
-rwxr-xr-x | ClientHamr/extantz/build.sh | 29 | ||||
-rwxr-xr-x | LuaSL/build.lua | 25 | ||||
-rwxr-xr-x | LuaSL/build.sh | 69 | ||||
-rwxr-xr-x | build.lua | 86 | ||||
-rwxr-xr-x | build.sh | 40 |
8 files changed, 160 insertions, 164 deletions
diff --git a/ClientHamr/GuiLua/build.lua b/ClientHamr/GuiLua/build.lua new file mode 100755 index 0000000..3fcfffb --- /dev/null +++ b/ClientHamr/GuiLua/build.lua | |||
@@ -0,0 +1,23 @@ | |||
1 | #!/usr/bin/env lua | ||
2 | |||
3 | local dir = ... | ||
4 | |||
5 | if 'nil' == type(dir) then | ||
6 | local build, err = loadfile('../../build.lua') | ||
7 | if build then | ||
8 | setfenv(build, getfenv(2)) | ||
9 | build('') | ||
10 | else | ||
11 | print("ERROR - " .. err) | ||
12 | end | ||
13 | dir = readCommand('pwd') | ||
14 | end | ||
15 | |||
16 | LDFLAGS = '-L ' .. dir .. ' ' .. LDFLAGS | ||
17 | |||
18 | removeFiles(dir, {'test_c.so', 'GuiLua.o', 'libGuiLua.so', 'skang'}) | ||
19 | |||
20 | runCommand('C modules', dir, 'gcc ' .. CFLAGS .. ' -fPIC -shared -o test_c.so test_c.c') | ||
21 | runCommand(nil, dir, 'gcc ' .. CFLAGS .. ' -fPIC -c GuiLua.c') | ||
22 | runCommand('C libraries', dir, 'gcc ' .. CFLAGS .. ' -shared -Wl,-soname,libGuiLua.so -o libGuiLua.so GuiLua.o') | ||
23 | runCommand('C apps', dir, 'gcc ' .. CFLAGS .. ' -Wl,-export-dynamic -o skang skang.c ' .. LDFLAGS .. ' -lGuiLua ' .. libs) | ||
diff --git a/ClientHamr/GuiLua/build.sh b/ClientHamr/GuiLua/build.sh deleted file mode 100755 index c405bb2..0000000 --- a/ClientHamr/GuiLua/build.sh +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | #! /bin/bash | ||
2 | |||
3 | export LOCALDIR=`pwd` | ||
4 | |||
5 | # No need for a make file, or dependencies, the entire thing takes only a few seconds to build. | ||
6 | |||
7 | CFLAGS="-g -Wall -I include -I $LOCALDIR" | ||
8 | CFLAGS="$CFLAGS -I ../../libraries" | ||
9 | CFLAGS="$CFLAGS $(pkg-config --cflags luajit)" | ||
10 | CFLAGS="$CFLAGS $(pkg-config --cflags elementary)" | ||
11 | CFLAGS="$CFLAGS -DPACKAGE_BIN_DIR=\"$LOCALDIR\"" | ||
12 | CFLAGS="$CFLAGS -DPACKAGE_LIB_DIR=\"$LOCALDIR\"" | ||
13 | CFLAGS="$CFLAGS -DPACKAGE_DATA_DIR=\"$LOCALDIR\" $CFLAGOPTS" | ||
14 | |||
15 | LDFLAGS="-L $LOCALDIR $(pkg-config --libs-only-L luajit) -L lib -L /usr/lib -L /lib" | ||
16 | libs="$(pkg-config --cflags --libs elementary) $(pkg-config --libs luajit) -lpthread -lm -ldl" | ||
17 | |||
18 | echo "clean" | ||
19 | rm -f test_c.so GuiLua.o libGuiLua.so skang | ||
20 | echo "C modules" | ||
21 | gcc $CFLAGS -fPIC -shared -o test_c.so test_c.c | ||
22 | gcc $CFLAGS -fPIC -c GuiLua.c | ||
23 | echo "C libraries" | ||
24 | gcc $CFLAGS -shared -Wl,-soname,libGuiLua.so -o libGuiLua.so GuiLua.o | ||
25 | echo "C apps" | ||
26 | gcc $CFLAGS -Wl,-export-dynamic -o skang skang.c $LDFLAGS -lGuiLua $libs | ||
diff --git a/ClientHamr/extantz/build.lua b/ClientHamr/extantz/build.lua new file mode 100755 index 0000000..d53449e --- /dev/null +++ b/ClientHamr/extantz/build.lua | |||
@@ -0,0 +1,26 @@ | |||
1 | #!/usr/bin/env lua | ||
2 | |||
3 | local dir = ... | ||
4 | |||
5 | if 'nil' == type(dir) then | ||
6 | local build, err = loadfile('../../build.lua') | ||
7 | if build then | ||
8 | setfenv(build, getfenv(2)) | ||
9 | build('') | ||
10 | else | ||
11 | print("ERROR - " .. err) | ||
12 | end | ||
13 | dir = readCommand('pwd') | ||
14 | end | ||
15 | |||
16 | CFLAGS = CFLAGS .. ' -I../../libraries/irrlicht-1.8.1/include -I/usr/X11R6/include' | ||
17 | LDFLAGS = LDFLAGS .. ' -L../../libraries/irrlicht-1.8.1/lib/Linux' | ||
18 | libs = libs .. ' -lIrrlicht -lGL -lbz2' | ||
19 | |||
20 | removeFiles(dir, {'extantz', 'crappisspuke.o', 'CDemo.o', 'extantzCamera.o', 'extantz.edj'}) | ||
21 | |||
22 | runCommand('edje_cc', dir, 'edje_cc ' .. EDJE_FLAGS .. ' extantz.edc extantz.edj') | ||
23 | runCommand('Irrlicht files', dir, 'g++ ' .. CFLAGS .. ' -O3 -ffast-math -c crappisspuke.cpp -o crappisspuke.o ' .. LDFLAGS) | ||
24 | runCommand(nil, dir, 'g++ ' .. CFLAGS .. ' -O3 -ffast-math -c CDemo.cpp -o CDemo.o ' .. LDFLAGS) | ||
25 | runCommand('extantz', dir, 'g++ ' .. CFLAGS .. ' -O3 -ffast-math -c extantzCamera.cpp -o extantzCamera.o ' .. LDFLAGS) | ||
26 | runCommand(nil, dir, 'gcc ' .. CFLAGS .. ' extantz.c crappisspuke.o CDemo.o extantzCamera.o -o extantz ' .. LDFLAGS .. ' ' .. libs .. ' && strip extantz') | ||
diff --git a/ClientHamr/extantz/build.sh b/ClientHamr/extantz/build.sh deleted file mode 100755 index d3ad3b0..0000000 --- a/ClientHamr/extantz/build.sh +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | #! /bin/bash | ||
2 | |||
3 | export LOCALDIR=`pwd` | ||
4 | |||
5 | # No need for a make file, or dependencies, the entire thing takes only a few seconds to build. | ||
6 | |||
7 | CFLAGS="-g -Wall -I include -I $LOCALDIR" | ||
8 | CFLAGS="$CFLAGS -I ../../libraries -I../../libraries/irrlicht-1.8.1/include -I/usr/X11R6/include" | ||
9 | CFLAGS="$CFLAGS $(pkg-config --cflags luajit)" | ||
10 | CFLAGS="$CFLAGS $(pkg-config --cflags elementary)" | ||
11 | CFLAGS="$CFLAGS $(pkg-config --cflags ephysics)" | ||
12 | CFLAGS="$CFLAGS -DPACKAGE_BIN_DIR=\"$LOCALDIR\"" | ||
13 | CFLAGS="$CFLAGS -DPACKAGE_LIB_DIR=\"$LOCALDIR\"" | ||
14 | CFLAGS="$CFLAGS -DPACKAGE_DATA_DIR=\"$LOCALDIR\" $CFLAGOPTS" | ||
15 | |||
16 | LDFLAGS="-L $LOCALDIR $(pkg-config --libs-only-L luajit) -L lib -L /usr/lib -L /lib -L../../libraries/irrlicht-1.8.1/lib/Linux " | ||
17 | libs="$(pkg-config --cflags --libs elementary) $(pkg-config --libs luajit) -lpthread -lm -ldl -lIrrlicht -lGL -lbz2" | ||
18 | |||
19 | echo "clean" | ||
20 | rm -f extantz crappisspuke.o CDemo.o extantzCamera.o extantz.edj | ||
21 | echo "edje" | ||
22 | edje_cc -id images extantz.edc extantz.edj | ||
23 | echo "Irrlicht" | ||
24 | #g++ -O3 -ffast-math crappisspuke.cpp -o crappisspuke -I../../libraries/irrlicht-1.8/include -I/usr/X11R6/include -L../../libraries/irrlicht-1.8/lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -lXcursor && ./crappisspuke | ||
25 | g++ $CFLAGS -O3 -ffast-math -c crappisspuke.cpp -o crappisspuke.o $LDFLAGS | ||
26 | g++ $CFLAGS -O3 -ffast-math -c CDemo.cpp -o CDemo.o $LDFLAGS | ||
27 | echo "extantz" | ||
28 | g++ $CFLAGS -O3 -ffast-math -c extantzCamera.cpp -o extantzCamera.o $LDFLAGS | ||
29 | gcc $CFLAGS extantz.c crappisspuke.o CDemo.o extantzCamera.o -o extantz $LDFLAGS $libs && strip extantz | ||
diff --git a/LuaSL/build.lua b/LuaSL/build.lua new file mode 100755 index 0000000..ea2151d --- /dev/null +++ b/LuaSL/build.lua | |||
@@ -0,0 +1,25 @@ | |||
1 | #!/usr/bin/env lua | ||
2 | |||
3 | local dir = ... | ||
4 | |||
5 | if 'nil' == type(dir) then | ||
6 | local build, err = loadfile('../build.lua') | ||
7 | if build then | ||
8 | setfenv(build, getfenv(2)) | ||
9 | build('') | ||
10 | else | ||
11 | print("ERROR - " .. err) | ||
12 | end | ||
13 | dir = readCommand('pwd') | ||
14 | end | ||
15 | |||
16 | dir = dir .. '/src' | ||
17 | |||
18 | removeFiles(dir, {'../LuaSL', '*.o', '*.output', '*.backup', '../*.edj', 'LuaSL_lexer.h', 'LuaSL_lexer.c', 'LuaSL_lemon_yaccer.h', 'LuaSL_lemon_yaccer.c', 'LuaSL_lemon_yaccer.out'}) | ||
19 | |||
20 | -- Run lemon first, flex depends on it to define the symbol values. | ||
21 | runCommand('lemon', dir, '../../libraries/lemon/lemon -s -T../../libraries/lemon/lempar.c LuaSL_lemon_yaccer.y') | ||
22 | runCommand('flex', dir, 'flex -C --outfile=LuaSL_lexer.c --header-file=LuaSL_lexer.h LuaSL_lexer.l') | ||
23 | runCommand('edje_cc', dir, 'edje_cc ' .. EDJE_FLAGS .. ' LuaSL.edc ../LuaSL.edj') | ||
24 | compileFiles('../LuaSL', dir, {'LuaSL_main', 'LuaSL_compile', 'LuaSL_threads', 'LuaSL_utilities', 'LuaSL_lexer', 'LuaSL_lemon_yaccer'}) | ||
25 | compileFiles('../LuaSL_test', dir, {'LuaSL_test', 'LuaSL_utilities'}) | ||
diff --git a/LuaSL/build.sh b/LuaSL/build.sh deleted file mode 100755 index 8d776d6..0000000 --- a/LuaSL/build.sh +++ /dev/null | |||
@@ -1,69 +0,0 @@ | |||
1 | #! /bin/bash | ||
2 | |||
3 | export LOCALDIR=`pwd` | ||
4 | |||
5 | # No need for a make file, or dependencies, the entire thing takes only a few seconds to build. | ||
6 | |||
7 | CFLAGS="-g -Wall -Wunreachable-code -I include -I $LOCALDIR" | ||
8 | CFLAGS="$CFLAGS -I ../../libraries" | ||
9 | CFLAGS="$CFLAGS $(pkg-config --cflags luajit)" | ||
10 | CFLAGS="$CFLAGS $(pkg-config --cflags eo)" | ||
11 | CFLAGS="$CFLAGS $(pkg-config --cflags eet)" | ||
12 | CFLAGS="$CFLAGS $(pkg-config --cflags ecore-con)" | ||
13 | CFLAGS="$CFLAGS $(pkg-config --cflags ecore-evas)" | ||
14 | CFLAGS="$CFLAGS $(pkg-config --cflags ecore-file)" | ||
15 | CFLAGS="$CFLAGS $(pkg-config --cflags edje)" | ||
16 | CFLAGS="$CFLAGS -DPACKAGE_BIN_DIR=\"$LOCALDIR\"" | ||
17 | CFLAGS="$CFLAGS -DPACKAGE_LIB_DIR=\"$LOCALDIR\"" | ||
18 | CFLAGS="$CFLAGS -DPACKAGE_DATA_DIR=\"$LOCALDIR\" $CFLAGOPTS" | ||
19 | |||
20 | LDFLAGS="$(pkg-config --libs-only-L luajit) -L lib -L /usr/lib -L /lib" | ||
21 | libs="$(pkg-config --libs edje) $libs $(pkg-config --libs luajit)" | ||
22 | |||
23 | LFLAGS="-d" | ||
24 | EDJE_FLAGS="-id images -fd fonts" | ||
25 | # Dunno why I needed this, not gonna work with a packaged LuaJIT anyway. | ||
26 | #LD_RUN_PATH="../../libraries/LuaJIT-2.0.2/src:" | ||
27 | |||
28 | cd src | ||
29 | echo "clean" | ||
30 | rm -f ../LuaSL *.o *.output *.backup ../luac.out ../*.edj LuaSL_lexer.h LuaSL_lexer.c LuaSL_lemon_yaccer.h LuaSL_lemon_yaccer.c LuaSL_lemon_yaccer.out | ||
31 | |||
32 | # Run lemon first, flex depends on it to define the symbol values. | ||
33 | command="../../libraries/lemon/lemon -s -T../../libraries/lemon/lempar.c LuaSL_lemon_yaccer.y" | ||
34 | echo "lemon" | ||
35 | $command | ||
36 | |||
37 | command="flex -C --outfile=LuaSL_lexer.c --header-file=LuaSL_lexer.h LuaSL_lexer.l" | ||
38 | echo "flex" | ||
39 | $command | ||
40 | |||
41 | command="edje_cc $EDJE_FLAGS LuaSL.edc ../LuaSL.edj" | ||
42 | echo "edje_cc" | ||
43 | $command | ||
44 | |||
45 | names="LuaSL_main LuaSL_compile LuaSL_threads LuaSL_utilities LuaSL_lexer LuaSL_lemon_yaccer" | ||
46 | objects="" | ||
47 | for i in $names | ||
48 | do | ||
49 | command="gcc $CFLAGS -c -o $i.o $i.c" | ||
50 | echo $i | ||
51 | $command | ||
52 | objects="$objects $i.o" | ||
53 | done | ||
54 | command="gcc $CFLAGS -o ../LuaSL $objects $LDFLAGS $libs" | ||
55 | echo "LuaSL" | ||
56 | $command | ||
57 | |||
58 | names="LuaSL_test LuaSL_utilities" | ||
59 | objects="" | ||
60 | for i in $names | ||
61 | do | ||
62 | command="gcc $CFLAGS -c -o $i.o $i.c" | ||
63 | echo $i | ||
64 | $command | ||
65 | objects="$objects $i.o" | ||
66 | done | ||
67 | command="gcc $CFLAGS -o ../LuaSL_test $objects $LDFLAGS $libs" | ||
68 | echo "LuaSL_test" | ||
69 | $command | ||
diff --git a/build.lua b/build.lua new file mode 100755 index 0000000..de337de --- /dev/null +++ b/build.lua | |||
@@ -0,0 +1,86 @@ | |||
1 | #!/usr/bin/env lua | ||
2 | |||
3 | local args = ... | ||
4 | local tmpFile = os.tmpname() | ||
5 | |||
6 | readCommand = function (command) | ||
7 | os.execute(command .. ' >' .. tmpFile) | ||
8 | local tf = io.open(tmpFile, 'r') | ||
9 | local result = tf:read() | ||
10 | tf:close() | ||
11 | return result | ||
12 | end | ||
13 | |||
14 | pkgConfig = function (what, name) | ||
15 | return readCommand('pkg-config --' .. what .. ' ' .. name) | ||
16 | end | ||
17 | |||
18 | removeFiles = function (dir, files) | ||
19 | print('clean') | ||
20 | for i, v in ipairs(files) do | ||
21 | os.execute('rm -f ' .. dir .. '/' .. v) | ||
22 | end | ||
23 | end | ||
24 | |||
25 | runCommand = function (name, dir, command) | ||
26 | if name then print('\n' .. name) end | ||
27 | os.execute('cd ' .. dir .. '; ' .. command) | ||
28 | end | ||
29 | |||
30 | compileFiles = function (name, dir, files) | ||
31 | local objects = '' | ||
32 | print('\n' .. name) | ||
33 | for i, v in ipairs(files) do | ||
34 | print(' ' .. v) | ||
35 | os.execute('cd ' .. dir .. '; gcc ' .. CFLAGS .. ' -c -o ' .. v .. '.o ' .. v .. '.c') | ||
36 | objects = objects .. ' ' .. v .. '.o' | ||
37 | end | ||
38 | os.execute('cd ' .. dir .. '; gcc ' .. CFLAGS .. ' -o ' .. name .. ' ' .. objects .. ' ' .. LDFLAGS .. ' ' .. libs) | ||
39 | end | ||
40 | |||
41 | local buildSub = function (name, dir) | ||
42 | print('_______________ BUILDING ' .. name .. ' _______________') | ||
43 | local build, err = loadfile(LOCALDIR .. '/' .. dir .. '/build.lua') | ||
44 | if build then | ||
45 | setfenv(build, getfenv(2)) | ||
46 | build(LOCALDIR .. '/' .. dir) | ||
47 | else | ||
48 | print("ERROR - " .. err) | ||
49 | end | ||
50 | end | ||
51 | |||
52 | -- Likely this will fail, coz Lua likes to strip out environmont variables. | ||
53 | -- On the other hand, there's a more direct way to get to environment variables, it would fail to. | ||
54 | CFLAGOPTS = readCommand('echo "$CFLAGOPTS"') | ||
55 | |||
56 | LOCALDIR = readCommand('pwd')readCommand('pwd') | ||
57 | CFLAGS = '-g -Wall -I include -I ' .. LOCALDIR .. ' -I ../../libraries' | ||
58 | CFLAGS = CFLAGS .. ' ' .. pkgConfig('cflags', 'luajit') | ||
59 | CFLAGS = CFLAGS .. ' ' .. pkgConfig('cflags', 'eo') | ||
60 | CFLAGS = CFLAGS .. ' ' .. pkgConfig('cflags', 'eet') | ||
61 | CFLAGS = CFLAGS .. ' ' .. pkgConfig('cflags', 'ecore-con') | ||
62 | CFLAGS = CFLAGS .. ' ' .. pkgConfig('cflags', 'ecore-evas') | ||
63 | CFLAGS = CFLAGS .. ' ' .. pkgConfig('cflags', 'ecore-file') | ||
64 | CFLAGS = CFLAGS .. ' ' .. pkgConfig('cflags', 'edje') | ||
65 | CFLAGS = CFLAGS .. ' ' .. pkgConfig('cflags', 'elementary') | ||
66 | CFLAGS = CFLAGS .. ' -DPACKAGE_BIN_DIR=\\"' .. LOCALDIR .. '\\"' | ||
67 | CFLAGS = CFLAGS .. ' -DPACKAGE_LIB_DIR=\\"' .. LOCALDIR .. '\\"' | ||
68 | CFLAGS = CFLAGS .. ' -DPACKAGE_DATA_DIR=\\"' .. LOCALDIR .. '\\"' | ||
69 | CFLAGS = CFLAGS .. ' ' .. CFLAGOPTS | ||
70 | |||
71 | LDFLAGS = '-L ' .. LOCALDIR .. ' ' .. pkgConfig('libs-only-L', 'luajit') .. ' -L lib -L /usr/lib -L /lib' | ||
72 | libs = pkgConfig('libs', 'elementary') .. ' ' .. pkgConfig('libs', 'luajit') .. ' -lpthread -lm' | ||
73 | LFLAGS = '-d' | ||
74 | EDJE_FLAGS = '-id images -fd fonts' | ||
75 | |||
76 | |||
77 | if 'nil' == type(args) then | ||
78 | print('_______________ BUILDING lemon _______________') | ||
79 | removeFiles(LOCALDIR .. '/libraries/lemon', {'*.o', 'lemon'}) | ||
80 | compileFiles('lemon', LOCALDIR .. '/libraries/lemon', {'lemon'}) | ||
81 | print('_______________ BUILDING Irrlicht _______________') | ||
82 | runCommand('Irrlicht', 'libraries/irrlicht-1.8.1/source/Irrlicht', 'make') | ||
83 | buildSub('LuaSL', 'LuaSL') | ||
84 | buildSub('GuiLua', 'ClientHamr/GuiLua') | ||
85 | buildSub('extantz', 'ClientHamr/extantz') | ||
86 | end | ||
diff --git a/build.sh b/build.sh deleted file mode 100755 index 28c03f7..0000000 --- a/build.sh +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | #! /bin/bash | ||
2 | |||
3 | wd=$(pwd) | ||
4 | |||
5 | echo "_______________ BUILDING lemon _______________" | ||
6 | cd $wd/libraries/lemon | ||
7 | rm -f *.o lemon | ||
8 | |||
9 | CFLAGS="-g -Wall -I include $CFLAGOPTS" | ||
10 | LDFLAGS="-L lib -L /usr/lib -L /lib" | ||
11 | LFLAGS="-d" | ||
12 | |||
13 | names="lemon" | ||
14 | objects="" | ||
15 | for i in $names | ||
16 | do | ||
17 | command="gcc $CFLAGS -c -o $i.o $i.c" | ||
18 | echo $command | ||
19 | $command | ||
20 | objects="$objects $i.o" | ||
21 | done | ||
22 | command="gcc $CFLAGS -o lemon $objects $LDFLAGS $libs" | ||
23 | echo $command | ||
24 | $command | ||
25 | |||
26 | echo "_______________ BUILDING Irrlicht _______________" | ||
27 | cd $wd/libraries/irrlicht-1.8.1/source/Irrlicht | ||
28 | make | ||
29 | |||
30 | echo "_______________ BUILDING LuaSL _______________" | ||
31 | cd $wd/LuaSL | ||
32 | ./build.sh | ||
33 | |||
34 | echo "_______________ BUILDING GuiLua _______________" | ||
35 | cd $wd/ClientHamr/GuiLua | ||
36 | ./build.sh | ||
37 | |||
38 | echo "_______________ BUILDING extantz _______________" | ||
39 | cd $wd/ClientHamr/extantz | ||
40 | ./build.sh | ||