-
Notifications
You must be signed in to change notification settings - Fork 18
/
cross-compile-arm.sh
134 lines (121 loc) · 2.92 KB
/
cross-compile-arm.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
rm -f -r google_sources
mkdir google_sources
git clone https://github.com/google/leveldb.git google_sources
mkdir google_sources/build
cd google_sources/build
# Building x86_64
echo Building x86_64...
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=true .. && cmake --build .
if [ $? -ne 0 ]; then
echo
echo Fail to build x86_64 library
exit 1
fi
cp libleveldb.so ../../runtimes/linux-x64/native/leveldb.dll
rm -rf *
# Building arm_32
echo Building arm 32...
export AR=arm-linux-gnueabihf-ar
export CC=arm-linux-gnueabihf-gcc
export CXX=arm-linux-gnueabihf-g++
export LINK=arm-linux-gnueabihf-g++
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=true .. && cmake --build .
if [ $? -ne 0 ]; then
unset AR
unset CC
unset CXX
unset LINK
echo
echo Fail to build arm_32 library
exit 1
fi
cp libleveldb.so ../../runtimes/linux-arm/native/leveldb.dll
rm -rf *
unset AR
unset CC
unset CXX
unset LINK
# Building x86_32
#echo Building x86_32
#export CC=../gcc_32
#export CXX=../g++_32
#cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=true .. && cmake --build .
#if [ $? -ne 0 ]; then
# unset CC
# unset CXX
# echo
# echo Fail to build x86_32 library
# exit 1
#fi
#cp libleveldb.so ../../runtimes/linux-x86/native/leveldb.dll
#rm -rf *
#unset CC
#unset CXX
# Building arm_64
echo Building arm 64...
export AR=aarch64-linux-gnu-ar
export CC=aarch64-linux-gnu-gcc
export CXX=aarch64-linux-gnu-g++
export LINK=aarch64-linux-gnu-g++
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=true .. && cmake --build .
if [ $? -ne 0 ]; then
unset AR
unset CC
unset CXX
unset LINK
echo
echo Fail to build arm_32 library
exit 1
fi
cp libleveldb.so ../../runtimes/linux-arm64/native/leveldb.dll
rm -rf *
unset AR
unset CC
unset CXX
unset LINK
# Building Android arm_32
echo Building Android arm 32...
export AR=~/android.arm/bin/arm-linux-androideabi-ar
export CC=~/android.arm/bin/arm-linux-androideabi-gcc
export CXX=~/android.arm/bin/arm-linux-androideabi-g++
export LINK=~/android.arm/bin/arm-linux-androideabi-g++
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=true .. && cmake --build .
if [ $? -ne 0 ]; then
unset AR
unset CC
unset CXX
unset LINK
echo
echo Fail to build arm_32 library
exit 1
fi
cp libleveldb.so ../../runtimes/android-arm/native/leveldb.dll
rm -rf *
unset AR
unset CC
unset CXX
unset LINK
# Building Android arm_64
echo Building Android arm 64...
export AR=~/android.arm64/bin/aarch64-linux-android-ar
export CC=~/android.arm64/bin/aarch64-linux-android-gcc
export CXX=~/android.arm64/bin/aarch64-linux-android-g++
export LINK=~/android.arm64/bin/aarch64-linux-android-g++
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=true .. && cmake --build .
if [ $? -ne 0 ]; then
unset AR
unset CC
unset CXX
unset LINK
echo
echo Fail to build arm_32 library
exit 1
fi
cp libleveldb.so ../../runtimes/android-arm64/native/leveldb.dll
rm -rf *
unset AR
unset CC
unset CXX
unset LINK
cd ../..
rm -f -r google_sources