mason
mason copied to clipboard
Requirements for mason_compile for iOS builds
For creating iOS universal binaries, mason.sh
requires some things from the script.sh
's mason_compile
that aren't obvious:
-
mason_compile
(or the commands it delegates to) must place static archives in${MASON_PREFIX}/lib
. -
mason_compile
(or the commands it delegates to) must use theCFLAGS
environment variable (even if also usingCXXFLAGS
). -
mason_compile
(or the commands it delegates to) must support being called multiple times, and must do a clean rebuild when called withCFLAGS
different from the previous call. In particular ifmason_compile
delegates tomake
commands, they need to have way of ensuring a rebuild outside of normal file modification times.
This ticket is to discuss if there is some way to reduce this coupling between mason.sh
and mason_compile
, or where/how this should be documented if not.
cc @kkaefer @springmeyer
I'm not seeing a way that would be easier, given that we need to integrate with other build systems that we don't have any control over.