From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Cournoyer Subject: Re: Android build-tools / prebuild / soong Date: Tue, 17 Oct 2017 22:36:03 -0400 Message-ID: <87h8ux5gj0.fsf@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56804) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e4eDJ-0005GN-Sr for guix-devel@gnu.org; Tue, 17 Oct 2017 22:36:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e4eDF-0004S5-RG for guix-devel@gnu.org; Tue, 17 Oct 2017 22:36:09 -0400 Received: from mail-it0-x233.google.com ([2607:f8b0:4001:c0b::233]:50135) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e4eDF-0004Rs-Lm for guix-devel@gnu.org; Tue, 17 Oct 2017 22:36:05 -0400 Received: by mail-it0-x233.google.com with SMTP id y15so4912911ita.4 for ; Tue, 17 Oct 2017 19:36:05 -0700 (PDT) In-Reply-To: (Hartmut Goebel's message of "Mon, 16 Oct 2017 20:39:27 +0200") 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: Hartmut Goebel Cc: guix-devel Hello Hartmut! Hartmut Goebel writes: > Hi, > > maybe somebody want to work in this puzzle :-) > > Last week I played around upgrading the android libs and tools to the > current release 8.0.0_r17, when I realized that the build-system has > switched from a Makefile-base to one based on "Android.mk" files. These > are meant to be processed by a tool called "soong" (with two `o`). > > soong is based on "ninja" an "Blueprint". There are no > build-instructions and no usage examples. So I asked on the > android-building mailinglist how to build and use soong stand-alone. I > got the answer that this is not indented but to be build like this > (fixed by my): > > guix environment --ad-hoc repo > repo init -u https://android.googlesource.com/platform/manifest -b > build-tools > repo sync -j32 > mkdir OUT > OUT_DIR=OUT prebuilts/build-tools/build-prebuilts.sh > > So the script in the last line is the key. It looks acceptable, but I > have no clue about how go programs are build normally. So for me solving > this puzzle is quite time-consuming and I may not be able to work on it > for quite some time. Anybody to take over? Interesting findings! I took a look at those Android.mk files when I studied our package of adb (in which we are currently using our own independent makefile instead of the Android.mk), but couldn't make sense of them. 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]. It would be nice to have an Android build system which could take those already made makefiles and build the packages with them; it would remove the burden of maintaining our own set and enable packaging more Android stuff (I have fastboot on my todo). [1] https://android.googlesource.com/platform/build/soong/