15815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# Copyright (C) 2009 The Android Open Source Project
25815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner#
35815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# Licensed under the Apache License, Version 2.0 (the "License");
45815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# you may not use this file except in compliance with the License.
55815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# You may obtain a copy of the License at
65815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner#
75815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner#      http://www.apache.org/licenses/LICENSE-2.0
85815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner#
95815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# Unless required by applicable law or agreed to in writing, software
105815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# distributed under the License is distributed on an "AS IS" BASIS,
115815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
125815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# See the License for the specific language governing permissions and
135815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# limitations under the License.
145815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner#
155815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# A nawk/gawk script used to extract the application's platform name from
1696f29ea31bbcdffad4e4ce29f854f40dec008a72David 'Digit' Turner# its project.properties file. It is called from build/core/add-application.mk
175815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner#
185815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner
195815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# we look for a line that looks like one of:
205815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner#    target=android-<api>
215815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner#    target=<vendor>:<name>:<api>
225815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner#
235815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# <api> is a number, but can also be "Donut" for the first form,
245815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner# as a special case.
255815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner#
265815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' TurnerBEGIN {
275815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner    android_regex="android-[0-9A-Za-z_-]+"
285815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner    vendor_regex=":[0-9]+\\s*$"
295815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner    API=unknown
305815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner}
315815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner
325815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner/^target\s*=\s*.*/ {
335815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner    if (match($0,android_regex)) {
345815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner        API=substr($0,RSTART,RLENGTH)
355815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner    }
365815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner    else if (match($0,vendor_regex)) {
375815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner        API="android-" substr($0,RSTART+1,RLENGTH)
385815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner    }
395815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner}
405815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner
415815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' TurnerEND {
425815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner    printf("%s", API)
435815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33fDavid 'Digit' Turner}
44