And you need to be in the product_variables map:
product_variables: {
ext_avd: {
srcs: [...],
},
},
- Dan
On Tue, May 23, 2017 at 11:07 AM Colin Cross <[email protected]> wrote:
> The property in the Android.bp file should be "ext_avd", not
> "Ext_avd". The required capitalization in the go files is an
> unfortunate consequence of reflection requiring exported go fields.
>
> On Tue, May 23, 2017 at 12:29 AM, Jeffrey An <[email protected]> wrote:
> > Hi,
> >
> > Thanks for the answer! I understand the purpose of the soong build
> system.
> >
> > As you said, for local experimentation, I've tried like below,
> > build/soong
> >
> > diff --git a/android/variable.go b/android/variable.go
> > old mode 100644
> > new mode 100755
> > index 163113e..475cee0
> > --- a/android/variable.go
> > +++ b/android/variable.go
> > @@ -75,6 +75,10 @@ type variableProperties struct {
> > Cppflags []string
> > }
> > } `android:"arch_variant"`
> > +
> > + Ext_avd struct {
> > + Srcs []string
> > + }
> > }
> >
> > var zeroProductVariables variableProperties
> > @@ -136,6 +140,8 @@ type productVariables struct {
> > ArtUseReadBarrier *bool `json:",omitempty"`
> >
> > BtConfigIncludeDir *string `json:",omitempty"`
> > +
> > + Ext_avd *string `json:",omitempty"`
> > }
> >
> > build/make
> > diff --git a/core/soong_config.mk b/core/soong_config.mk
> > old mode 100644
> > new mode 100755
> > index 576c8ab..cf08a8b
> > --- a/core/soong_config.mk
> > +++ b/core/soong_config.mk
> > @@ -69,6 +69,7 @@ $(SOONG_VARIABLES): FORCE
> > echo ''; \
> > echo ' "ArtUseReadBarrier": $(if $(filter
> > false,$(PRODUCT_ART_USE_READ_BARRIER)),false,true),'; \
> > echo ''; \
> > + echo ' "Ext_avd": "$(BOARD_HAVE_EXT_AVDT)",'; \
> > echo ' "BtConfigIncludeDir":
> > "$(BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR)"'; \
> > echo '}') > $(SOONG_VARIABLES_TMP); \
> > if ! cmp -s $(SOONG_VARIABLES_TMP) $(SOONG_VARIABLES); then \
> >
> > device/huawei/angler
> > diff --git a/BoardConfig.mk b/BoardConfig.mk
> > old mode 100644
> > new mode 100755
> > index 141d0a4..2e24d88
> > --- a/BoardConfig.mk
> > +++ b/BoardConfig.mk
> > @@ -45,6 +45,7 @@ BOARD_USES_ALSA_AUDIO := true
> > BOARD_HAVE_BLUETOOTH := true
> > BOARD_HAVE_BLUETOOTH_BCM := true
> > BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR :=
> > device/huawei/angler/bluetooth
> > +BOARD_HAVE_EXT_AVDT := true
> >
> > BOARD_USES_SECURE_SERVICES := true
> >
> > system/bt
> > diff --git a/stack/Android.bp b/stack/Android.bp
> > old mode 100644
> > new mode 100755
> > index 58c8fe9..82cf586
> > --- a/stack/Android.bp
> > +++ b/stack/Android.bp
> > @@ -179,7 +179,10 @@ cc_library_static {
> > required: [
> > "libldacBT_enc",
> > "libldacBT_abr",
> > - ]
> > + ],
> > + Ext_avd: {
> > + srcs: ["avdt/avdt_ext.cc"],
> > + },
> > }
> >
> > And tried to build but got error.
> > [2/2] bootstrap out/soong/.minibootstrap/build.ninja.in
> > [1/1] out/soong/.bootstrap/bin/minibp out/soong/.bootstrap/build.ninja
> > [1/2] glob device/*/*/Android.bp
> > [1/2] soong_build docs out/soong/.bootstrap/docs/soong_build.html
> > FAILED: out/soong/.bootstrap/docs/soong_build.html
> > out/soong/.bootstrap/bin/soong_build -t -b out/soong --docs
> > out/soong/.bootstrap/docs/soong_build.html ./Android.bp
> > error: system/bt/stack/Android.bp:183:12: unrecognized property "Ext_avd"
> > [2/2] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
> > FAILED: out/soong/build.ninja
> > out/soong/.bootstrap/bin/soong_build -t -b out/soong -d
> > out/soong/build.ninja.d -o out/soong/build.ninja Android.bp
> > error: system/bt/stack/Android.bp:183:12: unrecognized property "Ext_avd"
> > ninja: build stopped: subcommand failed.
> > 16:25:21 soong bootstrap failed with: exit status 1
> > make: *** [run_soong_ui] Error 1
> > make: Leaving directory `/home/jeffrey/work/google/pdk'
> >
> > #### make failed to build some targets (1 seconds) ####
> >
> >
> > Could you give me more advice here?
> >
> > Thanks,
> >
> >
> > 2017년 5월 23일 화요일 오전 5시 13분 12초 UTC+9, Colin Cross 님의 말:
> >>
> >> One of our goals for build health is to reduce the number of different
> >> ways we build modules. Adding too many build flags makes it harder to
> >> tell if a change will break the build, and hard to run tests. We
> >> would much rather compiling everything the same on all devices, and
> >> then determine which parts to use at runtime.
> >>
> >> For local experimentation, you can add flags with:
> >> 1. Add: Ext_avd struct { Srcs []string } to varaibleProperties in
> >> build/soong/android/variable.go
> >> 2. Add: Ext_avd *bool `json:",omitempty"` to productVariables in the
> same
> >> file
> >> 3. Modify build/make/core/soong_config.mk to pass BOARD_HAVE_EXT_AVDT
> to
> >> soong.
> >>
> >> On Tue, May 16, 2017 at 11:12 PM, Jeffrey An <[email protected]>
> wrote:
> >> > Hi,
> >> >
> >> >
> >> >
> >> > I have been studying android-o-preview-1 especially Soong and Go build
> >> > system.
> >> >
> >> >
> >> >
> >> > I’d like to add new feature to Bluetooth stack and attachment is one
> way
> >> > to
> >> > do it.
> >> >
> >> > In the attachment, I can use #ifdef EXT_AVDT in the cc source file.
> >> >
> >> > As you can see in the attachment, BOARD_HAVE_EXT_AVDT := true in the
> >> > BoardConfig.mk will enable EXT_AVDT in the system/bt stack.
> >> >
> >> > And Soong will always compile avdt_ext_avdt.cc file even if
> >> > BOARD_HAVE_EXT_AVDT is not true in the BoardConfig.mk
> >> >
> >> >
> >> >
> >> > I’d like to know another way that avdt_ext_avdt.cc file would not be
> >> > compiled without BOARD_HAVE_EXT_AVDT
> >> >
> >> >
> >> >
> >> > In the readme file in the Soong, you said
> >> >
> >> > ```
> >> >
> >> > cc_library {
> >> >
> >> > ...
> >> >
> >> > srcs: ["generic.cpp"],
> >> >
> >> > arch: {
> >> >
> >> > arm: {
> >> >
> >> > srcs: ["arm.cpp"],
> >> >
> >> > },
> >> >
> >> > x86: {
> >> >
> >> > srcs: ["x86.cpp"],
> >> >
> >> > },
> >> >
> >> > },
> >> >
> >> > }
> >> >
> >> > ```
> >> >
> >> >
> >> >
> >> > I tried to find example about it but I couldn’t find it.
> >> >
> >> >
> >> >
> >> > I want to change system/bt/stack/Android.bp like below
> >> >
> >> > …
> >> >
> >> > "smp/smp_utils.cc",
> >> >
> >> > "srvc/srvc_battery.cc",
> >> >
> >> > "srvc/srvc_dis.cc",
> >> >
> >> > "srvc/srvc_eng.cc",
> >> >
> >> > ],
> >> >
> >> > static_libs: [
> >> >
> >> > "libbt-hci",
> >> >
> >> > "libFraunhoferAAC",
> >> >
> >> > ],
> >> >
> >> > shared_libs: [
> >> >
> >> > "libcutils",
> >> >
> >> > "liblog",
> >> >
> >> > ],
> >> >
> >> > required: [
> >> >
> >> > "libldacBT_enc",
> >> >
> >> > ],
> >> >
> >> > ext-avdt: {
> >> >
> >> > srcs: ["avdt/avdt_ext_avdt.cc "],
> >> >
> >> > }
> >> >
> >> > }
> >> >
> >> > And avdt_ext_avdt.cc file will be compiled when BoardConfig.mk file
> has
> >> > BOARD_HAVE_EXT_AVDT := true
> >> >
> >> >
> >> >
> >> > Could anyone guide me how to do it?
> >> >
> >> >
> >> > --
> >> > --
> >> > 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.
>
> --
> --
> 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.