is there any way to affect the il2cpp invocation when building a project? In this particular case it would be for Android but the question probably applies to all players supporting the il2cpp backend.
I basically want to add additional compiler and linker flags:
me@machine /A/U/U/C/i/build> mono ./il2cpp.exe
Options:
...
--compiler-flags=<value> Additional flags to pass to the C++ compiler
--linker-flags=<value> Additional flags to pass to the linker
I was hoping for just a setting somewhere but couldn’t find anything. Maybe something with the Scriptable Build Pipeline? I can find several answers on how to add flags to a generated Xcode project but in the Android case it seems that even if you export to a Gradle project to build in e.g. Android Studio the export contains compiled version of the il2cpp generated code and not ndk scripts to build them over again.
We do have a “backdoor” (i.e. not documented) ability to pass additional arguments to il2cpp.exe. You can either run the Unity editor with an environment variable set: IL2CPP_ADDITIONAL_ARGS or you can use an editor script to call PlayerSettings.SetAdditionalIl2CppArgs. Either option will allow you to pass the command line options you have mentioned.
We don’t test with all of possible compiler and linker arguments available, so your mileage may vary, but this should work.