No, this is intentionally not supported by Android.bp. All Android.bp files are always loaded.
First, instead of changing variable.go / soong_config.mk, we do have extension points for user-defined plugins: https://android.googlesource.com/platform/build/soong/+/0fe7866897b177f2bf7ec934c5615a2b48e48a23 For what you're trying to do, we suggest compiling against one interface (HAL) and choosing one at runtime (you can have PRODUCT_PACKAGES & soong_namespaces only install one of the two. If you're unwilling to create a HAL, you could duplicate all of your build definitions inside soong_namespaces, so that you have one set of libraries/binaries defined for PLATFORM_SAMSUNG and another defined for PLATFORM_QCOM. That gets really messy, though you can clean a bunch of it up with defaults & filegroups. - Dan On Fri, Nov 30, 2018 at 4:43 PM wjjsun <[email protected]> wrote: > I want to conditional compile one Android.bp module conditionally! if > vendorA, use vendora.bp to compile, if vendorB, then use vendorb.bp to > compile! > > Say I: > > ----1. define a marco in BoardConfig.mk: > > TARGET_PLATFORM_VENDOR := vendorA or vendorB etc. > > ----2. Then I change variable.go: > > type variableProperties struct { > ... > Platform_vendor struct { > Cflags []string > } > ... > type productVariables struct { > Platform_vendor *string `json:",omitempty"` > > ----3. And I change soong_config.mk: > $(call add_json_str, Platform_vendor, > $(TARGET_PLATFORM_VENDOR)) > > ----4. Change Android.bp (I guess): > > cc_defaults { > name: "my-defaults", > defaults: [ > ], > > product_variables: { > platform_vendor: { > vendora: { > include vendorA.bp > cflags: ["-DPLATFORM_SAMSUNG"], > }, > vendorb: { > include vendorB.bp > cflags: ["-DPLATFORM_QCOM"], > } > } > } > } > > I just write fake code here to include vendor.bp here! How can I write > correct Android.bp to make it work? > > > -- > -- > You received this message because you are subscribed to the "Android > Building" mailing list. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/android-building?hl=en > > --- > You received this message because you are subscribed to the Google Groups > "Android Building" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- -- You received this message because you are subscribed to the "Android Building" mailing list. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-building?hl=en --- You received this message because you are subscribed to the Google Groups "Android Building" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
