goplus / goplus/llcppg

llcppg:cross platform's implement file

Open
#179 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
33
Forks
11
Avg merge
1h 17m
Merged PRs (30d)
51

Description

Cross-Platform Difference Handling
Use impl.files configuration to handle platform differences:

{
    "impl": [
        {
            "files": ["t1.h", "t2.h"],
            "cond": {
                "os": ["macos", "linux"],
                "arch": ["arm64", "amd64"]
            }
        }
    ]
}

The generated t1.go & t2.go files will have platform-specific build tags at the beginning:
macos arm64 t1_macos_arm64.go t2_macos_arm64.go

// +build macos,arm64
package xxx

linux arm64 t1_linux_arm64.go t2_linux_arm64.go

// +build linux,arm64
package xxx

macos amd64 t1_macos_amd64.go t2_macos_amd64.go

// +build macos,amd64
package xxx

linux amd64 t1_linux_amd64.go t2_linux_amd64.go

// +build linux,amd64
package xxx

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository files, tests, or entry points are named. Start by tracing how impl.files configuration is parsed and how generated Go files are written, then verify that each listed OS and architecture produces the corresponding filename and build tag shown in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.