mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Using Ubuntu 23 throws an error "groupadd: GID '1000' already exists" when trying to build. Ubuntu 22 works fine. There should be no difference between building C3 on Ubuntu 22 vs 23. To avoid issues raised it's best to move to single Ubuntu version that builds the compiler.
45 lines
1.0 KiB
Bash
Executable File
45 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
## build-with-docker.sh
|
|
## @author gdm85
|
|
##
|
|
## Script to build c3c for Ubuntu 22
|
|
##
|
|
#
|
|
|
|
if [ $# -ne 1 -a $# -ne 2 ]; then
|
|
echo "Usage: build-with-docker.sh [Debug|Release]" 1
|
|
exit 1
|
|
fi
|
|
|
|
set -e
|
|
|
|
DOCKER=docker
|
|
DOCKER_RUN=""
|
|
IMAGE="c3c-builder"
|
|
if type podman 2>/dev/null >/dev/null; then
|
|
DOCKER=podman
|
|
DOCKER_RUN="--userns=keep-id"
|
|
IMAGE="localhost/$IMAGE"
|
|
fi
|
|
|
|
if [ -z "$1" ]; then
|
|
CMAKE_BUILD_TYPE=Debug
|
|
else
|
|
CMAKE_BUILD_TYPE="$1"
|
|
fi
|
|
|
|
UBUNTU_VERSION="22.10"
|
|
LLVM_VERSION="15"
|
|
|
|
IMAGE="$IMAGE:22"
|
|
|
|
cd docker && $DOCKER build -t $IMAGE\
|
|
--build-arg DEPS="llvm-$LLVM_VERSION-dev liblld-$LLVM_VERSION-dev clang-$LLVM_VERSION libllvm$LLVM_VERSION llvm-$LLVM_VERSION-runtime" \
|
|
--build-arg UBUNTU_VERSION="$UBUNTU_VERSION" .
|
|
cd ..
|
|
|
|
rm -rf build bin
|
|
mkdir -p build bin
|
|
|
|
exec $DOCKER run -ti --rm --tmpfs=/tmp $DOCKER_RUN -v "$PWD":/home/c3c/source -w /home/c3c/source $IMAGE bash -c \
|
|
"cd build && cmake -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DC3_LLVM_VERSION=$LLVM_VERSION .. && cmake --build . && mv c3c lib ../bin/" |