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.

Reply via email to