Imported Upstream version 0.19.7
[platform/upstream/gettext.git] / gettext-tools / src / project-id
1 #!/bin/sh
2 # Prints a package's identification PACKAGE VERSION or PACKAGE.
3 #
4 # Copyright (C) 2001-2003, 2005, 2015 Free Software Foundation, Inc.
5 #
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
19 want_version="$1"
20
21 # NLS nuisances: Letter ranges are different in the Estonian locale.
22 LC_ALL=C
23
24 while true; do
25   if test -f configure; then
26     package=`(grep '^PACKAGE_NAME=' configure; grep '^ *PACKAGE=' configure) | grep -v '=[      ]*$' | sed -e '1q' | sed -e 's/^[^=]*=//' | sed -e "s/^'//" -e "s/'$//"`
27     case "$package" in
28       *[\"\$\`\{\}]*)
29         # Some packages (gcal) retrieve the package name dynamically.
30         package=
31         ;;
32     esac
33     if test -n "$package"; then
34       is_gnu=`LC_ALL=C grep "GNU $package" * 2>/dev/null | grep -v '^libtool:'`
35       if test -n "$is_gnu"; then
36         package="GNU $package"
37       fi
38       if test -n "$want_version"; then
39         version=`(grep '^PACKAGE_VERSION=' configure; grep '^ *VERSION=' configure) | grep -v '=[       ]*$' | sed -e '1q' | sed -e 's/^[^=]*=//' | sed -e "s/^'//" -e "s/'$//"`
40         case "$version" in
41           *[\"\$\`\{\}]*)
42             # Some packages (gcal, gcc, clisp) retrieve the version dynamically.
43             version=
44             ;;
45         esac
46         if test -n "$version"; then
47           echo "$package $version"
48         else
49           echo "$package"
50         fi
51       else
52         echo "$package"
53       fi
54       exit 0
55     fi
56   fi
57   dir=`basename "\`pwd\`"`
58   case "$dir" in
59     i18n)
60       # This directory name, used in GNU make, is not the top level directory.
61       ;;
62     *[A-Za-z]*[0-9]*)
63       package=`echo "$dir" | sed -e 's/^\([^0-9]*\)[0-9].*$/\1/' -e 's/[-_]$//'`
64       if test -n "$want_version"; then
65         version=`echo "$dir" | sed -e 's/^[^0-9]*\([0-9].*\)$/\1/'`
66         echo "$package $version"
67       else
68         echo "$package"
69       fi
70       exit 0
71       ;;
72   esac
73   # Go to parent directory
74   last=`/bin/pwd`
75   cd ..
76   curr=`/bin/pwd`
77   if test "$last" = "$curr"; then
78     # Oops, didn't find the package name.
79     if test -n "$want_version"; then
80       echo "PACKAGE VERSION"
81     else
82       echo "PACKAGE"
83     fi
84     exit 0
85   fi
86 done