Did you figure this out? The per compiler flags come from BaseTools/Conf/tools_def.template. When you do the edksetup.sh it gets copied to Conf/tools_def.ttxt and that is what the build uses. The rules to generate makefiles come from BaseTools/Conf/build_rule.template[2] and gets copied to Conf/build_rule.txt
You can override the generic compiler flags via a [BuildOptions] section in an INF [3] of DSC [4]. [1] https://github.com/tianocore/edk2/blob/master/BaseTools/Conf/tools_def.template [2] https://github.com/tianocore/edk2/blob/master/BaseTools/Conf/build_rule.template [3] https://github.com/tianocore/edk2/blob/master/UnitTestFrameworkPkg/Library/CmockaLib/CmockaLib.inf#L28 [4] https://github.com/tianocore/edk2/blob/master/OvmfPkg/OvmfPkgX64.dsc#L111 Thanks, Andrew Fish > On Jul 30, 2022, at 7:25 AM, Ayush Singh <ayushdevel1...@gmail.com> wrote: > > Hello everyone. There are some tests in Rust std that statically link to a C > static library to check ffi. Since if Rust is ever used in edk2, it would > probably have to integrate with the existing C code. Thus, I thought rather > than ignoring these tests, I wanted to make them work. > > What Rust cargo needs is a static C library (`.lib`) to link against. I was > not really able to find much about linking in UEFI applications. However, > from what I understand [1], edk2 already does do static link for C modules, > so it should technically be the same for Rust as well as long as a static > library can be generated from C code. I did look at the `build_rules` [2], > but I don't know where the flags are defined. I think following rules: > `C-Code-File` -> `Object-File` should technically create a static library, > but would it work with projects outside edk2? Also, it would be great if > someone can also help me with the flags that need to be supplied if it can. > > > > Yours Sincerely > > Ayush Singh > > > > [1]: > https://edk2-docs.gitbook.io/edk-ii-build-specification/9_build_or_make_stage/95_dynamic_link > > [2]: > https://github.com/tianocore/edk2/blob/e9150618ec91f79e70a1719ac8c198bee34a99be/BaseTools/Conf/build_rule.template > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#92256): https://edk2.groups.io/g/devel/message/92256 Mute This Topic: https://groups.io/mt/92710725/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-