Hi Dan, Thanks for your help. We will try this suggestion~
BRs, Feng Lin From: 'Dan Willemsen' via Android Building [mailto:android-building@googlegroups.com] Sent: Friday, May 03, 2019 1:34 PM To: Android Building <android-building@googlegroups.com> Cc: Tank Hung (洪鼎凱) <tank.h...@mediatek.com>; Brady Cheng <brady.ch...@mediatek.com>; Jeremy Wu <jeremy...@mediatek.com>; Elvis Chien (簡佑任) <elvis.ch...@mediatek.com> Subject: Re: [android-building] [Android Q] Question about new constraint for build system It's easy to use prebuilt tools from the source directory (or built tools) from your own rules that need them, either just refer to them by name, or you may be able to set up your own directory to be added to PATH inside a rule: https://android.googlesource.com/device/ti/beagle-x15/+/7001c965a5d6792c04fd94838161cd6116c605cf/uboot.mk#151 https://android.googlesource.com/device/ti/beagle-x15/+/7001c965a5d6792c04fd94838161cd6116c605cf/hostcc#<https://android.googlesource.com/device/ti/beagle-x15/+/7001c965a5d6792c04fd94838161cd6116c605cf/hostcc> We're not going to add an extension that allows modifying the environment of every build command -- that causes problems with the attempts to build common system images that aren't influenced by the device. The common build commands should not need anything except our standard tools -- if you've modified them, it should be easy enough to also add the dependency to the new tools as well. On tools: * We've deprecated GCC during Android builds, we recommend clang for compilation. * We do have prebuilts of `make` and some other common tools in prebuilts/build-tools/linux-x86/bin * ccache is not something that we provide anymore -- we've found it's generally better to use incremental builds, as ccache can slow down your builds with extra I/O, and incremental builds should have relatively few cache hits (unless you're sharing the ccache dir; which runs into even more I/O issues). * Perl is not something supported at Google, so we don't provide that either -- we do have built in support for python and the ability to use python packages from the source tree (or checked in as a prebuilt, when using embedded_launcher, it's a self-contained binary): https://ci.android.com/builds/submitted/5527387/linux/latest/python.html#python_binary_host - Dan On Thu, May 2, 2019 at 9:05 PM Niklaus Lin (林洲銓) <niklaus....@mediatek.com<mailto:niklaus....@mediatek.com>> wrote: Hi Android build team, This is Android team from Mediatek. We have a question that needs your advice and suggestion According to https://android.googlesource.com/platform/build/+/master/Changes.md#PATH_Tools<https://www.google.com/url?q=https://android.googlesource.com/platform/build/%2B/master/Changes.md%23PATH_Tools&sa=D&usg=AFQjCNEgF30xA0aFxiIvkb6lDKv0URcQxQ>, There is a new constraint for build system in order to ensure the build results are reproducible across different machines. Problem occurs when we try to combine our build flow with Android source code. When we compile our proprietary modules using ARM GNU toolchains or some unix tool, we meet compiling errors because of the constraint mentioned above. The error log shows ‘Disallowed PATH Tool “xxx” used …’ , and these tools are make, cache, perl,… , used by ARM GNU toolchains or shell command in build flow. We found that these tools were disallowed because they were fallen into Forbidden or Missing case, defined in build/soong/ui/build/paths/config.go the detail analysis can be referenced by attachment : 3rd tools error analysis.docx Is it possible Google create a customization mechanism for vendor to add the proprietary build tool in Android source? e.g. add a new path variable (/vendor/prebuilts/build-tools) to vendor folder then vendor can add vendor build tool in it. and these vendor build tool can be excepted in constraint rule. for this question, we also have some discussion in this buganizer issue. https://partnerissuetracker.corp.google.com/u/1/issues/123787813 BRs, Feng Lin ************* MEDIATEK Confidentiality Notice ******************** The information contained in this e-mail message (including any attachments) may be confidential, proprietary, privileged, or otherwise exempt from disclosure under applicable laws. It is intended to be conveyed only to the designated recipient(s). Any use, dissemination, distribution, printing, retaining or copying of this e-mail (including its attachments) by unintended recipient(s) is strictly prohibited and may be unlawful. If you are not an intended recipient of this e-mail, or believe that you have received this e-mail in error, please notify the sender immediately (by replying to this e-mail), delete any and all copies of this e-mail (including any attachments) from your system, and do not disclose the content of this e-mail to any other person. Thank you! -- -- You received this message because you are subscribed to the "Android Building" mailing list. To post to this group, send email to android-building@googlegroups.com<mailto:android-building@googlegroups.com> To unsubscribe from this group, send email to android-building+unsubscr...@googlegroups.com<mailto:android-building%2bunsubscr...@googlegroups.com> 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 android-building+unsubscr...@googlegroups.com<mailto:android-building+unsubscr...@googlegroups.com>. 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 android-building@googlegroups.com<mailto:android-building@googlegroups.com> To unsubscribe from this group, send email to android-building+unsubscr...@googlegroups.com<mailto:android-building+unsubscr...@googlegroups.com> 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 android-building+unsubscr...@googlegroups.com<mailto:android-building+unsubscr...@googlegroups.com>. 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 android-building@googlegroups.com To unsubscribe from this group, send email to android-building+unsubscr...@googlegroups.com 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 android-building+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.