From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hartmut Goebel Subject: Re: Android build-tools / prebuild / soong Date: Wed, 18 Oct 2017 10:33:17 +0200 Message-ID: <7a50fe28-2c4b-74ad-77b1-095ffa5b0235@crazy-compilers.com> References: <87h8ux5gj0.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="------------EB5F1565BDDC20FFD57DB375" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56554) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e4jn8-0000H0-U4 for guix-devel@gnu.org; Wed, 18 Oct 2017 04:33:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e4jn2-0003GG-Nc for guix-devel@gnu.org; Wed, 18 Oct 2017 04:33:30 -0400 Received: from mail-out.m-online.net ([212.18.0.9]:55641) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1e4jn2-0003E7-DV for guix-devel@gnu.org; Wed, 18 Oct 2017 04:33:24 -0400 In-Reply-To: <87h8ux5gj0.fsf@gmail.com> Content-Language: en-US List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Maxim Cournoyer Cc: guix-devel This is a multi-part message in MIME format. --------------EB5F1565BDDC20FFD57DB375 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Am 18.10.2017 um 04:36 schrieb Maxim Cournoyer: > It seems that Soong is not meant to work with those .mk files though; > its page talks about newer JSON-like "Android.bp" files that supersede > the older make-based Android.mk files[1]. The documentation is terrible, it totally unclear whether .bp or .mk files are used. Maybe .bp file are transistional files only. Who knows? For platform/system/core [1] there is a .bp file (and a .mk file), but for e.g. fastboot (which is part of system/core) [2] there is only a .mk file, while for soong there is a .bp file again [3] Interesting (just discovered): After running "repo sync" the directory .repo/projects/build contains blueprint.git, kati.git, make.git and soong.git. So I assume there are the tools to start with. * kati =E2=80=93 https://android.googlesource.com/platform/build/kati based on Makefile (two others will be ncluded), implemented in C and = Go .travis.yml available, is building the C implementation build seems to require ninja (according to travis.yml), but makefile does not use it tests require ruby .rravix.yml seems to run more tests than test-target * blueprint =E2=80=93 https://android.googlesource.com/platform/build/b= lueprint .travis.yml available build seems to require ninja and go (according to travis.yml) * make =E2=80=93 https://android.googlesource.com/platform/build Seems to include a lot if Makefiles to be included by Makefiles. There is a README. Scanning ofer this I assume, that this is the "meta-make" for building the android platform (commands m, mm, mmm). * soong =E2=80=93 https://android.googlesource.com/platform/build/soong= / [1] https://android.googlesource.com/platform/system/core/+/android-cts-8.0_r= 2 [2] https://android.googlesource.com/platform/system/core/+/android-cts-8.0_r= 2/fastboot/ [3] https://android.googlesource.com/platform/build/soong/+/android-cts-8.0_r= 2 --=20 Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible | --------------EB5F1565BDDC20FFD57DB375 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Am 18.10.2017 um 04:36 schrieb Maxim Cournoyer:
It seems that Soong is not meant to work with those =
.mk files though;
its page talks about newer JSON-like "Android.bp" files that supersede
the older make-based Android.mk files[1].

The documentation is terrible, it totally unclear whether .bp or .mk files are used. Maybe .bp file are transistional files only. Who knows?

For platform/system/core [1] there is a .bp file (and a .mk file), but for e.g. fastboot (which is part of system/core) [2] there is only a .mk file, while for soong there is a .bp file again [3]

Interesting (just discovered):

After running "repo sync" the directory .repo/projects/build contains blueprint.git, kati.git, make.git and soong.git. So I assume there are the tools to start with.

based on Makefile (two others will be ncluded), implemented in C and Go
.travis.yml available, is building the C implementation
build seems to require ninja (according to travis.yml), but makefile does not use it
tests require ruby
.rravix.yml seems to run more tests than test-target

.travis.yml available
build seems to require ninja and go (according to travis.yml)
Seems to include a lot if Makefiles to be included by Makefiles. There is a README. Scanning ofer this I assume, that this is the "meta-make" for building the android platform (commands m, mm, mmm).

[1] https://android.googlesourc= e.com/platform/system/core/+/android-cts-8.0_r2
[2] https://android.g= ooglesource.com/platform/system/core/+/android-cts-8.0_r2/fastboot/ [3] https://android.googlesourc= e.com/platform/build/soong/+/android-cts-8.0_r2


--=20
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com   =
            |
| www.crazy-compilers.com | compilers which you thought are impo=
ssible |
--------------EB5F1565BDDC20FFD57DB375--