Commit Graph

2912 Commits

Author SHA1 Message Date
Li Jie
b2b407c2c2 upgrade to prebuilt esp-clang 19.1.2_20250819 2025-08-20 08:53:36 +08:00
Li Jie
b831952e2e build native/wasi with clang++ and keep embed building with clang 2025-08-16 10:49:00 +08:00
Li Jie
21174e44bb fix wasi-libc caching path 2025-08-16 10:48:16 +08:00
Li Jie
b650a546cd supports linkerscript 2025-08-16 10:47:39 +08:00
Li Jie
e580ecc55c fix sysroot on macos with esp clang 2025-08-16 10:46:44 +08:00
Li Jie
87f4f618aa feat(crosscompile): use versioned cache directory for ESP Clang
Add version suffix to ESP Clang cache directory path to enable
automatic updates when espClangVersion changes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-06 20:25:50 +08:00
Li Jie
7c4c8b8726 use prebuilt esp-llvm 2025-08-05 20:28:26 +08:00
Li Jie
deea8754ae feat(crosscompile): add ESP Clang multi-platform support
- Add ESP Clang download and extraction for cross-compilation
- Support multiple platforms: darwin/amd64, darwin/arm64, linux/amd64, linux/arm64, windows/amd64
- Integrate ESP Clang with target-based configuration system
- Add ClangRoot and ClangBinPath fields to Export struct
- Support .tar.xz extraction for ESP Clang packages
- Prioritize LLGoROOT clang installation over cached downloads
- Update build system to use custom clang for embedded platforms

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-04 15:18:15 +08:00
Li Jie
3ac881b191 feat(crosscompile): add wasi-libc support with LLGoROOT priority
- Check LLGoROOT/crosscompile/wasi-libc first before downloading
- Fallback to cached wasi-sdk download if not found locally
- Update downloadAndExtract to return wasiSdkRoot path directly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-02 20:18:37 +08:00
xushiwei
aa49fe665f Merge pull request #1193 from cpunion/targets-refactor-1176
Build targets task 1: Basic Target Parameter Support for llgo build/run/test commands
2025-08-02 06:09:52 +08:00
Li Jie
b773de0815 ci: add build -target tests 2025-07-30 20:25:05 +08:00
Li Jie
49a5d3a350 dummy _start function for libc-free cases 2025-07-30 20:16:30 +08:00
Li Jie
6f829d0d43 add empty demo for build -target tests 2025-07-30 20:16:29 +08:00
Li Jie
daf0d7e56e feat(cmd): enable -target parameter for build, run, and test commands
- Update build command: llgo build -target platform
- Update run command: llgo run -target platform
- Update test command: llgo test -target platform
- Wire target flag to build configuration
- Update usage documentation for new parameter

Examples:
- llgo build -target rp2040 ./firmware
- llgo run -target wasi ./main.go
- llgo test -target cortex-m ./tests

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 20:16:29 +08:00
Li Jie
0136344282 feat(cmd): add -target flag support for build commands
- Add Target flag variable to support -target parameter
- Update AddBuildFlags to include target platform option
- Enable syntax: -target platform (e.g., rp2040, wasi)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 20:16:29 +08:00
Li Jie
f571dde538 feat(build): integrate target configuration system into build pipeline
- Add Target field to build.Config struct
- Update build system to use crosscompile.UseWithTarget()
- Enable target-based cross-compilation in build pipeline
- Maintain backward compatibility with existing GOOS/GOARCH workflow

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 20:16:29 +08:00
Li Jie
5424b53b62 feat(crosscompile): extend Export struct and add target-based configuration
- Add LLVMTarget, CPU, Features, BuildTags fields to Export struct
- Implement UseTarget() function for target name-based configuration loading
- Add UseWithTarget() function combining target and goos/goarch fallback
- Include comprehensive unit tests for target integration
- Support 206+ embedded platform configurations with inheritance

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 20:16:25 +08:00
xushiwei
86519b471e Merge pull request #1198 from visualfc/pybytes
ssa: PyVal support py bytes
2025-07-30 15:18:22 +08:00
visualfc
36fa18b28c ssa: PyVal support py bytes 2025-07-30 12:12:19 +08:00
xushiwei
d8da4364fd Merge pull request #1196 from visualfc/pyfunc
ssa: PyVal support pyfunc
2025-07-29 21:42:17 +08:00
visualfc
2538be9318 ssa: PyVal support pyfunc 2025-07-29 20:55:56 +08:00
xushiwei
a9193e36ff Merge pull request #1195 from visualfc/pyexpr
ssa: PyVal support bool,int,uint,string,complex
2025-07-29 20:09:16 +08:00
visualfc
0a6588c348 ssa: PyVal support bool,int,uint,string,bytearray,complex 2025-07-29 16:08:09 +08:00
Li Jie
0c11c93b3a docs: add LICENSE file for targets directory
Add license attribution for target configuration files derived from TinyGo project:

