-
-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
toolchain-atmelavr source code and build scripts? #324
Comments
Hi @mid-kid,
We use binaries provided by the Arduino IDE, for example: https://github.com/arduino/Arduino/blob/master/hardware/package_index_bundled.json#L74-L116
You can find the used option if you run
It's GCC 7.3.0 with some additional patches, you can find sources here https://github.com/arduino/toolchain-avr |
Thanks! That answers most of my Qs. Is that the json file being used as a definition, or are the package definitions for platformio hosted elsewhere? |
Package definitions are specified in this file https://github.com/platformio/platform-atmelavr/blob/develop/platform.json, the packages are hosted on the PlatformIO Package Registry and delivered through our CDN network. |
I see the |
PlatformIO Core handles all these things automatically. When you build a project for the first time, PlatformIO Core pulls dependencies from the PlatformIO Registry and validates checksum for each downloaded package. See https://github.com/platformio/platformio-core/blob/develop/platformio/package/download.py#L122 |
Yeah, I'm just trying to understand the "repository" structure and how it decides to download what from where. Mostly out of personal interest, but also because I'm wary of package managers downloading random binaries from the internet. |
PlatformIO Core is an OSS project. You learn more about PlatformIO Package Manager from its sources https://github.com/platformio/platformio-core/tree/develop/platformio/package/manager The core logic is based on get_systype(). Having information about host architecture, PlatormIO Core goes to the PlatformIO Registry and looks for the best package corresponding to the https://semver.org/ |
I see, it's querying https://api.registry.platformio.org/v3/packages/platformio/tool/toolchain-atmelavr for all the information, including download URL (from dl.registry.platformio.org) and checksum. Is the data obtained from api.registry.platformio.org hosted in a git somewhere, or is it entered into a live database? Is the backend published anywhere? |
Hi, I'm also having trouble understanding how this works. |
It's generic GCC 7.3.0 with some additional patches, you can find sources here https://github.com/arduino/toolchain-avr |
How are they packaged for platformio? |
We use compiled packages provided by Arduino IDE from their manifest. |
Hi, I'm trying to figure out a few details about the toolchain-atmelavr package:
The text was updated successfully, but these errors were encountered: