mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-07-26 06:38:42 +00:00
WIP alpine build
This commit is contained in:
+46
-27
@@ -228,44 +228,62 @@ commands:
|
||||
- run: make wasmtest
|
||||
build-linux:
|
||||
steps:
|
||||
- checkout
|
||||
- submodules
|
||||
- run:
|
||||
name: "Install apt dependencies"
|
||||
name: "Install apk dependencies"
|
||||
command: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install --no-install-recommends \
|
||||
libgnutls30 libssl1.0.2 \
|
||||
ninja-build \
|
||||
python3
|
||||
- install-cmake
|
||||
- hack-ninja-jobs
|
||||
apk add git openssh make g++ gcompat
|
||||
- checkout
|
||||
- run:
|
||||
name: "Install Go"
|
||||
command: |
|
||||
wget https://dl.google.com/go/go1.17.3.linux-amd64.tar.gz
|
||||
tar -C /usr/local -xzf go1.17.3.linux-amd64.tar.gz
|
||||
ln -s /usr/local/go/bin/go /usr/local/bin/go
|
||||
#- submodules
|
||||
- restore_cache:
|
||||
name: "Restore Go cache"
|
||||
keys:
|
||||
- go-cache-v2-{{ checksum "go.mod" }}-{{ .Environment.CIRCLE_PREVIOUS_BUILD_NUM }}
|
||||
- go-cache-v2-{{ checksum "go.mod" }}
|
||||
- llvm-source-linux
|
||||
- go-cache-alpine-v2-{{ checksum "go.mod" }}-{{ .Environment.CIRCLE_PREVIOUS_BUILD_NUM }}
|
||||
- go-cache-alpine-v2-{{ checksum "go.mod" }}
|
||||
- restore_cache:
|
||||
name: "Restore llvm-source cache"
|
||||
keys:
|
||||
- llvm-build-11-linux-v4-noassert
|
||||
- llvm-source-11-alpine-v2-x0
|
||||
- run:
|
||||
name: "Fetch LLVM source"
|
||||
command: make llvm-source
|
||||
- save_cache:
|
||||
name: "Save llvm-source cache"
|
||||
key: llvm-source-11-alpine-v2-x0
|
||||
paths:
|
||||
- llvm-project
|
||||
#- llvm-project/clang/lib/Headers
|
||||
#- llvm-project/clang/include
|
||||
#- llvm-project/lld/include
|
||||
#- llvm-project/llvm/include
|
||||
- restore_cache:
|
||||
name: "Restore llvm-build cache"
|
||||
keys:
|
||||
- llvm-build-11-alpine-v1-noassert-x0
|
||||
- run:
|
||||
name: "Build LLVM"
|
||||
command: |
|
||||
if [ ! -f llvm-build/lib/liblldELF.a ]
|
||||
then
|
||||
# fetch LLVM source (may only have headers right now)
|
||||
rm -rf llvm-project
|
||||
make llvm-source
|
||||
#rm -rf llvm-project
|
||||
#make llvm-source
|
||||
# install dependencies
|
||||
apk add cmake samurai python3
|
||||
# build!
|
||||
make llvm-build
|
||||
find llvm-build -name CMakeFiles -prune -exec rm -r '{}' \;
|
||||
SAMUFLAGS=-j3 make llvm-build
|
||||
#find llvm-build -name CMakeFiles -prune -exec rm -r '{}' \;
|
||||
fi
|
||||
- save_cache:
|
||||
key: llvm-build-11-linux-v4-noassert
|
||||
name: "Save llvm-build cache"
|
||||
key: llvm-build-11-alpine-v1-noassert-x0
|
||||
paths:
|
||||
llvm-build
|
||||
- build-binaryen-linux-stretch
|
||||
- build-wasi-libc
|
||||
- run:
|
||||
name: "Install fpm"
|
||||
command: |
|
||||
@@ -286,7 +304,8 @@ commands:
|
||||
- store_artifacts:
|
||||
path: /tmp/tinygo_amd64.deb
|
||||
- save_cache:
|
||||
key: go-cache-v2-{{ checksum "go.mod" }}-{{ .Environment.CIRCLE_BUILD_NUM }}
|
||||
name: "Save Go cache"
|
||||
key: go-cache-alpine-v2-{{ checksum "go.mod" }}-{{ .Environment.CIRCLE_BUILD_NUM }}
|
||||
paths:
|
||||
- ~/.cache/go-build
|
||||
- /go/pkg/mod
|
||||
@@ -431,7 +450,7 @@ jobs:
|
||||
- assert-test-linux
|
||||
build-linux:
|
||||
docker:
|
||||
- image: circleci/golang:1.17-stretch
|
||||
- image: alpine:3.14
|
||||
steps:
|
||||
- build-linux
|
||||
test-linux-build:
|
||||
@@ -450,11 +469,11 @@ jobs:
|
||||
workflows:
|
||||
test-all:
|
||||
jobs:
|
||||
- test-llvm11-go115
|
||||
- test-llvm11-go116
|
||||
#- test-llvm11-go115
|
||||
#- test-llvm11-go116
|
||||
- build-linux
|
||||
- test-linux-build:
|
||||
requires:
|
||||
- build-linux
|
||||
- build-macos
|
||||
- assert-test-linux
|
||||
#- build-macos
|
||||
#- assert-test-linux
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Windows
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
#pull_request:
|
||||
push:
|
||||
branches:
|
||||
- dev
|
||||
|
||||
@@ -168,8 +168,8 @@ $(LLVM_BUILDDIR)/build.ninja: llvm-source
|
||||
mkdir -p $(LLVM_BUILDDIR) && cd $(LLVM_BUILDDIR) && cmake -G Ninja $(TINYGO_SOURCE_DIR)/$(LLVM_PROJECTDIR)/llvm "-DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64;RISCV;WebAssembly" "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR;Xtensa" -DCMAKE_BUILD_TYPE=Release -DLIBCLANG_BUILD_STATIC=ON -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_ENABLE_ZLIB=OFF -DLLVM_ENABLE_LIBEDIT=OFF -DLLVM_ENABLE_Z3_SOLVER=OFF -DLLVM_ENABLE_OCAMLDOC=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_ENABLE_PROJECTS="clang;lld" -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF -DCLANG_ENABLE_STATIC_ANALYZER=OFF -DCLANG_ENABLE_ARCMT=OFF $(LLVM_OPTION)
|
||||
|
||||
# Build LLVM.
|
||||
$(LLVM_BUILDDIR): $(LLVM_BUILDDIR)/build.ninja
|
||||
cd $(LLVM_BUILDDIR) && ninja $(NINJA_BUILD_TARGETS)
|
||||
$(LLVM_BUILDDIR): #$(LLVM_BUILDDIR)/build.ninja
|
||||
cd $(LLVM_BUILDDIR) && ninja llvm-nm #$(NINJA_BUILD_TARGETS)
|
||||
|
||||
# Build Binaryen
|
||||
.PHONY: binaryen
|
||||
|
||||
Reference in New Issue
Block a user