#!/bin/bash
#
# Copyright 2015 Google Inc. All rights reserved
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# A wrapper for kati which generates build.ninja mainly for Android.
#

set -e

kati_dir=$(cd $(dirname $0) && pwd)

if [ x"$1" == x--help ]; then
      cat - <<EOF
Usage:
  m2n         # for full-build
  m2n --goma  # use goma. \$HOME/goma must exist
  m2n bionic  # works like mmm
EOF
      exit 1
fi
kati=${kati_dir}/kati
${kati} --m2n "$@"

echo ninja.sh and build.ninja were generated, please run ./ninja.sh
