Skip to content

Commit b225670

Browse files
committed
Make C dependencies fixed and cross-distro in metacall-environment.sh.
1 parent 5d265db commit b225670

File tree

1 file changed

+64
-7
lines changed

1 file changed

+64
-7
lines changed

tools/metacall-environment.sh

Lines changed: 64 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -345,8 +345,39 @@ sub_java(){
345345
sub_c(){
346346
echo "configure c"
347347

348+
LLVM_VERSION_STRING=11
349+
UBUNTU_CODENAME=""
350+
CODENAME_FROM_ARGUMENTS=""
351+
# Obtain VERSION_CODENAME and UBUNTU_CODENAME (for Ubuntu and its derivatives)
352+
source /etc/os-release
353+
DISTRO=${DISTRO,,}
354+
case ${DISTRO} in
355+
debian)
356+
if [[ "${VERSION}" == "unstable" ]] || [[ "${VERSION}" == "testing" ]]; then
357+
CODENAME=unstable
358+
LINKNAME=
359+
else
360+
# "stable" Debian release
361+
CODENAME=${VERSION_CODENAME}
362+
LINKNAME=-${CODENAME}
363+
fi
364+
;;
365+
*)
366+
# ubuntu and its derivatives
367+
if [[ -n "${UBUNTU_CODENAME}" ]]; then
368+
CODENAME=${UBUNTU_CODENAME}
369+
if [[ -n "${CODENAME}" ]]; then
370+
LINKNAME=-${CODENAME}
371+
fi
372+
fi
373+
;;
374+
esac
375+
376+
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | $SUDO_CMD apt-key add
377+
$SUDO_CMD sh -c "echo \"deb http://apt.llvm.org/${CODENAME}/ llvm-toolchain${LINKNAME}-${LLVM_VERSION_STRING} main\" >> /etc/apt/sources.list"
378+
$SUDO_CMD sh -c "echo \"deb-src http://apt.llvm.org/${CODENAME}/ llvm-toolchain${LINKNAME}-${LLVM_VERSION_STRING} main\" >> /etc/apt/sources.list"
348379
$SUDO_CMD apt-get update
349-
$SUDO_CMD apt-get $APT_CACHE_CMD install -y --no-install-recommends libffi-dev libclang-dev
380+
$SUDO_CMD apt-get install -y --no-install-recommends libffi-dev libclang-${LLVM_VERSION_STRING}-dev
350381
}
351382

352383
# Cobol
@@ -413,13 +444,39 @@ sub_clangformat(){
413444
cd $ROOT_DIR
414445

415446
LLVM_VERSION_STRING=12
416-
417-
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | $SUDO_CMD apt-key add -
418-
$SUDO_CMD sh -c "echo \"deb http://apt.llvm.org/focal/ llvm-toolchain-focal-$LLVM_VERSION_STRING main\" >> /etc/apt/sources.list"
419-
$SUDO_CMD sh -c "echo \"deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-$LLVM_VERSION_STRING main\" >> /etc/apt/sources.list"
447+
UBUNTU_CODENAME=""
448+
CODENAME_FROM_ARGUMENTS=""
449+
# Obtain VERSION_CODENAME and UBUNTU_CODENAME (for Ubuntu and its derivatives)
450+
source /etc/os-release
451+
DISTRO=${DISTRO,,}
452+
case ${DISTRO} in
453+
debian)
454+
if [[ "${VERSION}" == "unstable" ]] || [[ "${VERSION}" == "testing" ]]; then
455+
CODENAME=unstable
456+
LINKNAME=
457+
else
458+
# "stable" Debian release
459+
CODENAME=${VERSION_CODENAME}
460+
LINKNAME=-${CODENAME}
461+
fi
462+
;;
463+
*)
464+
# ubuntu and its derivatives
465+
if [[ -n "${UBUNTU_CODENAME}" ]]; then
466+
CODENAME=${UBUNTU_CODENAME}
467+
if [[ -n "${CODENAME}" ]]; then
468+
LINKNAME=-${CODENAME}
469+
fi
470+
fi
471+
;;
472+
esac
473+
474+
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | $SUDO_CMD apt-key add
475+
$SUDO_CMD sh -c "echo \"deb http://apt.llvm.org/${CODENAME}/ llvm-toolchain${LINKNAME}-${LLVM_VERSION_STRING} main\" >> /etc/apt/sources.list"
476+
$SUDO_CMD sh -c "echo \"deb-src http://apt.llvm.org/${CODENAME}/ llvm-toolchain${LINKNAME}-${LLVM_VERSION_STRING} main\" >> /etc/apt/sources.list"
420477
$SUDO_CMD apt-get update
421-
$SUDO_CMD apt-get install -y --no-install-recommends clang-format-$LLVM_VERSION_STRING
422-
$SUDO_CMD ln -s /usr/bin/clang-format-$LLVM_VERSION_STRING /usr/bin/clang-format
478+
$SUDO_CMD apt-get install -y --no-install-recommends clang-format-${LLVM_VERSION_STRING}
479+
$SUDO_CMD ln -s /usr/bin/clang-format-${LLVM_VERSION_STRING} /usr/bin/clang-format
423480
}
424481

425482
# Install

0 commit comments

Comments
 (0)