Changeset 2822
- Timestamp:
- 11/09/07 05:55:20 (1 year ago)
- Files:
-
- trunk/lib/install-dmd.sh (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/install-dmd.sh
r2821 r2822 18 18 Options: 19 19 --prefix: Install to the specified prefix (absolute path). 20 --uninstall: Uninstall tango, switch back to standard phobos.' 20 --uninstall: Uninstall Tango, switch back to standard Phobos. 21 --verify: Will verify installation.' 21 22 exit 0 22 23 } … … 26 27 # 0) Parse arguments 27 28 UNINSTALL=0 28 REPLACE_PHOBOS=029 VERIFY=0 29 30 30 31 while [ "$#" != "0" ] … … 38 39 then 39 40 UNINSTALL=1 40 else 41 elif [ "$1" = "--verify" ] 42 then 43 VERIFY=1 44 else 41 45 usage 42 46 fi … … 51 55 echo "$PREFIX" 52 56 57 # Verify that PREFIX is absolute 53 58 if [ "${PREFIX:0:1}" != "/" ] 54 59 then … … 56 61 fi 57 62 63 # Verify presence of DMD 58 64 dmd --help >& /dev/null || die "dmd not found on your \$PATH!" 1 59 60 if [ -e "$PREFIX/lib/libphobos.a" ]61 then62 REPLACE_PHOBOS=163 fi64 65 65 66 # If uninstalling, do that now 66 67 if [ "$UNINSTALL" = "1" ] 67 68 then 68 # revert to phobos if earlier evidence of existense is found 69 # Revert to Phobos if earlier evidence of existense is found 70 # Only relevant for pre 0.99.3 installations 69 71 if [ -e "$PREFIX/lib/libphobos.a.phobos" ] 70 72 then 71 73 mv $PREFIX/lib/libphobos.a.phobos $PREFIX/lib/libphobos.a 74 else 75 if [ -e "$PREFIX/lib/libphobos.a" ] 76 then 77 rm -f $PREFIX/lib/libphobos.a 78 fi 72 79 fi 73 80 if [ -e "$PREFIX/include/d/object.d.phobos" ] … … 92 99 rm -f $PREFIX/include/d/tango/object.di 93 100 fi 94 # Since tango 0.99101 # Since Tango 0.99 95 102 if [ -e "$PREFIX/include/d/object.di" ] 96 103 then … … 100 107 fi 101 108 109 # Prior to Tango 0.99.3 102 110 if [ -e "$PREFIX/lib/libtango.a" ] 103 111 then 104 112 rm -f $PREFIX/lib/libtango.a 105 113 fi 114 115 # Since Tango 0.99.3 116 if [ -e "$PREFIX/lib/libdtango-base-dmd.a" ] 117 then 118 rm -f $PREFIX/lib/libdtango-base-dmd.a 119 fi 120 121 if [ -e "$PREFIX/lib/libdtango-user-tango.a" ] 122 then 123 rm -f $PREFIX/lib/libdtango-user-tango.a 124 fi 125 106 126 die "Done!" 0 107 127 fi 108 128 109 129 110 # Sanity check130 # Verify that runtime was built 111 131 if [ ! -e libdtango-base-dmd.a ] 112 132 then … … 115 135 116 136 # Back up the original files 117 if [ "$REPLACE_PHOBOS" = "1" ] 118 then 119 if [ -e "$PREFIX/lib/libphobos.a.phobos" ] 120 then 121 die "You must uninstall your old copy of Tango before installing a new one." 4 122 fi 123 mv -f $PREFIX/lib/libphobos.a $PREFIX/lib/libphobos.a.phobos 124 if [ -e "$PREFIX/include/d/object.d" ] 125 then 126 mv -f $PREFIX/include/d/object.d $PREFIX/include/d/object.d.phobos 127 fi 128 fi 129 137 if [ -e "$PREFIX/include/d/object.d" ] 138 then 139 mv -f $PREFIX/include/d/object.d $PREFIX/include/d/object.d.phobos 140 fi 141 142 # Create dmd.conf 130 143 create_dmd_conf() { 131 144 cat > $PREFIX/bin/dmd.conf <<EOF … … 152 165 create_dmd_conf 153 166 else 154 echo 'Found Tango enabled dmd.conf, assume it is working and leave it as is' 155 fi 167 if [ ! "`grep '\-defaultlib=dtango\-base\-dmd' $PREFIX/bin/dmd.conf`" ] 168 then 169 echo 'Appending -defaultlib switch to DFLAGS' 170 sed -i.bak -e 's/^DFLAGS=.*$/& -defaultlib=dtango-base-dmd/' $PREFIX/bin/dmd.conf 171 else 172 echo 'Found Tango enabled dmd.conf, assume it is working and leave it as is' 173 fi 174 fi 175 fi 176 177 # Verify installation 178 if [ "$VERIFY" = "1" ] 179 then 180 echo 'Verifying installation.' 181 if [ ! -e "$PREFIX/include/d/object.di" ] 182 then 183 die "object.di not properly installed to $PREFIX/include/d" 9 184 fi 185 if [ ! -e "$PREFIX/lib/libdtango-base-dmd.a" ] 186 then 187 die "libdtango-base-dmd.a not properly installed to $PREFIX/lib" 10 188 fi 189 if [ ! -e "$PREFIX/bin/dmd.conf" ] 190 then 191 die "dmd.conf not present in $PREFIX/bin" 11 192 elif [ ! "`grep '\-version=Tango' $PREFIX/bin/dmd.conf`" ] 193 then 194 die "dmd.conf not Tango enabled" 12 195 elif [ ! "`grep '\-defaultlib=dtango\-base\-dmd' $PREFIX/bin/dmd.conf`" ] 196 then 197 die "dmd.conf don't have -defaultlib switch" 13 198 fi 199 echo 'Installation OK.' 156 200 fi 157 201












