@@ -55,7 +55,7 @@ __AlpinePackages+=" gettext-dev"
5555__AlpinePackages+=" icu-dev"
5656__AlpinePackages+=" libunwind-dev"
5757__AlpinePackages+=" lttng-ust-dev"
58- __AlpinePackages+=" compiler-rt-static "
58+ __AlpinePackages+=" compiler-rt"
5959__AlpinePackages+=" numactl-dev"
6060
6161# runtime libraries' dependencies
@@ -150,7 +150,6 @@ while :; do
150150 __BuildArch=riscv64
151151 __AlpineArch=riscv64
152152 __AlpinePackages=" ${__AlpinePackages// lldb-dev/ } "
153- __AlpinePackages=" ${__AlpinePackages// compiler-rt-static/ } "
154153 __QEMUArch=riscv64
155154 __UbuntuArch=riscv64
156155 __UbuntuRepo=" http://deb.debian.org/debian-ports"
@@ -160,10 +159,6 @@ while :; do
160159 if [[ -e " /usr/share/keyrings/debian-ports-archive-keyring.gpg" ]]; then
161160 __Keyring=" --keyring /usr/share/keyrings/debian-ports-archive-keyring.gpg --include=debian-ports-archive-keyring"
162161 fi
163-
164- if [[ " $version " != " edge" && ( -z " $__AlpineVersion " || -z " $__AlpineMajorVersion " )]]; then
165- __AlpineVersion=edge # minimum version with APKINDEX.tar.gz (packages archive)
166- fi
167162 ;;
168163 ppc64le)
169164 __BuildArch=ppc64le
@@ -175,10 +170,6 @@ while :; do
175170 __UbuntuPackages=" ${__UbuntuPackages// libomp-dev/ } "
176171 __UbuntuPackages=" ${__UbuntuPackages// libomp5/ } "
177172 unset __LLDB_Package
178-
179- if [[ " $version " != " edge" && ( -z " $__AlpineVersion " || -z " $__AlpineMajorVersion " )]]; then
180- __AlpineVersion=3.15 # minimum version that supports compiler-rt
181- fi
182173 ;;
183174 s390x)
184175 __BuildArch=s390x
@@ -190,10 +181,6 @@ while :; do
190181 __UbuntuPackages=" ${__UbuntuPackages// libomp-dev/ } "
191182 __UbuntuPackages=" ${__UbuntuPackages// libomp5/ } "
192183 unset __LLDB_Package
193-
194- if [[ " $version " != " edge" && ( -z " $__AlpineVersion " || -z " $__AlpineMajorVersion " )]]; then
195- __AlpineVersion=3.15 # minimum version that supports compiler-rt
196- fi
197184 ;;
198185 x64)
199186 __BuildArch=x64
@@ -206,6 +193,7 @@ while :; do
206193 x86)
207194 __BuildArch=x86
208195 __UbuntuArch=i386
196+ __AlpineArch=x86
209197 __UbuntuRepo=" http://archive.ubuntu.com/ubuntu/"
210198 ;;
211199 lldb* )
@@ -311,29 +299,8 @@ while :; do
311299 parts=(${version// ./ } )
312300 __AlpineMajorVersion=" ${parts[0]} "
313301 __AlpineMinoVersion=" ${parts[1]} "
314-
315- if [[ -z " $__AlpineVersion " ]]; then
316- __AlpineVersion=" $__AlpineMajorVersion .$__AlpineMinoVersion "
317- fi
302+ __AlpineVersion=" $__AlpineMajorVersion .$__AlpineMinoVersion "
318303 fi
319-
320- case " $__AlpineVersion " in
321- 3.14) __AlpinePackages+=" llvm11-libs" ;;
322- 3.15) __AlpinePackages+=" llvm12-libs" ;;
323- 3.16) __AlpinePackages+=" llvm13-libs" ;;
324- 3.17) __AlpinePackages+=" llvm15-libs" ;;
325- edge) __AlpineLlvmLibsLookup=1 ;;
326- * )
327- if [[ " $__AlpineArch " =~ " s390x|ppc64le" ]]; then
328- __AlpineVersion=3.15 # minimum version that supports compiler-rt
329- __AlpinePackages+=" llvm12-libs"
330- elif [[ " $__AlpineArch " == " riscv64" ]]; then
331- __AlpineLlvmLibsLookup=1
332- __AlpineVersion=edge # minimum version with APKINDEX.tar.gz (packages archive)
333- else
334- __AlpineVersion=3.13 # 3.13 to maximize compatibility
335- fi
336- esac
337304 ;;
338305 freebsd12)
339306 __CodeName=freebsd
@@ -376,10 +343,41 @@ while :; do
376343 shift
377344done
378345
346+ case " $__AlpineVersion " in
347+ 3.14) __AlpinePackages+=" llvm11-libs" ;;
348+ 3.15) __AlpinePackages+=" llvm12-libs" ;;
349+ 3.16) __AlpinePackages+=" llvm13-libs" ;;
350+ 3.17) __AlpinePackages+=" llvm15-libs" ;;
351+ edge) __AlpineLlvmLibsLookup=1 ;;
352+ * )
353+ if [[ " $__AlpineArch " =~ s390x| ppc64le ]]; then
354+ echo boo
355+ __AlpineVersion=3.15 # minimum version that supports lldb-dev
356+ __AlpinePackages+=" llvm12-libs"
357+ elif [[ " $__AlpineArch " == " x86" ]]; then
358+ __AlpineVersion=3.17 # minimum version that supports lldb-dev
359+ __AlpinePackages+=" llvm15-libs"
360+ elif [[ " $__AlpineArch " == " riscv64" ]]; then
361+ __AlpineLlvmLibsLookup=1
362+ __AlpineVersion=edge # minimum version with APKINDEX.tar.gz (packages archive)
363+ else
364+ __AlpineVersion=3.13 # 3.13 to maximize compatibility
365+ __AlpinePackages+=" llvm10-libs"
366+
367+ if [[ " $__AlpineArch " == " armv7" ]]; then
368+ __AlpinePackages=" ${__AlpinePackages// numactl-dev/ } "
369+ fi
370+ fi
371+ esac
372+
373+ if [[ " $__AlpineVersion " =~ 3\. 1[345] ]]; then
374+ # compiler-rt--static was merged in compiler-rt package in alpine 3.16
375+ # for older versions, we need compiler-rt--static, so replace the name
376+ __AlpinePackages=" ${__AlpinePackages/ compiler-rt/ compiler-rt-static} "
377+ fi
378+
379379if [[ " $__BuildArch " == " armel" ]]; then
380380 __LLDB_Package=" lldb-3.5-dev"
381- elif [[ " $__BuildArch " == " arm" && " $__AlpineVersion " == " 3.13" ]]; then
382- __AlpinePackages=" ${__AlpinePackages// numactl-dev/ } "
383381fi
384382
385383__UbuntuPackages+=" ${__LLDB_Package:- } "
@@ -422,26 +420,27 @@ if [[ "$__CodeName" == "alpine" ]]; then
422420 version=" v$__AlpineVersion "
423421 fi
424422
423+ # initialize DB
425424 " $__ApkToolsDir /apk.static" \
426425 -X " http://dl-cdn.alpinelinux.org/alpine/$version /main" \
427426 -X " http://dl-cdn.alpinelinux.org/alpine/$version /community" \
428- -U --allow-untrusted --root " $__RootfsDir " --arch " $__AlpineArch " --initdb \
429- add $__AlpinePackages
427+ -U --allow-untrusted --root " $__RootfsDir " --arch " $__AlpineArch " --initdb add
430428
431429 if [[ " $__AlpineLlvmLibsLookup " == 1 ]]; then
432- " $__ApkToolsDir /apk.static" \
430+ __AlpinePackages+= " $( " $__ApkToolsDir /apk.static" \
433431 -X " http://dl-cdn.alpinelinux.org/alpine/$version /main" \
434432 -X " http://dl-cdn.alpinelinux.org/alpine/$version /community" \
435433 -U --allow-untrusted --root " $__RootfsDir " --arch " $__AlpineArch " \
436- search ' llvm*-libs' | sort | tail -1 | while IFS=- read name rest; do
437- " $__ApkToolsDir /apk.static" \
438- -X " http://dl-cdn.alpinelinux.org/alpine/$version /main" \
439- -X " http://dl-cdn.alpinelinux.org/alpine/$version /community" \
440- -U --allow-untrusted --root " $__RootfsDir " --arch " $__AlpineArch " \
441- add " $name -libs"
442- done
434+ search ' llvm*-libs' | sort | tail -1 | sed ' s/-[^-]*//2g' ) "
443435 fi
444436
437+ # install all packages in one go
438+ " $__ApkToolsDir /apk.static" \
439+ -X " http://dl-cdn.alpinelinux.org/alpine/$version /main" \
440+ -X " http://dl-cdn.alpinelinux.org/alpine/$version /community" \
441+ -U --allow-untrusted --root " $__RootfsDir " --arch " $__AlpineArch " \
442+ add $__AlpinePackages
443+
445444 rm -r " $__ApkToolsDir "
446445elif [[ " $__CodeName " == " freebsd" ]]; then
447446 mkdir -p " $__RootfsDir " /usr/local/etc
0 commit comments