17
17
usage () {
18
18
echo " Usage: $( basename " $0 " ) [build_target]..."
19
19
echo " Build all targets if build_target is not specified."
20
- echo " Supported build targets for macOS: ${MACOS_SOONG_BINARIES[*]} "
21
- echo " Supported build targets for Linux:" \
22
- " ${LINUX_SOONG_BINARIES[@]} " " ${LINUX_SOONG_TESTS[@]} "
20
+ echo " Supported build targets:" \
21
+ " ${VALID_SOONG_BINARIES[@]} " " ${VALID_SOONG_TESTS[@]} "
23
22
}
24
23
25
24
in_array () {
@@ -31,7 +30,7 @@ in_array () {
31
30
return 1
32
31
}
33
32
34
- LINUX_SOONG_BINARIES =(
33
+ VALID_SOONG_BINARIES =(
35
34
" bindgen"
36
35
" cxx_extractor"
37
36
" header-abi-linker"
@@ -43,14 +42,10 @@ LINUX_SOONG_BINARIES=(
43
42
" versioner"
44
43
)
45
44
46
- LINUX_SOONG_TESTS =(
45
+ VALID_SOONG_TESTS =(
47
46
" header-checker-unittests"
48
47
)
49
48
50
- MACOS_SOONG_BINARIES=(
51
- " versioner"
52
- )
53
-
54
49
BUILD_TARGETS=()
55
50
56
51
while [ $# -gt 0 ]; do
@@ -70,29 +65,12 @@ set -ex
70
65
71
66
source " $( dirname " $0 " ) /envsetup.sh"
72
67
73
- UNAME=" $( uname) "
74
- case " ${UNAME} " in
75
- Linux)
76
- OS=' linux'
77
- ;;
78
- Darwin)
79
- OS=' darwin'
80
- ;;
81
- * )
82
- echo " error: Unknown uname: ${UNAME} "
68
+ if [ " $( uname) " != " Linux" ]; then
69
+ echo " error: Unsupported uname: $( uname) "
83
70
exit 1
84
- ;;
85
- esac
86
-
87
- # Targets to be built
88
- if [ " ${OS} " = " darwin" ]; then
89
- VALID_SOONG_BINARIES=(" ${MACOS_SOONG_BINARIES[@]} " )
90
- VALID_SOONG_TESTS=()
91
- else
92
- VALID_SOONG_BINARIES=(" ${LINUX_SOONG_BINARIES[@]} " )
93
- VALID_SOONG_TESTS=(" ${LINUX_SOONG_TESTS[@]} " )
94
71
fi
95
72
73
+ # Targets to be built
96
74
SOONG_BINARIES=()
97
75
SOONG_TESTS=()
98
76
@@ -124,7 +102,7 @@ TOP=$(pwd)
124
102
125
103
# Setup Soong configuration
126
104
SOONG_OUT=" ${OUT_DIR} /soong"
127
- SOONG_HOST_OUT=" ${OUT_DIR} /soong/host/${OS} -x86"
105
+ SOONG_HOST_OUT=" ${OUT_DIR} /soong/host/linux -x86"
128
106
rm -rf " ${SOONG_OUT} "
129
107
mkdir -p " ${SOONG_OUT} "
130
108
cat > " ${SOONG_OUT} /soong.variables" << __EOF__
@@ -143,14 +121,9 @@ for name in "${SOONG_BINARIES[@]}"; do
143
121
binaries+=(" ${SOONG_HOST_OUT} /bin/${name} " )
144
122
done
145
123
146
- libs=()
147
- if [ " ${OS} " = " darwin" ]; then
148
- libs+=(" ${SOONG_HOST_OUT} /lib64/libc++abi_host.dylib" )
149
- fi
150
-
151
124
# Build binaries and shared libs
152
125
build/soong/soong_ui.bash --make-mode --skip-config --soong-only \
153
- " ${binaries[@]} " " ${libs[@]} " " ${ SOONG_TESTS[@]}"
126
+ " ${binaries[@]} " " ${SOONG_TESTS[@]} "
154
127
155
128
# Copy binaries and shared libs
156
129
SOONG_DIST=" ${SOONG_OUT} /dist"
@@ -164,7 +137,7 @@ cp -R "${SOONG_HOST_OUT}/lib64" "${SOONG_DIST}"
164
137
ln -s " lib64" " ${SOONG_DIST} /lib"
165
138
166
139
# Copy clang header and share files
167
- CLANG_DIR=" prebuilts/clang/host/${OS} -x86/${LLVM_PREBUILTS_VERSION} "
140
+ CLANG_DIR=" prebuilts/clang/host/linux -x86/${LLVM_PREBUILTS_VERSION} "
168
141
CLANG_LIB_DIR=" ${CLANG_DIR} /lib/clang/${LLVM_RELEASE_VERSION} "
169
142
CLANG_LIB_DIR_OUT=" ${SOONG_DIST} /lib/clang/${LLVM_RELEASE_VERSION} "
170
143
mkdir -p " ${CLANG_LIB_DIR_OUT} "
@@ -175,20 +148,9 @@ ln -s "lib/clang/${LLVM_RELEASE_VERSION}/include" "${SOONG_DIST}/clang-headers"
175
148
# Normalize library file names. All library file names must match their soname.
176
149
function extract_soname () {
177
150
local file=" $1 "
178
-
179
- case " ${OS} " in
180
- linux)
181
- readelf -d " ${file} " | \
182
- grep ' (SONAME)\s*Library soname: \[.*\]$' -o | \
183
- sed ' s/(SONAME)\s*Library soname: \[\(.*\)\]$/\1/g'
184
- ;;
185
- darwin)
186
- local install_path=" $( otool -D " ${file} " | sed -n 2p) "
187
- if [ -n " ${install_path} " ]; then
188
- basename " ${install_path} "
189
- fi
190
- ;;
191
- esac
151
+ readelf -d " ${file} " | \
152
+ grep ' (SONAME)\s*Library soname: \[.*\]$' -o | \
153
+ sed ' s/(SONAME)\s*Library soname: \[\(.*\)\]$/\1/g'
192
154
}
193
155
194
156
for file in " ${SOONG_OUT} /dist/lib" * " /" * ; do
0 commit comments