openpkg/openssl.patch

Tue, 29 Mar 2011 20:04:34 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 29 Mar 2011 20:04:34 +0200
changeset 334
4a34d7a82eab
child 428
f880f219c566
permissions
-rw-r--r--

Rework package yet again, correcting and introducing new buildconf logic:
Conditionally disable bootstrap stage comparison correctly, correct
english grammar, better find system as(1) and ld(1), indotruce detailed
optimization option messages, more completely guess cpu types, allow
profiled bootstrapping without a preinstalled GCC because many other
compilers have long since implemented 64-bit arithmetic, instruct make
to build sequentially (not in sparallel) when building a profiled
bootstrap as GCC online documents recommend, and generally improve
comment blocks.

The single most important correction in this changeset relates to the
GCC changed optimization policy since at least GCC 4.5, in which -march
is always passed and not always correctly guessed. In the case of this
package, allowing GCC to guess the architecture leads to wild build
errors at various subcomponents (zlib, libgcc, libiberty...) and
bootstrap stages. It seems quite platform specific, and the safest
approach to correcting this seems to be explicitly always specifying the
-march argument when bootstrapping GCC. Because the best choice 'native'
is not available when bootstrapping using a foreign (non GCC) compiler,
a guess is made according to rpmmacros l_platform in that case.

It is questionable as to whether these recent optimization changes
on the part of GCC or this package are compatible with each other,
or if either are complete or correct at all. At least applying these
corrections allows this package to build again in most cases test.

