Add to Gambit REPL some functions to send SMS and take pictures (this functionnality...
[gambit-c.git] / prebuilt / macosx / uninstall-gambc.in
blob04aed33e6fb8087f093684f994f1966a7c58f95b
1 #! /bin/sh
3 # Copyright (c) 1994-2009 by Marc Feeley, All Rights Reserved.
5 PROGRAMS="@PROGRAMS@"
6 LIBRARIES="@LIBRARIES@"
7 INCLUDES="@INCLUDES@"
9 BIN_DIR="@BIN_DIR@"
10 LIB_DIR="@LIB_DIR@"
11 INCLUDE_DIR="@INCLUDE_DIR@"
13 INSTALL_DIR="@INSTALL_DIR@"
14 GAMBC_BIN_DIR="$INSTALL_DIR/current/bin"
15 GAMBC_LIB_DIR="$INSTALL_DIR/current/lib"
16 GAMBC_INCLUDE_DIR="$INSTALL_DIR/current/include"
18 PACKAGE_NAME="@PACKAGE_NAME@"
20 if [ "`id -un`" != "root" ] ; then
21 echo "You must execute this script as root!"
22 echo "Try executing the command:"
23 echo " sudo $0"
24 exit 1
27 split_version() # version, sets `$ver1', `$ver2', and `$ver3'
29 ver1="`echo \"$1\" | sed -e 's&^v\([0-9][0-9]*\).\([0-9][0-9]*\).\([0-9][0-9]*\)$&\1&g'`"
30 ver2="`echo \"$1\" | sed -e 's&^v\([0-9][0-9]*\).\([0-9][0-9]*\).\([0-9][0-9]*\)$&\2&g'`"
31 ver3="`echo \"$1\" | sed -e 's&^v\([0-9][0-9]*\).\([0-9][0-9]*\).\([0-9][0-9]*\)$&\3&g'`"
34 compare_versions() # version_a, version_b, sets `$result' to -1, 0, or 1
36 split_version "$2"
37 b_ver1="$ver1"
38 b_ver2="$ver2"
39 b_ver3="$ver3"
41 split_version "$1"
43 if [ "$ver1" -lt "$b_ver1" ] ; then
44 result=-1
45 else
46 if [ "$ver1" -gt "$b_ver1" ] ; then
47 result=1
48 else
49 if [ "$ver2" -lt "$b_ver2" ] ; then
50 result=-1
51 else
52 if [ "$ver2" -gt "$b_ver2" ] ; then
53 result=1
54 else
55 if [ "$ver3" -lt "$b_ver3" ] ; then
56 result=-1
57 else
58 if [ "$ver3" -gt "$b_ver3" ] ; then
59 result=1
60 else
61 result=0
70 max_version() # versions, sets $max_vers
72 max_vers=""
73 for vers in $1 ; do
74 if [ "$max_vers" == "" ] ; then
75 max_vers="$vers"
76 else
77 compare_versions "$vers" "$max_vers"
78 if [ "$result" == "1" ] ; then
79 max_vers="$vers"
82 done
85 get_versions() # dir
87 versions="`ls -a "$1" | read_versions`"
90 read_versions()
92 versions=""
93 while read file ; do
94 split_version "$file"
95 if [ "$ver1" != "$file" ] ; then
96 versions="$versions $file"
98 done
99 echo "$versions"
102 remove_all()
104 echo "Removing directory $INSTALL_DIR and all Gambit programs in $BIN_DIR, $LIB_DIR and $INCLUDE_DIR."
106 rm -rf "$INSTALL_DIR"
108 for f in $PROGRAMS ; do
109 rm -f "$BIN_DIR/$f"
110 done
112 for f in $LIBRARIES ; do
113 rm -f "$LIB_DIR/$f"
114 done
116 for f in $INCLUDES ; do
117 rm -f "$INCLUDE_DIR/$f"
118 done
121 if [ ! -d "$INSTALL_DIR" ] ; then
123 echo "$PACKAGE_NAME is not installed on this computer ($INSTALL_DIR does not exist)"
125 else
127 get_versions "$INSTALL_DIR"
129 if [ "$versions" == "" ] ; then
131 echo "No version of $PACKAGE_NAME are installed"
133 remove_all
135 else
137 if [ -L "$INSTALL_DIR/current" ] ; then
138 current=`readlink "$INSTALL_DIR/current"`
139 current_version="`basename \"$current\"`"
140 else
141 current_version=""
144 version_to_remove="$1"
146 if [ "$version_to_remove" == "" ] ; then
147 if [ "$current_version" != "" -a -d "$INSTALL_DIR/$current_version" ] ; then
148 version_to_remove="$current_version"
149 else
150 max_version "$versions"
151 version_to_remove="$max_vers"
155 if [ ! -d "$INSTALL_DIR/$version_to_remove" ] ; then
157 echo "$PACKAGE_NAME $version_to_remove is not installed!"
159 echo "The following versions of $PACKAGE_NAME can be uninstalled:"
161 for version in $versions ; do
162 if [ "$version" == "$current_version" ] ; then
163 echo " $version (current version)"
164 else
165 echo " $version"
167 done
169 else
171 versions_remaining=""
173 for version in $versions ; do
174 if [ "$version" != "$version_to_remove" ] ; then
175 versions_remaining="$versions_remaining $version"
177 done
179 if [ "$versions_remaining" == "" ] ; then
181 remove_all
183 else
185 echo "Removing $INSTALL_DIR/$version_to_remove"
187 rm -rf "$INSTALL_DIR/$version_to_remove"
189 if [ "$current_version" == "$version_to_remove" ] ; then
191 max_version "$versions_remaining"
193 echo "$PACKAGE_NAME $max_vers is now the current version"
194 rm -f "$INSTALL_DIR/current"
195 ln -s "$INSTALL_DIR/$max_vers" "$INSTALL_DIR/current"