Skip to content

Commit

Permalink
update to 0.17.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
vanillahsu committed Apr 8, 2021
1 parent d9f778c commit cd96c9d
Show file tree
Hide file tree
Showing 4 changed files with 586 additions and 226 deletions.
43 changes: 23 additions & 20 deletions devel/tinygo/Makefile
@@ -1,7 +1,6 @@
PORTNAME= tinygo
DISTVERSIONPREFIX= v
DISTVERSION= 0.14.1
PORTREVISION= 1
DISTVERSION= 0.17.0
CATEGORIES= devel

MAINTAINER= ports@FreeBSD.org
Expand All @@ -20,32 +19,36 @@ USE_GITHUB= yes
GH_ACCOUNT= tinygo-org
GH_TUPLE= \
blakesmith:ar:8bd4349a67f2:blakesmith_ar/vendor/github.com/blakesmith/ar \
bugst:go-serial:v1.0.0:bugst_go_serial/vendor/go.bug.st/serial \
chromedp:cdproto:4da64dd111ac:chromedp_cdproto/vendor/github.com/chromedp/cdproto \
chromedp:chromedp:v0.5.3:chromedp_chromedp/vendor/github.com/chromedp/chromedp \
bugst:go-serial:v1.1.2:bugst_go_serial/vendor/go.bug.st/serial \
chromedp:cdproto:dabd2f2e7693:chromedp_cdproto/vendor/github.com/chromedp/cdproto \
chromedp:chromedp:v0.6.4:chromedp_chromedp/vendor/github.com/chromedp/chromedp \
chromedp:sysutil:v1.0.0:chromedp_sysutil/vendor/github.com/chromedp/sysutil \
creack:goselect:v0.1.1:creack_goselect/vendor/github.com/creack/goselect \
gobwas:httphead:2c6c146eadee:gobwas_httphead/vendor/github.com/gobwas/httphead \
gobwas:pool:v0.2.0:gobwas_pool/vendor/github.com/gobwas/pool \
gobwas:ws:v1.0.2:gobwas_ws/vendor/github.com/gobwas/ws \
golang:sys:b77594299b42:golang_sys/vendor/golang.org/x/sys \
gobwas:httphead:v0.1.0:gobwas_httphead/vendor/github.com/gobwas/httphead \
gobwas:pool:v0.2.1:gobwas_pool/vendor/github.com/gobwas/pool \
gobwas:ws:v1.0.4:gobwas_ws/vendor/github.com/gobwas/ws \
golang:sys:4bcb84eeeb78:golang_sys/vendor/golang.org/x/sys \
golang:tools:b320d3a0f5a2:golang_tools/vendor/golang.org/x/tools \
google:shlex:c34317bd91bf:google_shlex/vendor/github.com/google/shlex \
knq:sysutil:15668db23d08:knq_sysutil/vendor/github.com/knq/sysutil \
mailru:easyjson:v0.7.0:mailru_easyjson/vendor/github.com/mailru/easyjson \
josharian:intern:v1.0.0:josharian_intern/vendor/github.com/josharian/intern \
mailru:easyjson:v0.7.6:mailru_easyjson/vendor/github.com/mailru/easyjson \
marcinbor85:gohex:343a4b548892:marcinbor85_gohex/vendor/github.com/marcinbor85/gohex \
tinygo-org:go-llvm:345b2947b59d:tinygo_org_go_llvm/vendor/tinygo.org/x/go-llvm
mattn:go-colorable:v0.1.8:mattn_go_colorable/vendor/github.com/mattn/go-colorable \
mattn:go-isatty:v0.0.12:mattn_go_isatty/vendor/github.com/mattn/go-isatty \
tinygo-org:go-llvm:7fe719483a0f:tinygo_org_go_llvm/vendor/tinygo.org/x/go-llvm

