Discussion: strategy to implement open-ended cross compiling with Projucer

This is mostly aimed towards Roli and their thoughts. I’m looking to play around with existing hardware that I have at hand, most of it on the secretive end of things or closed-source end of things - stuff I’d love to get JUCE running on for quick, whip it together proofs of concept.

The biggest hurdle right now is cross-compiling with JUCE: a way to approach this from a generic GCC/clang compiler perspective would be needed, where I can control specifying the toolchain bins and stuff like a sysroot, any system includes, LDFLAGS, and so on. Obviously this can be done via manually via make or cmake, as proven by even just quick Google-fu, but it’s super tedious.

I’m open to tinkering with Projucer myself to implement this, but it would be cool to get official support for this (assuming that’s something of interest). What approach would you take?

There are other complexities to note, like controlling which files can be compiled for the system, filling in custom files for the system (eg: rendering stuff), and so on.


I’ve decided to take this on as a side-project by extending the Projucer to create a more uniform Makefile where you can easily override toolchain properties.

This will greatly help any porting ventures of mine to some insane platforms, like Broadcom, PACE and Technicolor systems, smart TVs (eg: WebOS 3 and WebOS 4), and even game consoles like PS3 and PS4.

The biggest hurdle here is getting JUCE to cooperate properly with MIPS32/64, which seemingly hasn’t been done (no demand I guess?).

1 Like