|
1 | 1 | #!/bin/bash
|
2 | 2 |
|
3 |
| -LUAV=$1 |
4 |
| -if [ "$1" != 5.1 -a "$1" != 5.2 -a "$1" != 5.3 -a "$1" != 5.4 -a "$1" != "gh" ]; then |
5 |
| - LUAV=5.1 |
6 |
| -fi |
7 |
| - |
8 |
| -if [ "$LUAV" == "gh" ]; then |
9 |
| - LUAV="" |
| 3 | +case "$1" in |
| 4 | + 5.[0123456789]*|gh) |
| 5 | + LUAV="$1"; shift ;; |
| 6 | + *) |
| 7 | + LUAV="5.1" ;; |
| 8 | +esac |
| 9 | + |
| 10 | +if [ "$LUAV" = "gh" ]; then |
| 11 | + LUA=lua |
| 12 | + LUAC=luac |
10 | 13 | INC=../.lua/include
|
11 | 14 | set -e
|
12 |
| -elif [ "$LUAV" == 5.4 ]; then |
13 |
| - INC=/home/siffiejoe/.self/programs/lua$LUAV |
14 | 15 | else
|
15 |
| - INC=/usr/include/lua$LUAV |
| 16 | + LUA="lua$LUAV" |
| 17 | + LUAC="luac$LUAV" |
| 18 | + INC="/usr/include/lua$LUAV" |
| 19 | + if [ ! -d "$INC" ]; then |
| 20 | + INC="/home/siffiejoe/.self/programs/lua$LUAV" |
| 21 | + fi |
16 | 22 | fi
|
17 | 23 |
|
| 24 | +echo -n "Using " |
| 25 | +"$LUA" -v |
| 26 | + |
18 | 27 | gcc -Wall -Wextra -Os -fpic -I"$INC" -shared -o cmod.so cmod.c
|
19 | 28 | gcc -Wall -Wextra -Os -fpic -I"$INC" -shared -o aiomod.so aiomod.c
|
20 | 29 |
|
21 |
| -echo "Using Lua $LUAV ..." |
22 |
| -luac$LUAV -o module1.luac module1.lua |
23 |
| -luac$LUAV -o module2.luac module2.lua |
| 30 | +"$LUAC" -o module1.luac module1.lua |
| 31 | +"$LUAC" -o module2.luac module2.lua |
24 | 32 |
|
25 | 33 | echo -n "amalgamate modules only ... "
|
26 |
| -lua$LUAV ../src/amalg.lua -o modules.lua module1 module2 |
27 |
| -lua$LUAV -l modules main.lua |
| 34 | +"$LUA" ../src/amalg.lua -o modules.lua module1 module2 |
| 35 | +"$LUA" -l modules main.lua |
28 | 36 |
|
29 | 37 | echo -n "amalgamate modules as fallbacks(1) ... "
|
30 |
| -lua$LUAV ../src/amalg.lua -f -o fallbacks.lua module1 module2 |
31 |
| -lua$LUAV -l fallbacks main.lua |
| 38 | +"$LUA" ../src/amalg.lua -f -o fallbacks.lua module1 module2 |
| 39 | +"$LUA" -l fallbacks main.lua |
32 | 40 | echo -n "amalgamate modules as fallbacks(2) ... "
|
33 |
| -lua$LUAV -l fallbacks -e "package.path=''" main.lua |
| 41 | +"$LUA" -l fallbacks -e "package.path=''" main.lua |
34 | 42 |
|
35 | 43 | echo -n "amalgamate modules and script in text form ... "
|
36 |
| -lua$LUAV ../src/amalg.lua -o textout.lua -s main.lua module1 module2 |
37 |
| -lua$LUAV -e 'package.path=""' textout.lua |
| 44 | +"$LUA" ../src/amalg.lua -o textout.lua -s main.lua module1 module2 |
| 45 | +"$LUA" -e 'package.path=""' textout.lua |
38 | 46 |
|
39 | 47 | echo -n "amalgamate modules and script in binary form ... "
|
40 |
| -lua$LUAV -e 'package.path = "./?.luac;"..package.path' ../src/amalg.lua -o binout.lua -s main.lua module1 module2 |
41 |
| -lua$LUAV -e 'package.path=""' binout.lua |
| 48 | +"$LUA" -e 'package.path = "./?.luac;"..package.path' ../src/amalg.lua -o binout.lua -s main.lua module1 module2 |
| 49 | +"$LUA" -e 'package.path=""' binout.lua |
42 | 50 |
|
43 | 51 | echo -n "amalgamate and transform modules and script(1) ... "
|
44 |
| -lua$LUAV -e 'package.path = "../src/?.lua;"..package.path' ../src/amalg.lua -o zippedout.lua -s main.lua -t luac -z brieflz module1 module2 && \ |
45 |
| -lua$LUAV -e 'package.path=""' zippedout.lua |
| 52 | +"$LUA" -e 'package.path = "../src/?.lua;"..package.path' ../src/amalg.lua -o zippedout.lua -s main.lua -t luac -z brieflz module1 module2 && \ |
| 53 | +"$LUA" -e 'package.path=""' zippedout.lua |
46 | 54 |
|
47 | 55 | echo -n "amalgamate and transform modules and script(2) ... "
|
48 |
| -lua$LUAV -e 'package.path = "../src/?.lua;"..package.path' ../src/amalg.lua -o dietout.lua -s main.lua -t luasrcdiet module1 module2 && \ |
49 |
| -lua$LUAV -e 'package.path=""' dietout.lua |
| 56 | +"$LUA" -e 'package.path = "../src/?.lua;"..package.path' ../src/amalg.lua -o dietout.lua -s main.lua -t luasrcdiet module1 module2 && \ |
| 57 | +"$LUA" -e 'package.path=""' dietout.lua |
50 | 58 |
|
51 | 59 | echo -n "amalgamate and transform in two steps ... "
|
52 |
| -lua$LUAV ../src/amalg.lua -o- -s main.lua module1 module2 | \ |
53 |
| -lua$LUAV -e 'package.path = "../src/?.lua;"..package.path' ../src/amalg.lua -o twosteps.lua -s- -t luasrcdiet -z brieflz && \ |
54 |
| -lua$LUAV -e 'package.path=""' twosteps.lua |
| 60 | +"$LUA" ../src/amalg.lua -o- -s main.lua module1 module2 | \ |
| 61 | +"$LUA" -e 'package.path = "../src/?.lua;"..package.path' ../src/amalg.lua -o twosteps.lua -s- -t luasrcdiet -z brieflz && \ |
| 62 | +"$LUA" -e 'package.path=""' twosteps.lua |
55 | 63 |
|
56 | 64 | echo -n "amalgamate modules and script without arg fix ... "
|
57 |
| -lua$LUAV ../src/amalg.lua -o afixout.lua -a -s main.lua module1 module2 |
58 |
| -lua$LUAV -e 'package.path=""' afixout.lua |
| 65 | +"$LUA" ../src/amalg.lua -o afixout.lua -a -s main.lua module1 module2 |
| 66 | +"$LUA" -e 'package.path=""' afixout.lua |
59 | 67 |
|
60 | 68 | echo -n "amalgamate modules and script with debug info ... "
|
61 |
| -lua$LUAV ../src/amalg.lua -o debugout.lua -d -s main.lua module1 module2 |
62 |
| -lua$LUAV -e 'package.path=""' debugout.lua |
| 69 | +"$LUA" ../src/amalg.lua -o debugout.lua -d -s main.lua module1 module2 |
| 70 | +"$LUA" -e 'package.path=""' debugout.lua |
63 | 71 |
|
64 | 72 | echo -n "collect module names using amalg.lua as a module ... "
|
65 |
| -lua$LUAV -e 'package.path = "../src/?.lua;"..package.path' -l amalg main.lua |
| 73 | +"$LUA" -e 'package.path = "../src/?.lua;"..package.path' -l amalg main.lua |
66 | 74 | echo -n "amalgamate modules and script using amalg.cache ... "
|
67 |
| -lua$LUAV ../src/amalg.lua -o cacheout.lua -s main.lua -c |
68 |
| -lua$LUAV -e 'package.path=""' cacheout.lua |
| 75 | +"$LUA" ../src/amalg.lua -o cacheout.lua -s main.lua -c |
| 76 | +"$LUA" -e 'package.path=""' cacheout.lua |
69 | 77 |
|
70 | 78 | echo -n "amalgamate Lua modules, Lua script and C modules ... "
|
71 |
| -lua$LUAV ../src/amalg.lua -o cmodout.lua -s main.lua -c -x |
72 |
| -lua$LUAV -e 'package.path,package.cpath="",""' cmodout.lua |
| 79 | +"$LUA" ../src/amalg.lua -o cmodout.lua -s main.lua -c -x |
| 80 | +"$LUA" -e 'package.path,package.cpath="",""' cmodout.lua |
73 | 81 |
|
74 | 82 | echo -n "amalgamate Lua modules, Lua script and C modules compressed ... "
|
75 |
| -lua$LUAV -e 'package.path = "../src/?.lua;"..package.path' ../src/amalg.lua -o zipcmodout.lua -s main.lua -c -x -t luasrcdiet -z brieflz && \ |
76 |
| -lua$LUAV -e 'package.path,package.cpath="",""' zipcmodout.lua |
| 83 | +"$LUA" -e 'package.path = "../src/?.lua;"..package.path' ../src/amalg.lua -o zipcmodout.lua -s main.lua -c -x -t luasrcdiet -z brieflz && \ |
| 84 | +"$LUA" -e 'package.path,package.cpath="",""' zipcmodout.lua |
77 | 85 |
|
78 | 86 | echo -n "amalgamate Lua modules, Lua script and C modules in two steps ... "
|
79 |
| -lua$LUAV ../src/amalg.lua -o- -s main.lua -c -x | \ |
80 |
| -lua$LUAV -e 'package.path = "../src/?.lua;"..package.path' ../src/amalg.lua -o ctwosteps.lua -s- -t luasrcdiet -z brieflz && \ |
81 |
| -lua$LUAV -e 'package.path,package.cpath="",""' ctwosteps.lua |
| 87 | +"$LUA" ../src/amalg.lua -o- -s main.lua -c -x | \ |
| 88 | +"$LUA" -e 'package.path = "../src/?.lua;"..package.path' ../src/amalg.lua -o ctwosteps.lua -s- -t luasrcdiet -z brieflz && \ |
| 89 | +"$LUA" -e 'package.path,package.cpath="",""' ctwosteps.lua |
82 | 90 |
|
83 | 91 | echo -n "amalgamate Lua modules, but ignore C modules ... "
|
84 |
| -lua$LUAV ../src/amalg.lua -o ignout.lua -s main.lua -c -x -i '^cmod' -i '^aiomod' |
85 |
| -lua$LUAV -e 'package.path=""' ignout.lua |
86 |
| - |
87 |
| -exit 0 |
88 |
| - |
89 |
| -rm -f module1.luac module2.luac modules.lua fallbacks.lua textout.lua binout.lua zippedout.lua twosteps.lua dietout.lua afixout.lua debugout.lua cacheout.lua cmodout.lua zipcmodout.lua ctwosteps.lua ignout.lua amalg.cache cmod.so aiomod.so |
| 92 | +"$LUA" ../src/amalg.lua -o ignout.lua -s main.lua -c -x -i '^cmod' -i '^aiomod' |
| 93 | +"$LUA" -e 'package.path=""' ignout.lua |
| 94 | + |
| 95 | + |
| 96 | +if [ "$1" != keep ]; then |
| 97 | + rm -f module1.luac \ |
| 98 | + module2.luac \ |
| 99 | + modules.lua \ |
| 100 | + fallbacks.lua \ |
| 101 | + textout.lua \ |
| 102 | + binout.lua \ |
| 103 | + zippedout.lua \ |
| 104 | + twosteps.lua \ |
| 105 | + dietout.lua \ |
| 106 | + afixout.lua \ |
| 107 | + debugout.lua \ |
| 108 | + cacheout.lua \ |
| 109 | + cmodout.lua \ |
| 110 | + zipcmodout.lua \ |
| 111 | + ctwosteps.lua \ |
| 112 | + ignout.lua \ |
| 113 | + amalg.cache \ |
| 114 | + cmod.so \ |
| 115 | + aiomod.so |
| 116 | +fi |
90 | 117 |
|
0 commit comments