# Device files and runtime are distributed as submodules
GH_TUPLE+= ARM-software:CMSIS:9fe411cef1ce:cmsis/lib/CMSIS \
CraneStation:wasi-libc:a280fead2ae7:wasi_libc/lib/wasi-libc \
NordicSemiconductor:nrfx:3ab39a9d457b:nrfx/lib/nrfx \
avr-rust:avr-mcu:6624554c02b2:avr/lib/avr \
keith-packard:picolibc:80528c684b10:picolibc/lib/picolibc \
llvm-mirror:compiler-rt:5bc79797e1f9:compiler_rt/lib/compiler-rt \
tinygo-org:cmsis-svd:a155cfd832c9:cmsis_svd/lib/cmsis-svd
NordicSemiconductor:nrfx:d779b49fc59c:nrfx/lib/nrfx \
WebAssembly:wasi-libc:c82d116de0de:wasi_libc/lib/wasi-libc \
avr-rust:avr-mcu:40d15c1c56c3:avr/lib/avr \
llvm-mirror:compiler-rt:69445f095c22:compiler_rt/lib/compiler-rt \
picolibc:picolibc:73988df1ab59:picolibc/lib/picolibc \
tinygo-org:cmsis-svd:d9b58694cef3:cmsis_svd/lib/cmsis-svd \
tinygo-org:stm32-svd:c6b5be976f44:stm32_svd/lib/stm32-svd

# Bundled LLVM
GH_TUPLE+= llvm:llvm-project:llvmorg-10.0.1:llvm/llvm-project
GH_TUPLE+= llvm:llvm-project:llvmorg-11.1.0:llvm/llvm-project

OPTIONS_DEFINE= AVR QEMU SIMAVR

Expand All @@ -69,7 +72,7 @@ do-build:
GO=${GO_CMD} \
HOME=${WRKDIR} \
PATH=${WRKSRC}/llvm-build/bin:$$PATH \
${GMAKE} release
${GMAKE} build/release

