3 # Copyright (c) 1994-2009 by Marc Feeley, All Rights Reserved.
6 LIBRARIES
="@LIBRARIES@"
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:"
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
43 if [ "$ver1" -lt "$b_ver1" ] ; then
46 if [ "$ver1" -gt "$b_ver1" ] ; then
49 if [ "$ver2" -lt "$b_ver2" ] ; then
52 if [ "$ver2" -gt "$b_ver2" ] ; then
55 if [ "$ver3" -lt "$b_ver3" ] ; then
58 if [ "$ver3" -gt "$b_ver3" ] ; then
70 max_version
() # versions, sets $max_vers
74 if [ "$max_vers" == "" ] ; then
77 compare_versions
"$vers" "$max_vers"
78 if [ "$result" == "1" ] ; then
87 versions
="`ls -a "$1" | read_versions`"
95 if [ "$ver1" != "$file" ] ; then
96 versions
="$versions $file"
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
112 for f
in $LIBRARIES ; do
116 for f
in $INCLUDES ; do
117 rm -f "$INCLUDE_DIR/$f"
121 if [ ! -d "$INSTALL_DIR" ] ; then
123 echo "$PACKAGE_NAME is not installed on this computer ($INSTALL_DIR does not exist)"
127 get_versions
"$INSTALL_DIR"
129 if [ "$versions" == "" ] ; then
131 echo "No version of $PACKAGE_NAME are installed"
137 if [ -L "$INSTALL_DIR/current" ] ; then
138 current
=`readlink "$INSTALL_DIR/current"`
139 current_version
="`basename \"$current\"`"
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"
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)"
171 versions_remaining
=""
173 for version
in $versions ; do
174 if [ "$version" != "$version_to_remove" ] ; then
175 versions_remaining
="$versions_remaining $version"
179 if [ "$versions_remaining" == "" ] ; then
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"