WAF invokes ld with the flag -all_load. This flag is Darwin specific (see https://gcc.gnu.org/onlinedocs/gcc/Darwin-Options.html) and causes linker failure on Linux. The flag providing the behavior on Linux is --whole-archive (it's commented out in the libflipper wscript). The WAF book and API reference seem to mention no idiom for platform detection so it is unclear how to proceed. Some kludgey heuristic might be necessary.
This issue is high-priority, as flipper can't currently be built from source on Linux.
WAF invokes
ld
with the flag-all_load
. This flag is Darwin specific (see https://gcc.gnu.org/onlinedocs/gcc/Darwin-Options.html) and causes linker failure on Linux. The flag providing the behavior on Linux is--whole-archive
(it's commented out in the libflipper wscript). The WAF book and API reference seem to mention no idiom for platform detection so it is unclear how to proceed. Some kludgey heuristic might be necessary.This issue is high-priority, as flipper can't currently be built from source on Linux.