do-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/tinygo
Expand Down
82 changes: 45 additions & 37 deletions devel/tinygo/distinfo
@@ -1,49 +1,57 @@
TIMESTAMP = 1597925221
SHA256 (tinygo-org-tinygo-v0.14.1_GH0.tar.gz) = 2def83190542b529b1be476294298ec29bd6bfdf36edcb2658d93ced813781d6
SIZE (tinygo-org-tinygo-v0.14.1_GH0.tar.gz) = 518324
TIMESTAMP = 1617178491
SHA256 (tinygo-org-tinygo-v0.17.0_GH0.tar.gz) = b1806cdc20dcf5df491494bda10764e1692a2d4b34150c9997afdd47066ee751
SIZE (tinygo-org-tinygo-v0.17.0_GH0.tar.gz) = 641944
SHA256 (blakesmith-ar-8bd4349a67f2_GH0.tar.gz) = 51d0ca71a5f31d283eb43142fadd036c9df909ebe5e5d7af031f6b9b91c65a67
SIZE (blakesmith-ar-8bd4349a67f2_GH0.tar.gz) = 4057
SHA256 (bugst-go-serial-v1.0.0_GH0.tar.gz) = 90bb0f44d59b04aa43d2f65c876c5c2b08bd5b85cfa019dc85afdab42cd12423
SIZE (bugst-go-serial-v1.0.0_GH0.tar.gz) = 23774
SHA256 (chromedp-cdproto-4da64dd111ac_GH0.tar.gz) = ff16a1374c4f17fdd67fa7cb99a45881ab520cdfeb1a020fa70d7ef09e752e21
SIZE (chromedp-cdproto-4da64dd111ac_GH0.tar.gz) = 340717
SHA256 (chromedp-chromedp-v0.5.3_GH0.tar.gz) = 9db5edc619eeeeae32cda333288f19ae1d8e253ec5def4fb3aa2526666ed3ab7
SIZE (chromedp-chromedp-v0.5.3_GH0.tar.gz) = 90079
SHA256 (bugst-go-serial-v1.1.2_GH0.tar.gz) = fef1c93a7f3664948bc910bb120aa7dcd0f98f823d0fa1bc894deb8d98a529a8
SIZE (bugst-go-serial-v1.1.2_GH0.tar.gz) = 24475
SHA256 (chromedp-cdproto-dabd2f2e7693_GH0.tar.gz) = a65c1234742139b1f99f6b47522b0345b80ec90fcb4bc217aa5f2b7960a94227
SIZE (chromedp-cdproto-dabd2f2e7693_GH0.tar.gz) = 389406
SHA256 (chromedp-chromedp-v0.6.4_GH0.tar.gz) = 644979a65577e1ce9a26a9b8df67affbafb05a4c0d9199e10011cb565e356c2c
SIZE (chromedp-chromedp-v0.6.4_GH0.tar.gz) = 98833
SHA256 (chromedp-sysutil-v1.0.0_GH0.tar.gz) = f1fd198c6ad3586ea1fdd398ff63fface97db0bf36fb916892d3e0c165725c0a
SIZE (chromedp-sysutil-v1.0.0_GH0.tar.gz) = 2413
SHA256 (creack-goselect-v0.1.1_GH0.tar.gz) = 2387f34f5e9d3a506aab94e30c4500c91529fda2c49aa3890523d3827306caf2
SIZE (creack-goselect-v0.1.1_GH0.tar.gz) = 7404
SHA256 (gobwas-httphead-2c6c146eadee_GH0.tar.gz) = 3c53d16746cb6f420a3f3f5bf1bb62afcd3f67df78b974bf9180ba488a9dd7bf
SIZE (gobwas-httphead-2c6c146eadee_GH0.tar.gz) = 17105
SHA256 (gobwas-pool-v0.2.0_GH0.tar.gz) = 6c4f7ab93586a9a8ca28dc3dcf7cb5bfeaf8580274d7077897800c3b00c6fa2a
SIZE (gobwas-pool-v0.2.0_GH0.tar.gz) = 7309
SHA256 (gobwas-ws-v1.0.2_GH0.tar.gz) = 955f8d943c3b6c29daf04f980818ad7a1a75e03d483cb2cef885148d44203a32
SIZE (gobwas-ws-v1.0.2_GH0.tar.gz) = 69975
SHA256 (golang-sys-b77594299b42_GH0.tar.gz) = 484bf05a828f18a9ea48f32b64322d6cc8e716b5cbfd455be72f445db8495b82
SIZE (golang-sys-b77594299b42_GH0.tar.gz) = 1534631
SHA256 (gobwas-httphead-v0.1.0_GH0.tar.gz) = 7977c8a5b9a8301f7202228b18a11a698d5e470886e3d6d99b3979a131719a08
SIZE (gobwas-httphead-v0.1.0_GH0.tar.gz) = 17212
SHA256 (gobwas-pool-v0.2.1_GH0.tar.gz) = af627b30208ca77b4f8949910d8cc2fd6fdb14deda16ac7fb625f7cbdbd79805
SIZE (gobwas-pool-v0.2.1_GH0.tar.gz) = 8054
SHA256 (gobwas-ws-v1.0.4_GH0.tar.gz) = 4b005a2ddcf0fc5f779797f38eb999f71ce2b1ddfc921472e2183e0e5cab0af1
SIZE (gobwas-ws-v1.0.4_GH0.tar.gz) = 69353
SHA256 (golang-sys-4bcb84eeeb78_GH0.tar.gz) = 8404dc19a7a60236cc3c25abb192125961d338b182f97115d6265e063a4198e8
SIZE (golang-sys-4bcb84eeeb78_GH0.tar.gz) = 1101830
SHA256 (golang-tools-b320d3a0f5a2_GH0.tar.gz) = a1d365d8926dd0bf2378c9a6da587a439fd94ed9e2156b9e1732ac6a027fadc7
SIZE (golang-tools-b320d3a0f5a2_GH0.tar.gz) = 2352360
SHA256 (google-shlex-c34317bd91bf_GH0.tar.gz) = fefaae49749c42aaaf9864fc0a04326a8cc263a42ebfb18b907419b9cfc9f4f1
SIZE (google-shlex-c34317bd91bf_GH0.tar.gz) = 7234
SHA256 (knq-sysutil-15668db23d08_GH0.tar.gz) = 06ca09ec6374a8544d92e4d5b539ac2920873fc47628a4933a5cc76c113eacd0
SIZE (knq-sysutil-15668db23d08_GH0.tar.gz) = 2432
SHA256 (mailru-easyjson-v0.7.0_GH0.tar.gz) = 20e8ea95e5bd594b386c6edb5c57080929f6270018b9d29e4c86f6723ca50df7
SIZE (mailru-easyjson-v0.7.0_GH0.tar.gz) = 72804
SHA256 (josharian-intern-v1.0.0_GH0.tar.gz) = 7c7df6e792ed5db0b1a63c8ec74236b70958ad36c9fe5a02b52b1a418b177b5e
SIZE (josharian-intern-v1.0.0_GH0.tar.gz) = 1927
SHA256 (mailru-easyjson-v0.7.6_GH0.tar.gz) = 36849ef77dc92330e2d9f006a4fb2ef871e11abfddcedec771b84ebfc2380ecc
SIZE (mailru-easyjson-v0.7.6_GH0.tar.gz) = 81195
SHA256 (marcinbor85-gohex-343a4b548892_GH0.tar.gz) = b3386e22809ebda802b3e0e295d2cd325d6e7c20f69cc551454b5faad606b7d7
SIZE (marcinbor85-gohex-343a4b548892_GH0.tar.gz) = 7608
SHA256 (tinygo-org-go-llvm-345b2947b59d_GH0.tar.gz) = defb2224ba5fedf31606b88213b6984c2fed0508d0a49fec9e7c2fca62b1ce65
SIZE (tinygo-org-go-llvm-345b2947b59d_GH0.tar.gz) = 32462
SHA256 (mattn-go-colorable-v0.1.8_GH0.tar.gz) = 1027954f9abbe06b6e117e3047af70204dd0eb4f8c27fcd459fb2574b279755f
SIZE (mattn-go-colorable-v0.1.8_GH0.tar.gz) = 9571
SHA256 (mattn-go-isatty-v0.0.12_GH0.tar.gz) = addbdc341d7685ed4cc8d2d8a8fd2bd9b784bde00d0ea99fb251039fc10c611c
SIZE (mattn-go-isatty-v0.0.12_GH0.tar.gz) = 4548
SHA256 (tinygo-org-go-llvm-7fe719483a0f_GH0.tar.gz) = 70186273dee5e06e9f406e166e64f96d6c5fb5bb07b6ae261bd0efb7c368031a
SIZE (tinygo-org-go-llvm-7fe719483a0f_GH0.tar.gz) = 32833
SHA256 (ARM-software-CMSIS-9fe411cef1ce_GH0.tar.gz) = cf743b2a8a50919c864946c8843d5fc7ed4be36ac15b8a07a1bdf9562efcc6c4
SIZE (ARM-software-CMSIS-9fe411cef1ce_GH0.tar.gz) = 97355967
SHA256 (CraneStation-wasi-libc-a280fead2ae7_GH0.tar.gz) = da6b83af3b93a13dd8a43b862e2a805f21b83e4878ea02dadeb2bea09bcd9933
SIZE (CraneStation-wasi-libc-a280fead2ae7_GH0.tar.gz) = 1210154
SHA256 (NordicSemiconductor-nrfx-3ab39a9d457b_GH0.tar.gz) = 516dbe156dcf3080d5b9df628ffe95fb6b4430973e0151eeb2fc66bd40070b24
SIZE (NordicSemiconductor-nrfx-3ab39a9d457b_GH0.tar.gz) = 943309
SHA256 (avr-rust-avr-mcu-6624554c02b2_GH0.tar.gz) = 6a879dad1c9e33ad1f55d3e2dd20dc797195e32c78963680d639e75bf2eb3171
SIZE (avr-rust-avr-mcu-6624554c02b2_GH0.tar.gz) = 3480381
SHA256 (keith-packard-picolibc-80528c684b10_GH0.tar.gz) = 8d3b46f0f4fa7345d778e291f27b7137d12ab317c4b9ee50434ee11aa61a281c
SIZE (keith-packard-picolibc-80528c684b10_GH0.tar.gz) = 4524240
SHA256 (llvm-mirror-compiler-rt-5bc79797e1f9_GH0.tar.gz) = b978a63ffdcc8e25aa668c6b3d45f5fd1fb21852301db1aa797ac2aa5f8586b8
SIZE (llvm-mirror-compiler-rt-5bc79797e1f9_GH0.tar.gz) = 3269533
SHA256 (tinygo-org-cmsis-svd-a155cfd832c9_GH0.tar.gz) = 216bace74466eea11fc0da731e5270aaf104e930390eefa27dba81cd68c8e5e1
SIZE (tinygo-org-cmsis-svd-a155cfd832c9_GH0.tar.gz) = 53439301
SHA256 (llvm-llvm-project-llvmorg-10.0.1_GH0.tar.gz) = c7ccb735c37b4ec470f66a6c35fbae4f029c0f88038f6977180b1a8ddc255637
SIZE (llvm-llvm-project-llvmorg-10.0.1_GH0.tar.gz) = 120880730
SHA256 (NordicSemiconductor-nrfx-d779b49fc59c_GH0.tar.gz) = 63955acc17574292cdf3b99a833facfdeda9091a03f8057ae3d7bfafc1f9e2b2
SIZE (NordicSemiconductor-nrfx-d779b49fc59c_GH0.tar.gz) = 2421827
SHA256 (WebAssembly-wasi-libc-c82d116de0de_GH0.tar.gz) = 0988c729b4b3d62b132ed00170332db5391d5b8014c21965dc1d5f73fa49e348
SIZE (WebAssembly-wasi-libc-c82d116de0de_GH0.tar.gz) = 1251832
SHA256 (avr-rust-avr-mcu-40d15c1c56c3_GH0.tar.gz) = a146db6ad560606a658ecef8a71fd9c1630fd188c2bd1acf863ae84e3a6521e4
SIZE (avr-rust-avr-mcu-40d15c1c56c3_GH0.tar.gz) = 3658833
SHA256 (llvm-mirror-compiler-rt-69445f095c22_GH0.tar.gz) = dfdafc8a61a05bf23e6cd80fbebfbfd775ae116c52d1db80ec1ec800435ba131
SIZE (llvm-mirror-compiler-rt-69445f095c22_GH0.tar.gz) = 3455194
SHA256 (picolibc-picolibc-73988df1ab59_GH0.tar.gz) = cd4aa6660d20f072d506cd503cb8502813a3f7e038768e56a793cd6efdba737e
SIZE (picolibc-picolibc-73988df1ab59_GH0.tar.gz) = 4434816
SHA256 (tinygo-org-cmsis-svd-d9b58694cef3_GH0.tar.gz) = fb8a48f33199eb3f5f3cf4f615e6e8576c00166cf16942d80b9d8bcb66b1851c
SIZE (tinygo-org-cmsis-svd-d9b58694cef3_GH0.tar.gz) = 55854960
SHA256 (tinygo-org-stm32-svd-c6b5be976f44_GH0.tar.gz) = 9df8d17726ed97cd39d676c78608d645bdfdd788260547cbe1fd36b386f95041
SIZE (tinygo-org-stm32-svd-c6b5be976f44_GH0.tar.gz) = 8471775
SHA256 (llvm-llvm-project-llvmorg-11.1.0_GH0.tar.gz) = 53a0719f3f4b0388013cfffd7b10c7d5682eece1929a9553c722348d1f866e79
SIZE (llvm-llvm-project-llvmorg-11.1.0_GH0.tar.gz) = 122776532
57 changes: 25 additions & 32 deletions devel/tinygo/files/patch-Makefile
@@ -1,27 +1,18 @@
--- Makefile.orig 2020-08-19 06:37:16 UTC
--- Makefile.orig 2021-03-05 16:41:06 UTC
+++ Makefile
@@ -40,7 +40,7 @@ MD5SUM = md5sum
TINYGO ?= tinygo
@@ -25,7 +25,7 @@ MD5SUM = md5sum
TINYGO ?= $(word 1,$(call detect,tinygo)$(call detect,build/tinygo))