- Document source from https://github.com/tinygo-org/tinygo/tree/release/targets
- Include complete BSD 3-Clause license from TinyGo project
- Clarify licensing terms for target configuration files
- Ensure proper attribution to TinyGo Authors and Go Authors
- Maintain compliance with original license requirements

This ensures proper license compliance when using TinyGo's target configurations
in the llgo project.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 15:13:02 +08:00
Li Jie
b80a54eb0f feat: implement target configuration system for issue #1176
Add comprehensive target configuration parsing and inheritance system:

- Create internal/targets package with config structures
- Support JSON configuration loading with inheritance resolution
- Implement multi-level inheritance (e.g., rp2040 → cortex-m0plus → cortex-m)
- Add 206 target configurations from TinyGo for embedded platforms
- Support core fields: name, llvm-target, cpu, features, build-tags, goos, goarch, cflags, ldflags
- Provide high-level resolver interface for target lookup
- Include comprehensive unit tests with 100% target parsing coverage

This foundation enables future -target parameter support for cross-compilation
to diverse embedded platforms beyond current GOOS/GOARCH limitations.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 15:12:58 +08:00
xushiwei
5eb833a984 Update README.md 2025-07-15 12:30:41 +08:00
xushiwei
66fd3a552d Merge pull request #1186 from goplus/dependabot/go_modules/golang.org/x/tools-0.35.0
build(deps): bump golang.org/x/tools from 0.34.0 to 0.35.0
2025-07-14 23:19:16 +08:00
dependabot[bot]
7f4b0d6215 build(deps): bump golang.org/x/tools from 0.34.0 to 0.35.0
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.34.0 to 0.35.0.
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](https://github.com/golang/tools/compare/v0.34.0...v0.35.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  dependency-version: 0.35.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 01:07:12 +00:00
xushiwei
5e6dd7644b Update README.md 2025-07-08 16:09:22 +08:00
xushiwei
a430e325ed Merge pull request #1184 from visualfc/syscall-js
runtime: support syscall/js
2025-07-07 11:02:15 +08:00
visualfc
e77c3a040d runtime: support syscall/js 2025-07-07 10:31:22 +08:00
xushiwei
734b3a075e Merge pull request #1183 from visualfc/patch
cl: patchType check func signature
2025-07-07 08:10:22 +08:00
xushiwei
6b5f299ccd Merge pull request #1182 from visualfc/emjs
runtime/js: impl CopyBytesToGo/CopyBytesToJS
2025-07-07 08:09:20 +08:00
visualfc
281b3ecf64 runtime/js: itoa 2025-07-04 10:00:46 +08:00
visualfc
d7f2f4efdd cl: patchType check func signature 2025-07-03 20:48:51 +08:00
visualfc
08077f03f1 runtime/js: impl CopyBytesToGo,CopyBytesToJS 2025-07-02 20:00:08 +08:00
visualfc
3d41514abd runtime/js: fix call args value incref 2025-07-02 14:36:08 +08:00
xushiwei
f2c16beab6 Merge pull request #1174 from luoliwoshang/build/rpathmode
refactor(internal/build):remove rpath change
2025-07-01 13:25:12 +08:00
xushiwei
8983b146f2 Merge pull request #1180 from visualfc/emcc_js
[WIP] runtime/js: js for emscripten
2025-07-01 13:24:04 +08:00
xushiwei
8b0c6eae02 Merge pull request #1181 from visualfc/trace
debug: fix print stack for wasm
2025-07-01 13:22:42 +08:00
visualfc
013f2ef00d debug: fix print stack for wasm 2025-07-01 11:31:15 +08:00
visualfc
e972be8dab runtime/js: js for emscripten 2025-06-30 20:55:32 +08:00
luoliwoshang
e60c3bd943 refactor(internal/build):remove rpath change 2025-06-26 13:55:58 +08:00
xushiwei
f0728c4fe0 Merge pull request #1164 from visualfc/codegen
build: gen pkg.ll to object
2025-06-25 23:14:45 +08:00
visualfc
249f85a25e build: gen pkg to object 2025-06-25 21:01:18 +08:00
xushiwei
9c59ac297d Merge pull request #1171 from luoliwoshang/internal/build/test
fix(build):test all pkg with llgo test ./...
2025-06-25 18:17:41 +08:00
luoliwoshang
6e8f3d1d19 test(build):collect llgo test ./... output to test 2025-06-25 15:38:20 +08:00
luoliwoshang
3df783de13 test(build):case with llgo test ./... 2025-06-24 16:34:33 +08:00
luoliwoshang
b469fc990f fix(build):test all pkg with llgo test ./... 2025-06-24 14:07:20 +08:00
xushiwei
6df688e62e Merge pull request #1168 from xushiwei/q
#1165 cpkgimp: import c package
2025-06-23 23:07:12 +08:00