Auxolotl Laboratories, a home for all our mad science experiments
Find a file
Ross Smyth be0d6bc0e1 refactor: remove target (#31)
WIP. Posting just to make sure people know this is something I'd like to do.

Context: https://matrix.to/#/!PvnunzXUk4Vm1CmKS4:auxolotl.org/$bOm6iaBpWbo-KRJgo7FUZdeFIv9StzRHxklbx7OQ23g?via=auxolotl.org&via=matrix.org&via=catgirl.cloud

Reasons:

1. Why should GCC inflict complication upon all of tidepool just because of its own architectural deficiencies?
2. Most other compilers are multi-target so it doesn't matter
2. Target is useless for 99.9% of packages and only leads to user confusion, especially since many compilers also call what would be host here "target".
3. Canadian-cross is not very well supported. GCC barely supports it, and is broken in many cases. Nixpkgs does not support it (regardless of what its API may imply) and no one has ever complained.

Plan:

1. Remove most target related things. No reason to have it.
2. Add configuration parameter on GCC that selects its target

What does this mean:

This basically moves target to be a GCC-specific artifact rather than an official parameter every package must endure the cognitive load of. This is because it is.  Nixpkgs plans on dumping target in the future as well because of this. Or at least making it an alias.

If you want to create a compiler with a different target, then override GCC to do so. No need to pervade all of tidepool just for GCC.

Co-authored-by: Victor Fuentes <vlinkz@snowflakeos.org>
Reviewed-on: #31
Reviewed-by: vlinkz <vlinkz@snowflakeos.org>
Co-authored-by: Ross Smyth <snix@treefroog.com>
Co-committed-by: Ross Smyth <snix@treefroog.com>
2025-10-07 03:46:52 +00:00
tidepool refactor: remove target (#31) 2025-10-07 03:46:52 +00:00
.editorconfig feat: passthrough foundation 2025-08-25 01:37:11 -07:00
.gitignore feat: passthrough foundation 2025-08-25 01:37:11 -07:00
format.sh refactor: format 2024-07-09 01:49:44 -07:00
LICENSE chore: initial commit 2024-06-01 04:00:53 -07:00
README.md chore: upgrade tidepool to iteration phase 2025-09-10 08:53:32 -07:00

Aux Labs

Welcome to Aux Labs! Complimentary beakers and companion cubes are available in the gift shop.

The Aux Laboratory is a place for experimentation. Here you will find novel solutions for problems in the Aux world. These experiments are not intended to be used by anyone yet due to their highly unstable nature. However, we have decided to publish them here together so that members of the community may collaborate.

Note

This repository is a part of Aux's early ad-hoc structure. In the future we will be moving to a standardized Aux Enhancement Proposal (AEP) format.

Experiment Phases

Phase Description
Idea An idea exists to solve a problem we currently have with Aux. Send a pull request to this repository creating a new directory for your experiment. The directory should contain a README.md file explaining the purpose of the experiment.
Iteration Work on the experiment is done to solve for unknowns and come up with a good solution for the original problem. It may also be helpful to collaborate with others for feedback.
Proposal The experiment has been satisfactorily completed and is ready to be considered for official adoption by the project. Discussion with the relevant Special Interest Group should take place to handle the transition of the project out of the lab and into its own repository.
Adoption The experiment has been adopted and is now a part of Aux! The experiment should be moved to its own repository and the original experiment directory should be deleted.

Experiments

Name Phase Description
Aux Tidepool Iteration An initial package set built on top of Aux Foundation using Aux Lib's module system.