# Use CCACHE for LLVM if possible
-ifneq (, $(shell command -v ccache 2> /dev/null))
+ifneq (, $(CCACHE_DIR))
LLVM_OPTION += '-DLLVM_CCACHE_BUILD=ON'
endif

@@ -104,7 +104,7 @@ LLD_LIBS = $(START_GROUP) -llldCOFF -llldCommon -llldC
ifneq ("$(wildcard $(LLVM_BUILDDIR)/bin/llvm-config*)","")
CGO_CPPFLAGS=$(shell $(LLVM_BUILDDIR)/bin/llvm-config --cppflags) -I$(abspath $(LLVM_BUILDDIR))/tools/clang/include -I$(abspath $(CLANG_SRC))/include -I$(abspath $(LLD_SRC))/include
CGO_CXXFLAGS=-std=c++14
- CGO_LDFLAGS+=$(LIBCLANG_PATH) -std=c++14 -L$(abspath $(LLVM_BUILDDIR)/lib) $(CLANG_LIBS) $(LLD_LIBS) $(shell $(LLVM_BUILDDIR)/bin/llvm-config --ldflags --libs --system-libs $(LLVM_COMPONENTS)) -lstdc++ $(CGO_LDFLAGS_EXTRA)
+ CGO_LDFLAGS+=$(LIBCLANG_PATH) -L$(abspath $(LLVM_BUILDDIR)/lib) $(CLANG_LIBS) $(LLD_LIBS) $(shell $(LLVM_BUILDDIR)/bin/llvm-config --ldflags --libs --system-libs $(LLVM_COMPONENTS)) -lstdc++ $(CGO_LDFLAGS_EXTRA)
endif


