Skip to content

Commit addf64b

Browse files
committed
Fix build scripts (#392, #491)
1 parent 5fdb52b commit addf64b

6 files changed

+34
-26
lines changed

box.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@
1111
"include": [
1212
"umka.exe",
1313
"umka",
14-
"libumka.so",
1514
"libumka.dll",
15+
"libumka.so",
16+
"libumka_static_windows.a",
17+
"libumka_static_linux.a",
1618
"umka_api.h"
1719
],
1820
"pre_build": "sh umbox_pre_build.sh",

build_linux.sh

+21-19
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,34 @@ gccflags="-s -fPIC -O3 -malign-double -fno-strict-aliasing -fvisibility=hidden -
55
sourcefiles="umka_api.c umka_common.c umka_compiler.c umka_const.c umka_decl.c umka_expr.c
66
umka_gen.c umka_ident.c umka_lexer.c umka_runtime.c umka_stmt.c umka_types.c umka_vm.c"
77

8-
rm umka_linux -rf && # remove previous build
8+
rm umka_linux -rf
99

10-
cd src &&
10+
cd src
1111

12-
gcc $gccflags -c $sourcefiles &&
13-
gcc -s -shared -fPIC -static-libgcc *.o -o libumka.so -lm -ldl &&
12+
rm -f *.o
13+
rm -f *.a
1414

15-
gcc $gccflags -c umka.c &&
16-
gcc -s umka.o -o umka -static-libgcc -L$PWD -lm -lumka -Wl,-rpath,'$ORIGIN' &&
17-
ar rcs libumka_static.a *.o &&
15+
gcc $gccflags -c $sourcefiles
16+
gcc -s -shared -fPIC -static-libgcc *.o -o libumka.so -lm -ldl
17+
ar rcs libumka_static_linux.a *.o
1818

19-
rm -f *.o &&
20-
rm -f *.a &&
19+
gcc $gccflags -c umka.c
20+
gcc -s umka.o -o umka -static-libgcc -L$PWD -lm -lumka -Wl,-rpath,'$ORIGIN'
2121

22-
cd .. &&
22+
rm -f *.o
2323

24-
mkdir umka_linux/examples/3dcam -p &&
25-
mkdir umka_linux/examples/fractal -p &&
26-
mkdir umka_linux/examples/lisp -p &&
27-
mkdir umka_linux/examples/raytracer -p &&
28-
mkdir umka_linux/doc &&
24+
cd ..
2925

30-
mv src/libumka* src/umka umka_linux/ &&
31-
cp src/umka_api.h Umka.sublime-syntax LICENSE umka_linux/ &&
26+
mkdir umka_linux/examples/3dcam -p
27+
mkdir umka_linux/examples/fractal -p
28+
mkdir umka_linux/examples/lisp -p
29+
mkdir umka_linux/examples/raytracer -p
30+
mkdir umka_linux/doc
3231

33-
cp examples/* umka_linux/examples -r &&
32+
mv src/libumka* src/umka umka_linux/
33+
cp src/umka_api.h Umka.sublime-syntax LICENSE umka_linux/
34+
35+
cp examples/* umka_linux/examples -r
3436
cp doc/* umka_linux/doc
3537

36-
echo Build successful
38+
echo Build finished

build_linux_mingw.sh

+3-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ gccflags="-s -fPIC -O3 -malign-double -fno-strict-aliasing -fvisibility=hidden -
55
sourcefiles="umka_api.c umka_common.c umka_compiler.c umka_const.c umka_decl.c umka_expr.c
66
umka_gen.c umka_ident.c umka_lexer.c umka_runtime.c umka_stmt.c umka_types.c umka_vm.c"
77

8-
rm umka_windows_mingw -rf # remove previous build
8+
rm umka_windows_mingw -rf
99

1010
cd src
1111

@@ -14,13 +14,12 @@ rm -f *.a
1414

1515
x86_64-w64-mingw32-gcc $gccflags -c $sourcefiles
1616
x86_64-w64-mingw32-gcc -s -shared -fPIC -static-libgcc *.o -o libumka.dll -lm
17+
ar rcs libumka_static.a *.o
1718

1819
x86_64-w64-mingw32-gcc $gccflags -c umka.c
1920
x86_64-w64-mingw32-gcc -s umka.o -o umka.exe -static-libgcc -lm -L. -lumka -Wl,-rpath,'$ORIGIN'
20-
ar rcs libumka_static.a *.o
2121

2222
rm -f *.o
23-
rm -f *.a
2423

2524
cd ..
2625

@@ -36,4 +35,4 @@ cp src/umka_api.h Umka.sublime-syntax LICENSE umka_windows_mingw/
3635
cp examples/* umka_windows_mingw/examples -r
3736
cp doc/* umka_windows_mingw/doc
3837

39-
echo Build successful
38+
echo Build finished

build_windows_mingw.bat

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cd src
22

33
gcc -s -O3 -malign-double -fno-strict-aliasing -fvisibility=hidden -DUMKA_BUILD -DUMKA_EXT_LIBS -Wall -Wno-format-security -c umka_api.c umka_common.c umka_compiler.c umka_const.c umka_decl.c umka_expr.c umka_gen.c umka_ident.c umka_lexer.c umka_runtime.c umka_stmt.c umka_types.c umka_vm.c
44
gcc -s -shared -Wl,--output-def=libumka.def -Wl,--out-implib=libumka.a -Wl,--dll *.o -o libumka.dll -static-libgcc -static
5-
ar rcs libumka_static.a *.o
5+
ar rcs libumka_static_windows.a *.o
66

77
gcc -s -O3 -malign-double -fno-strict-aliasing -Wall -c umka.c
88
gcc -s umka.o -o umka.exe -static-libgcc -static -L%cd% -lm -lumka

umbox_post_build.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#!/bin/sh
22

33
rm -rf umka_linux umka_windows_mingw
4-
rm -f umka_api.h libumka.so libumka.dll umka umka.exe
4+
rm -f umka_api.h libumka.so libumka.dll umka umka.exe libumka_static_windows.a libumka_static_linux.a

umbox_pre_build.sh

+5
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,13 @@
22

33
./build_linux.sh
44
./build_linux_mingw.sh
5+
56
cp umka_linux/umka .
67
cp umka_linux/libumka.so .
8+
cp umka_linux/libumka_static_linux.a .
9+
710
cp umka_windows_mingw/umka.exe .
811
cp umka_windows_mingw/libumka.dll .
12+
cp umka_windows_mingw/libumka_static_windows.a .
13+
914
cp src/umka_api.h .

0 commit comments

Comments
 (0)