michael@13 1 Index: Configure
michael@13 2 --- Configure.orig 2007-09-16 14:24:17 +0200
michael@13 3 +++ Configure 2007-10-17 12:14:14 +0200
michael@13 4 @@ -6,7 +6,6 @@
michael@13 5 ##
michael@13 6
michael@13 7 require 5.000;
michael@13 8 -use strict;
michael@13 9
michael@13 10 # see INSTALL for instructions.
michael@13 11
michael@13 12 @@ -34,6 +33,7 @@
michael@13 13 # (Default: KRB5_DIR/include)
michael@13 14 # --with-krb5-flavor Declare what flavor of Kerberos 5 is used. Currently
michael@13 15 # supported values are "MIT" and "Heimdal". A value is required.
michael@13 16 +# --with-cc compiler to use for $CC (useful if cc is a disguised gcc)
michael@13 17 #
michael@13 18 # --test-sanity Make a number of sanity checks on the data in this file.
michael@13 19 # This is a debugging tool for OpenSSL developers.
michael@13 20 @@ -113,6 +113,7 @@
michael@13 21 #$bits2="THIRTY_TWO_BIT ";
michael@13 22 my $bits1="THIRTY_TWO_BIT ";
michael@13 23 my $bits2="SIXTY_FOUR_BIT ";
michael@13 24 +my $ccarg;
michael@13 25
michael@13 26 my $x86_elf_asm="x86cpuid-elf.o:bn86-elf.o co86-elf.o:dx86-elf.o yx86-elf.o:ax86-elf.o:bx86-elf.o:mx86-elf.o:sx86-elf.o s512sse2-elf.o:cx86-elf.o:rx86-elf.o:rm86-elf.o:r586-elf.o";
michael@13 27 my $x86_coff_asm="x86cpuid-cof.o:bn86-cof.o co86-cof.o:dx86-cof.o yx86-cof.o:ax86-cof.o:bx86-cof.o:mx86-cof.o:sx86-cof.o s512sse2-cof.o:cx86-cof.o:rx86-cof.o:rm86-cof.o:r586-cof.o";
michael@13 28 @@ -402,8 +403,8 @@
michael@13 29
michael@13 30 #### IBM's AIX.
michael@13 31 "aix3-cc", "cc:-O -DB_ENDIAN -qmaxmem=16384::(unknown):AIX::BN_LLONG RC4_CHAR:::",
michael@13 32 -"aix-gcc", "gcc:-O -DB_ENDIAN::-D_THREAD_SAFE:AIX::BN_LLONG RC4_CHAR::aix_ppc32.o::::::::::dlfcn:aix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32",
michael@13 33 -"aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-D_THREAD_SAFE:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR::aix_ppc64.o::::::::::dlfcn:aix-shared::-maix64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X64",
michael@13 34 +"aix-gcc", "gcc:-O -DB_ENDIAN::-D_THREAD_SAFE:AIX::BN_LLONG RC4_CHAR::aix_ppc32.o::::::::::dlfcn:aix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::",
michael@13 35 +"aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-D_THREAD_SAFE:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR::aix_ppc64.o::::::::::dlfcn:aix-shared::-maix64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::",
michael@13 36 # Below targets assume AIX 5. Idea is to effectively disregard $OBJECT_MODE
michael@13 37 # at build time. $OBJECT_MODE is respected at ./config stage!
michael@13 38 "aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::BN_LLONG RC4_CHAR::aix_ppc32.o::::::::::dlfcn:aix-shared::-q32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32",
michael@13 39 @@ -697,6 +698,10 @@
michael@13 40 {
michael@13 41 exit(&test_sanity());
michael@13 42 }
michael@13 43 + elsif (/^--with-cc=(.*)$/)
michael@13 44 + {
michael@13 45 + $ccarg=$1
michael@13 46 + }
michael@13 47 elsif (/^reconfigure/ || /^reconf/)
michael@13 48 {
michael@13 49 if (open(IN,"<$Makefile"))
michael@13 50 @@ -949,7 +954,7 @@
michael@13 51 print "IsMK1MF=$IsMK1MF\n";
michael@13 52
michael@13 53 my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
michael@13 54 -my $cc = $fields[$idx_cc];
michael@13 55 +my $cc = $ccarg ? $ccarg : $fields[$idx_cc];
michael@13 56 my $cflags = $fields[$idx_cflags];
michael@13 57 my $unistd = $fields[$idx_unistd];
michael@13 58 my $thread_cflag = $fields[$idx_thread_cflag];
michael@13 59 Index: config
michael@13 60 --- config.orig 2007-08-01 13:21:35 +0200
michael@13 61 +++ config 2007-10-17 12:13:48 +0200
michael@13 62 @@ -401,9 +401,9 @@
michael@13 63
michael@13 64 # figure out if gcc is available and if so we use it otherwise
michael@13 65 # we fallback to whatever cc does on the system
michael@13 66 -GCCVER=`(gcc -dumpversion) 2>/dev/null`
michael@13 67 +GCCVER=`(gcc -dumpversion 2>/dev/null && exit; cc --version 2>/dev/null | grep GCC >/dev/null && cc -dumpversion )`
michael@13 68 if [ "$GCCVER" != "" ]; then
michael@13 69 - CC=gcc
michael@13 70 + CC=cc; gcc -dumpversion >/dev/null 2>&1 && CC=gcc
michael@13 71 # then strip off whatever prefix egcs prepends the number with...
michael@13 72 # Hopefully, this will work for any future prefixes as well.
michael@13 73 GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'`
michael@13 74 @@ -412,8 +412,10 @@
michael@13 75 # major and minor version numbers.
michael@13 76 # peak single digit before and after first dot, e.g. 2.95.1 gives 29
michael@13 77 GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'`
michael@13 78 + SUFFIX=gcc
michael@13 79 else
michael@13 80 CC=cc
michael@13 81 + SUFFIX=cc
michael@13 82 fi
michael@13 83 GCCVER=${GCCVER:-0}
michael@13 84 if [ "$SYSTEM" = "HP-UX" ];then
michael@13 85 @@ -422,7 +424,7 @@
michael@13 86 if [ $GCCVER -ge 30 ]; then
michael@13 87 # PA64 support only came in with gcc 3.0.x.
michael@13 88 # We check if the preprocessor symbol __LP64__ is defined...
michael@13 89 - if echo "__LP64__" | gcc -v -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null; then
michael@13 90 + if echo "__LP64__" | $CC -v -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null; then
michael@13 91 : # __LP64__ has slipped through, it therefore is not defined
michael@13 92 else
michael@13 93 GCC_BITS="64"
michael@13 94 @@ -433,13 +435,14 @@
michael@13 95 if [ $GCCVER -ge 30 ]; then
michael@13 96 # 64-bit ABI isn't officially supported in gcc 3.0, but it appears
michael@13 97 # to be working, at the very least 'make test' passes...
michael@13 98 - if gcc -v -E -x c /dev/null 2>&1 | grep __arch64__ > /dev/null; then
michael@13 99 + if $CC -v -E -x c /dev/null 2>&1 | grep __arch64__ > /dev/null; then
michael@13 100 GCC_ARCH="-m64"
michael@13 101 else
michael@13 102 GCC_ARCH="-m32"
michael@13 103 fi
michael@13 104 fi
michael@13 105 # check for WorkShop C, expected output is "cc: blah-blah C x.x"
michael@13 106 + if [ $GCCVER -eq 0 ]; then
michael@13 107 CCVER=`(cc -V 2>&1) 2>/dev/null | \
michael@13 108 egrep -e '^cc: .* C [0-9]\.[0-9]' | \
michael@13 109 sed 's/.* C \([0-9]\)\.\([0-9]\).*/\1\2/'`
michael@13 110 @@ -452,6 +455,7 @@
michael@13 111 sleep 5
michael@13 112 fi
michael@13 113 fi
michael@13 114 + fi
michael@13 115 fi
michael@13 116
michael@13 117 if [ "${SYSTEM}-${MACHINE}" = "Linux-alpha" ]; then
michael@13 118 @@ -469,6 +473,7 @@
michael@13 119
michael@13 120 if [ "${SYSTEM}" = "AIX" ]; then # favor vendor cc over gcc
michael@13 121 (cc) 2>&1 | grep -iv "not found" > /dev/null && CC=cc
michael@13 122 + (gcc) 2>&1 | grep -iv "not found" > /dev/null && CC=gcc
michael@13 123 fi
michael@13 124
michael@13 125 CCVER=${CCVER:-0}
michael@13 126 @@ -488,7 +493,7 @@
michael@13 127 if [ $CPU -ge 4000 ]; then
michael@13 128 options="$options -mips2"
michael@13 129 fi
michael@13 130 - OUT="irix-$CC"
michael@13 131 + OUT="irix-$SUFFIX"
michael@13 132 ;;
michael@13 133 mips3-sgi-irix)
michael@13 134 #CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
michael@13 135 @@ -498,11 +503,11 @@
michael@13 136 #else
michael@13 137 # options="$options -mips3"
michael@13 138 #fi
michael@13 139 - OUT="irix-mips3-$CC"
michael@13 140 + OUT="irix-mips3-$SUFFIX"
michael@13 141 ;;
michael@13 142 mips4-sgi-irix64)
michael@13 143 echo "WARNING! If you wish to build 64-bit library, then you have to"
michael@13 144 - echo " invoke './Configure irix64-mips4-$CC' *manually*."
michael@13 145 + echo " invoke './Configure irix64-mips4-$SUFFIX' *manually*."
michael@13 146 if [ "$TEST" = "false" -a -t 1 ]; then
michael@13 147 echo " You have about 5 seconds to press Ctrl-C to abort."
michael@13 148 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
michael@13 149 @@ -514,7 +519,7 @@
michael@13 150 #else
michael@13 151 # options="$options -mips3"
michael@13 152 #fi
michael@13 153 - OUT="irix-mips3-$CC"
michael@13 154 + OUT="irix-mips3-$SUFFIX"
michael@13 155 ;;
michael@13 156 ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
michael@13 157 ppc-apple-darwin*) OUT="darwin-ppc-cc" ;;
michael@13 158 @@ -522,10 +527,10 @@
michael@13 159 alpha-*-linux2)
michael@13 160 ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo`
michael@13 161 case ${ISA:-generic} in
michael@13 162 - *[678]) OUT="linux-alpha+bwx-$CC" ;;
michael@13 163 - *) OUT="linux-alpha-$CC" ;;
michael@13 164 + *[678]) OUT="linux-alpha+bwx-$SUFFIX" ;;
michael@13 165 + *) OUT="linux-alpha-$SUFFIX" ;;
michael@13 166 esac
michael@13 167 - if [ "$CC" = "gcc" ]; then
michael@13 168 + if [ $GCCVER -gt 0 ]; then
michael@13 169 case ${ISA:-generic} in
michael@13 170 EV5|EV45) options="$options -mcpu=ev5";;
michael@13 171 EV56|PCA56) options="$options -mcpu=ev56";;
michael@13 172 @@ -592,7 +597,7 @@
michael@13 173 s390x-*-linux2) OUT="linux-generic64"; options="$options -DB_ENDIAN" ;;
michael@13 174 x86_64-*-linux?) OUT="linux-x86_64" ;;
michael@13 175 *86-*-linux2) OUT="linux-elf"
michael@13 176 - if [ "$GCCVER" -gt 28 ]; then
michael@13 177 + if [ $GCCVER -gt 28 ]; then
michael@13 178 if grep '^model.*Pentium' /proc/cpuinfo >/dev/null ; then
michael@13 179 options="$options -march=pentium"
michael@13 180 fi
michael@13 181 @@ -606,17 +611,17 @@
michael@13 182 *-*-linux1) OUT="linux-aout" ;;
michael@13 183 *-*-linux2) OUT="linux-generic32" ;;
michael@13 184 sun4[uv]*-*-solaris2)
michael@13 185 - OUT="solaris-sparcv9-$CC"
michael@13 186 + OUT="solaris-sparcv9-$SUFFIX"
michael@13 187 ISA64=`(isalist) 2>/dev/null | grep sparcv9`
michael@13 188 if [ "$ISA64" != "" ]; then
michael@13 189 - if [ "$CC" = "cc" -a $CCVER -ge 50 ]; then
michael@13 190 + if [ $GCCVER -eq 0 -a $CCVER -ge 50 ]; then
michael@13 191 echo "WARNING! If you wish to build 64-bit library, then you have to"
michael@13 192 echo " invoke './Configure solaris64-sparcv9-cc' *manually*."
michael@13 193 if [ "$TEST" = "false" -a -t 1 ]; then
michael@13 194 echo " You have about 5 seconds to press Ctrl-C to abort."
michael@13 195 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
michael@13 196 fi
michael@13 197 - elif [ "$CC" = "gcc" -a "$GCC_ARCH" = "-m64" ]; then
michael@13 198 + elif [ $GCCVER -gt 0 -a "$GCC_ARCH" = "-m64" ]; then
michael@13 199 # $GCC_ARCH denotes default ABI chosen by compiler driver
michael@13 200 # (first one found on the $PATH). I assume that user
michael@13 201 # expects certain consistency with the rest of his builds
michael@13 202 @@ -639,21 +644,21 @@
michael@13 203 fi
michael@13 204 fi
michael@13 205 ;;
michael@13 206 - sun4m-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
michael@13 207 - sun4d-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
michael@13 208 - sun4*-*-solaris2) OUT="solaris-sparcv7-$CC" ;;
michael@13 209 + sun4m-*-solaris2) OUT="solaris-sparcv8-$SUFFIX" ;;
michael@13 210 + sun4d-*-solaris2) OUT="solaris-sparcv8-$SUFFIX" ;;
michael@13 211 + sun4*-*-solaris2) OUT="solaris-sparcv7-$SUFFIX" ;;
michael@13 212 *86*-*-solaris2)
michael@13 213 ISA64=`(isalist) 2>/dev/null | grep amd64`
michael@13 214 - if [ "$ISA64" != "" ]; then
michael@13 215 - OUT="solaris64-x86_64-$CC"
michael@13 216 + if [ "$ISA64" != "" -a $GCCVER -gt 0 -a "$GCC_ARCH" = "-m64" ]; then
michael@13 217 + OUT="solaris64-x86_64-$SUFFIX"
michael@13 218 else
michael@13 219 - OUT="solaris-x86-$CC"
michael@13 220 + OUT="solaris-x86-$SUFFIX"
michael@13 221 if [ `uname -r | sed -e 's/5\.//'` -lt 10 ]; then
michael@13 222 options="$options no-sse2"
michael@13 223 fi
michael@13 224 fi
michael@13 225 ;;
michael@13 226 - *-*-sunos4) OUT="sunos-$CC" ;;
michael@13 227 + *-*-sunos4) OUT="sunos-$SUFFIX" ;;
michael@13 228
michael@13 229 *86*-*-bsdi4) OUT="BSD-x86-elf"; options="$options no-sse2 -ldl" ;;
michael@13 230 alpha*-*-*bsd*) OUT="BSD-generic64"; options="$options -DL_ENDIAN" ;;
michael@13 231 @@ -677,7 +682,7 @@
michael@13 232 *-*-osf) OUT="osf1-alpha-cc" ;;
michael@13 233 *-*-tru64) OUT="tru64-alpha-cc" ;;
michael@13 234 *-*-[Uu]nix[Ww]are7)
michael@13 235 - if [ "$CC" = "gcc" ]; then
michael@13 236 + if [ $GCCVER -gt 0 ]; then
michael@13 237 OUT="unixware-7-gcc" ; options="$options no-sse2"
michael@13 238 else
michael@13 239 OUT="unixware-7" ; options="$options no-sse2 -D__i386__"
michael@13 240 @@ -688,12 +693,12 @@
michael@13 241 *-*-vos)
michael@13 242 options="$options no-threads no-shared no-asm no-dso"
michael@13 243 EXE=".pm"
michael@13 244 - OUT="vos-$CC" ;;
michael@13 245 + OUT="vos-$SUFFIX" ;;
michael@13 246 BS2000-siemens-sysv4) OUT="BS2000-OSD" ;;
michael@13 247 RM*-siemens-sysv4) OUT="ReliantUNIX" ;;
michael@13 248 *-siemens-sysv4) OUT="SINIX" ;;
michael@13 249 *-hpux1*)
michael@13 250 - if [ $CC = "gcc" -a $GCC_BITS = "64" ]; then
michael@13 251 + if [ $GCCVER -gt 0 -a $GCC_BITS = "64" ]; then
michael@13 252 OUT="hpux64-parisc2-gcc"
michael@13 253 fi
michael@13 254 KERNEL_BITS=`(getconf KERNEL_BITS) 2>/dev/null`
michael@13 255 @@ -711,8 +716,8 @@
michael@13 256 fi
michael@13 257 OUT="hpux64-ia64-cc"
michael@13 258 elif [ $CPU_VERSION -ge 532 ]; then # PA-RISC 2.x CPU
michael@13 259 - OUT=${OUT:-"hpux-parisc2-${CC}"}
michael@13 260 - if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
michael@13 261 + OUT=${OUT:-"hpux-parisc2-${SUFFIX}"}
michael@13 262 + if [ $KERNEL_BITS -eq 64 -a $GCCVER -eq 0 ]; then
michael@13 263 echo "WARNING! If you wish to build 64-bit library then you have to"
michael@13 264 echo " invoke './Configure hpux64-parisc2-cc' *manually*."
michael@13 265 if [ "$TEST" = "false" -a -t 1 ]; then
michael@13 266 @@ -721,19 +726,19 @@
michael@13 267 fi
michael@13 268 fi
michael@13 269 elif [ $CPU_VERSION -ge 528 ]; then # PA-RISC 1.1+ CPU
michael@13 270 - OUT="hpux-parisc-${CC}"
michael@13 271 + OUT="hpux-parisc-${SUFFIX}"
michael@13 272 elif [ $CPU_VERSION -ge 523 ]; then # PA-RISC 1.0 CPU
michael@13 273 - OUT="hpux-parisc-${CC}"
michael@13 274 + OUT="hpux-parisc-${SUFFIX}"
michael@13 275 else # Motorola(?) CPU
michael@13 276 - OUT="hpux-$CC"
michael@13 277 + OUT="hpux-$SUFFIX"
michael@13 278 fi
michael@13 279 options="$options -D_REENTRANT" ;;
michael@13 280 - *-hpux) OUT="hpux-parisc-$CC" ;;
michael@13 281 + *-hpux) OUT="hpux-parisc-$SUFFIX" ;;
michael@13 282 *-aix)
michael@13 283 KERNEL_BITS=`(getconf KERNEL_BITMODE) 2>/dev/null`
michael@13 284 KERNEL_BITS=${KERNEL_BITS:-32}
michael@13 285 OBJECT_MODE=${OBJECT_MODE:-32}
michael@13 286 - if [ "$CC" = "gcc" ]; then
michael@13 287 + if [ $GCCVER -gt 0 ]; then
michael@13 288 OUT="aix-gcc"
michael@13 289 elif [ $OBJECT_MODE -eq 64 ]; then
michael@13 290 echo 'Your $OBJECT_MODE was found to be set to 64'
michael@13 291 @@ -828,7 +833,7 @@
michael@13 292 #fi
michael@13 293
michael@13 294 if [ -z "$OUT" ]; then
michael@13 295 - OUT="$CC"
michael@13 296 + OUT="$SUFFIX"
michael@13 297 fi
michael@13 298
michael@13 299 if [ ".$PERL" = . ] ; then
michael@13 300 @@ -860,9 +865,9 @@
michael@13 301 # compiler for the platform ... in which case we add it on
michael@13 302 # the end ... otherwise we leave it off
michael@13 303
michael@13 304 -$PERL ./Configure LIST | grep "$OUT-$CC" > /dev/null
michael@13 305 +$PERL ./Configure LIST | grep "$OUT-$SUFFIX" > /dev/null
michael@13 306 if [ $? = "0" ]; then
michael@13 307 - OUT="$OUT-$CC"
michael@13 308 + OUT="$OUT-$SUFFIX"
michael@13 309 fi
michael@13 310
michael@13 311 OUT="$PREFIX$OUT"
michael@13 312 @@ -872,9 +877,9 @@
michael@13 313 echo Configuring for $OUT
michael@13 314
michael@13 315 if [ "$TEST" = "true" ]; then
michael@13 316 - echo $PERL ./Configure $OUT $options
michael@13 317 + echo $PERL ./Configure $OUT --with-cc=$CC $options
michael@13 318 else
michael@13 319 - $PERL ./Configure $OUT $options
michael@13 320 + $PERL ./Configure $OUT --with-cc=$CC $options
michael@13 321 fi
michael@13 322 else
michael@13 323 echo "This system ($OUT) is not supported. See file INSTALL for details."
michael@13 324 Index: crypto/objects/obj_dat.pl
michael@13 325 --- crypto/objects/obj_dat.pl.orig 2005-08-29 01:20:47 +0200
michael@13 326 +++ crypto/objects/obj_dat.pl 2007-10-17 12:13:48 +0200
michael@13 327 @@ -1,9 +1,5 @@
michael@13 328 #!/usr/local/bin/perl
michael@13 329
michael@13 330 -# fixes bug in floating point emulation on sparc64 when
michael@13 331 -# this script produces off-by-one output on sparc64
michael@13 332 -use integer;
michael@13 333 -
michael@13 334 sub obj_cmp
michael@13 335 {
michael@13 336 local(@a,@b,$_,$r);
michael@13 337 Index: util/mklink.pl
michael@13 338 --- util/mklink.pl.orig 2006-02-09 13:28:30 +0100
michael@13 339 +++ util/mklink.pl 2007-10-17 12:13:48 +0200
michael@13 340 @@ -15,13 +15,12 @@
michael@13 341 # Apart from this, this script should be able to handle even the most
michael@13 342 # pathological cases.
michael@13 343
michael@13 344 -use Cwd;
michael@13 345 -
michael@13 346 my $from = shift;
michael@13 347 my @files = @ARGV;
michael@13 348
michael@13 349 my @from_path = split(/[\\\/]/, $from);
michael@13 350 -my $pwd = getcwd();
michael@13 351 +my $pwd = `pwd`;
michael@13 352 +$pwd =~ s/\n$//s;
michael@13 353 chomp($pwd);
michael@13 354 my @pwd_path = split(/[\\\/]/, $pwd);
michael@13 355

mercurial