@@ -121,13 +121,13 @@ fmt-check:
gen-device: gen-device-avr gen-device-nrf gen-device-sam gen-device-sifive gen-device-stm32 gen-device-kendryte gen-device-nxp
@@ -111,13 +111,13 @@ gen-device: gen-device-avr gen-device-esp gen-device-n

gen-device-avr:
@if [ ! -e lib/avr/README.md ]; then echo "Submodules have not been downloaded. Please download them using:\n git submodule update --init"; exit 1; fi
- $(GO) build -o ./build/gen-device-avr ./tools/gen-device-avr/
+ $(GO) build -mod=vendor -o ./build/gen-device-avr ./tools/gen-device-avr/
./build/gen-device-avr lib/avr/packs/atmega src/device/avr/
Expand All @@ -32,33 +23,35 @@
- $(GO) build -o $@ ./tools/gen-device-svd/
+ $(GO) build -mod=vendor -o $@ ./tools/gen-device-svd/

gen-device-nrf: build/gen-device-svd
./build/gen-device-svd -source=https://github.com/NordicSemiconductor/nrfx/tree/master/mdk lib/nrfx/mdk/ src/device/nrf/
@@ -173,16 +173,16 @@ $(LLVM_BUILDDIR): $(LLVM_BUILDDIR)/build.ninja
gen-device-esp: build/gen-device-svd
./build/gen-device-svd -source=https://github.com/posborne/cmsis-svd/tree/master/data/Espressif-Community -interrupts=software lib/cmsis-svd/data/Espressif-Community/ src/device/esp/
@@ -156,7 +156,7 @@ llvm-source: $(LLVM_PROJECTDIR)/README.md
# Configure LLVM.
TINYGO_SOURCE_DIR=$(shell pwd)
$(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 $(LLVM_OPTION)
+ 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" -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 $(LLVM_OPTION)

# Build LLVM.
$(LLVM_BUILDDIR): $(LLVM_BUILDDIR)/build.ninja
@@ -167,17 +167,15 @@ $(LLVM_BUILDDIR): $(LLVM_BUILDDIR)/build.ninja
.PHONY: wasi-libc
wasi-libc: lib/wasi-libc/sysroot/lib/wasm32-wasi/libc.a
lib/wasi-libc/sysroot/lib/wasm32-wasi/libc.a:
- @if [ ! -e lib/wasi-libc/Makefile ]; then echo "Submodules have not been downloaded. Please download them using:\n git submodule update --init"; exit 1; fi
- cd lib/wasi-libc && make -j4 WASM_CC=$(CLANG) WASM_AR=$(LLVM_AR) WASM_NM=$(LLVM_NM)
+ cd lib/wasi-libc && gmake WASM_CC=$(CLANG) WASM_AR=$(LLVM_AR) WASM_NM=$(LLVM_NM)
+ cd lib/wasi-libc && gmake -j4 WASM_CC=$(CLANG) WASM_AR=$(LLVM_AR) WASM_NM=$(LLVM_NM)


# Build the Go compiler.
tinygo:
@if [ ! -f "$(LLVM_BUILDDIR)/bin/llvm-config" ]; then echo "Fetch and build LLVM first by running:"; echo " make llvm-source"; echo " make $(LLVM_BUILDDIR)"; exit 1; fi
- CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) build -buildmode exe -o build/tinygo$(EXE) -tags byollvm .
- @if [ ! -f "$(LLVM_BUILDDIR)/bin/llvm-config" ]; then echo "Fetch and build LLVM first by running:"; echo " make llvm-source"; echo " make $(LLVM_BUILDDIR)"; exit 1; fi
- CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) build -buildmode exe -o build/tinygo$(EXE) -tags byollvm -ldflags="-X main.gitSha1=`git rev-parse --short HEAD`" .
+ CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) build -buildmode exe -o build/tinygo$(EXE) -tags byollvm -mod=vendor .

