Comments (5)
BTW:
Needless to say, it takes quite some time
If you want to speed things up, be sure to use --skip-documentation --skip-nano-libraries
- this will be ~2x faster than the regular build (and also a bit smaller).
from bleeding-edge-toolchain.
Well, the script is done in a way that it first builds the "native" compiler, then tries to cross-compile one for Windows. I guess that the part which does the "native" build has some hard-coded stuff which is not working properly when you try to force it to actually do a cross-compilation. So maybe it would be easier if you would try to modify the part of the script which actually cross-compiles the toolchain for Windows, to just do it for RPi? This would require some more steps than just changing the prefix from the one used by MinGW-W64 to your RPi toolchain, but would be probably doable. There are some differences in the build procedure itself, which are Windows-specific - for example building of libiconv, two versions of gdb, extracting python for windows and so on...
Another approach would be to find the parts which are forcing the build to be "native", which I guess would be at least these:
buildGmp ${buildNative} "" "--build=${hostTriplet} --host=${hostTriplet}"
For a cross build you need to have them different, not the same, for example see this line for Windows:
buildGmp \
${buildFolder} \
${bannerPrefix} \
"--build=${hostTriplet} --host=${triplet}"
Anyway - forcing the "native" part to do the cross-compilation would be hard, at least because the cross-compiler for ARM really needs to be run on the build machine, to compile the target libraries. That's why it would probably be much easier to modify the part which cross-compiles for Windows to do it for RPi.
from bleeding-edge-toolchain.
Thanks for the tip, I'll try the windows->rpi path.
Anyway - forcing the "native" part to do the cross-compilation would be hard, at least because the cross-compiler for ARM really needs to be run on the build machine, to compile the target libraries.
Yeah - I spent some time today realizing what you meant, the hard way. ;)
Again, thanks! I'll give it a go. You may close this issue if you want to - I'll post my findings here if I come up with something useful.
from bleeding-edge-toolchain.
As you wish (; Let me know if you face some other problems or just ask if something is not clear!
from bleeding-edge-toolchain.
If you want to speed things up, be sure to use
--skip-documentation --skip-nano-libraries
- this will be ~2x faster than the regular build (and also a bit smaller).
Trimming gcc/config/arm/t-rmprofile also helps a lot.
from bleeding-edge-toolchain.
Related Issues (16)
- Why not Makefile based? HOT 6
- -flto -g fails HOT 6
- Dwarf Error: Could not find abbrev number HOT 6
- gdb TUI? HOT 13
- Building also Cortex-A and big-endian Cortex-R / Restart build HOT 40
- Windows file flags HOT 4
- runtime dll copy HOT 3
- Linking issues between Linux and Windows built binaries HOT 5
- Integration with CLion HOT 2
- Python, pushd error HOT 4
- GCC 12.2.0 / MacOS ARM64 HOT 10
- newlib semihosting HOT 2
- build errors on openSUSE Leap 42.2 HOT 5
- Docker HOT 8
- Request that downloads be verified, with GnuPG when available.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bleeding-edge-toolchain.