rust-lang / rust-lang/rfcs

Globally install custom target definition

Open
#2,217 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

T-cargo
Dominant language
Markdown
Stars
6.6k
Forks
1.7k
Avg merge
16h 14m
Merged PRs (30d)
1

Description

I'm currently working on making it possible to compile Rust code for the Nintendo Switch with a homebrew toolchain called libtransistor. As part of this work, I have made a custom target definition that, among other things, defines a link script that needs to run.

Using the toolchain is fairly simple : people need to download a forked rust source that contains some fixes for our target, and point xargo at it when compiling their code (to get libcore and liballoc, potentially libstd in the future). Target-specific functions are provided through a cargo dependency. The only problem is, people need to keep around the custom target definition and the associated linker script in every project they have, which is very cumbersome.

It'd be nice if we had a global place, e.g. ~/.cargo/custom-targets, where we could store both the target json and its associated files (like link scripts).

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

Start by examining how custom target definitions and associated linker scripts are currently supplied to xargo, using the issue's ~/.cargo/custom-targets proposal as the desired entry point. Done means a global location can provide the target JSON and related files without keeping copies in every project.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.