blob: 105af9f4852e3326a036e9ae2f89a73dfdbd3b25 [file] [log] [blame]
Dan Willemsen0043c0e2016-09-18 20:27:41 -07001#!/bin/bash -eu
2#
3# Copyright 2017 Google Inc. All rights reserved.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17# To track how long we took to startup. %N isn't supported on Darwin, but
Dan Willemsen0df15172017-05-07 11:23:59 -070018# that's detected in the Go code, which skips calculating the startup time.
Dan Willemsen0043c0e2016-09-18 20:27:41 -070019export TRACE_BEGIN_SOONG=$(date +%s%N)
20
21# Function to find top of the source tree (if $TOP isn't set) by walking up the
22# tree.
23function gettop
24{
25 local TOPFILE=build/soong/root.bp
26 if [ -z "${TOP-}" -a -f "${TOP-}/${TOPFILE}" ] ; then
27 # The following circumlocution ensures we remove symlinks from TOP.
28 (cd $TOP; PWD= /bin/pwd)
29 else
30 if [ -f $TOPFILE ] ; then
31 # The following circumlocution (repeated below as well) ensures
32 # that we record the true directory name and not one that is
33 # faked up with symlink names.
34 PWD= /bin/pwd
35 else
36 local HERE=$PWD
37 T=
38 while [ \( ! \( -f $TOPFILE \) \) -a \( $PWD != "/" \) ]; do
39 \cd ..
40 T=`PWD= /bin/pwd -P`
41 done
42 \cd $HERE
43 if [ -f "$T/$TOPFILE" ]; then
44 echo $T
45 fi
46 fi
47 fi
48}
49
Dan Willemsen0043c0e2016-09-18 20:27:41 -070050export TOP=$(gettop)
Dan Willemsen0df15172017-05-07 11:23:59 -070051source build/soong/cmd/microfactory/microfactory.bash
Dan Willemsen0043c0e2016-09-18 20:27:41 -070052
Dan Willemsen0df15172017-05-07 11:23:59 -070053build_go soong_ui android/soong/cmd/soong_ui
54exec "$(getoutdir)/soong_ui" "$@"