test: wasi-libc
- CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) test -v -buildmode exe -tags byollvm ./cgo ./compileopts ./interp ./transform .
+ CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) test -v -buildmode exe -tags byollvm -mod=vendor ./cgo ./compileopts ./interp ./transform .

tinygo-test:
cd tests/tinygotest && tinygo test
@@ -383,7 +383,6 @@ build/release: tinygo gen-device wasi-libc
./build/tinygo build-library -target=armv6m-none-eabi -o build/release/tinygo/pkg/armv6m-none-eabi/picolibc.a picolibc
./build/tinygo build-library -target=armv7m-none-eabi -o build/release/tinygo/pkg/armv7m-none-eabi/picolibc.a picolibc
./build/tinygo build-library -target=armv7em-none-eabi -o build/release/tinygo/pkg/armv7em-none-eabi/picolibc.a picolibc
-
release: build/release
tar -czf build/release.tar.gz -C build/release tinygo
- CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) test -v -buildmode exe -tags byollvm ./cgo ./compileopts ./compiler ./interp ./transform .
+ CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) test -v -buildmode exe -tags byollvm -mod=vendor ./cgo ./compileopts ./compiler ./interp ./transform .

# Test known-working standard library packages.
# TODO: do this in one command, parallelize, and only show failing tests (no

0 comments on commit cd96c9d

Please sign in to comment.