[06b2d12] | 1 | Submitted By: Jonathan Norman <Jonathan at bluesquarelinux.co.uk>
|
---|
| 2 | Date: 2011-05-17
|
---|
| 3 | Initial Package Version: 5.8.8
|
---|
| 4 | Origin: Ryan Oliver
|
---|
| 5 | Upstream Status: Unknown
|
---|
| 6 | Description: This patch adapts some hard-wired paths to the C library.
|
---|
| 7 | It uses the $prefix variable to locate the correct libc.
|
---|
| 8 |
|
---|
| 9 | Rediffed: Against 5.10.0 by Joe Ciccone on 2008-08-30
|
---|
| 10 | Against 5.10.1 By Jim Gifford on 2009-08-25
|
---|
| 11 | Against 5.12.1 By Joe Ciccone on 2010-08-01
|
---|
| 12 | Against 5.14.0 By Jonathan Norman on 2011-05-17
|
---|
| 13 | Against 5.16.1 by William Harrington on 2012-08-26
|
---|
| 14 |
|
---|
| 15 | diff -Naur perl-5.16.1.orig/hints/linux.sh perl-5.16.1/hints/linux.sh
|
---|
| 16 | --- perl-5.16.1.orig/hints/linux.sh 2012-06-05 12:45:26.000000000 +0000
|
---|
| 17 | +++ perl-5.16.1/hints/linux.sh 2012-08-26 02:24:16.024909438 +0000
|
---|
| 18 | @@ -66,9 +66,9 @@
|
---|
| 19 | # We don't use __GLIBC__ and __GLIBC_MINOR__ because they
|
---|
| 20 | # are insufficiently precise to distinguish things like
|
---|
| 21 | # libc-2.0.6 and libc-2.0.7.
|
---|
| 22 | -if test -L /lib/libc.so.6; then
|
---|
| 23 | - libc=`ls -l /lib/libc.so.6 | awk '{print $NF}'`
|
---|
| 24 | - libc=/lib/$libc
|
---|
| 25 | +if test -L ${prefix}/lib/libc.so.6; then
|
---|
| 26 | + libc=`ls -l ${prefix}/lib/libc.so.6 | awk '{print $NF}'`
|
---|
| 27 | + libc=${prefix}/lib/$libc
|
---|
| 28 | fi
|
---|
| 29 |
|
---|
| 30 | # Configure may fail to find lstat() since it's a static/inline
|
---|
| 31 | @@ -466,3 +466,9 @@
|
---|
| 32 | libswanted="$libswanted pthread"
|
---|
| 33 | ;;
|
---|
| 34 | esac
|
---|
| 35 | +
|
---|
| 36 | +locincpth=""
|
---|
| 37 | +loclibpth=""
|
---|
| 38 | +glibpth="${prefix}/lib"
|
---|
| 39 | +usrinc="${prefix}/include"
|
---|
| 40 | +
|
---|
| 41 | diff -Naur perl-5.16.1.orig/hints/linux.sh.orig perl-5.16.1/hints/linux.sh.orig
|
---|
| 42 | --- perl-5.16.1.orig/hints/linux.sh.orig 1970-01-01 00:00:00.000000000 +0000
|
---|
| 43 | +++ perl-5.16.1/hints/linux.sh.orig 2012-06-05 12:45:26.000000000 +0000
|
---|
| 44 | @@ -0,0 +1,468 @@
|
---|
| 45 | +# hints/linux.sh
|
---|
| 46 | +# Original version by rsanders
|
---|
| 47 | +# Additional support by Kenneth Albanowski <kjahds@kjahds.com>
|
---|
| 48 | +#
|
---|
| 49 | +# ELF support by H.J. Lu <hjl@nynexst.com>
|
---|
| 50 | +# Additional info from Nigel Head <nhead@ESOC.bitnet>
|
---|
| 51 | +# and Kenneth Albanowski <kjahds@kjahds.com>
|
---|
| 52 | +#
|
---|
| 53 | +# Consolidated by Andy Dougherty <doughera@lafayette.edu>
|
---|
| 54 | +#
|
---|
| 55 | +# Updated Thu Feb 8 11:56:10 EST 1996
|
---|
| 56 | +
|
---|
| 57 | +# Updated Thu May 30 10:50:22 EDT 1996 by <doughera@lafayette.edu>
|
---|
| 58 | +
|
---|
| 59 | +# Updated Fri Jun 21 11:07:54 EDT 1996
|
---|
| 60 | +# NDBM support for ELF re-enabled by <kjahds@kjahds.com>
|
---|
| 61 | +
|
---|
| 62 | +# No version of Linux supports setuid scripts.
|
---|
| 63 | +d_suidsafe='undef'
|
---|
| 64 | +
|
---|
| 65 | +# No version of Linux needs libutil for perl.
|
---|
| 66 | +i_libutil='undef'
|
---|
| 67 | +
|
---|
| 68 | +# Debian and Red Hat, and perhaps other vendors, provide both runtime and
|
---|
| 69 | +# development packages for some libraries. The runtime packages contain shared
|
---|
| 70 | +# libraries with version information in their names (e.g., libgdbm.so.1.7.3);
|
---|
| 71 | +# the development packages supplement this with versionless shared libraries
|
---|
| 72 | +# (e.g., libgdbm.so).
|
---|
| 73 | +#
|
---|
| 74 | +# If you want to link against such a library, you must install the development
|
---|
| 75 | +# version of the package.
|
---|
| 76 | +#
|
---|
| 77 | +# These packages use a -dev naming convention in both Debian and Red Hat:
|
---|
| 78 | +# libgdbmg1 (non-development version of GNU libc 2-linked GDBM library)
|
---|
| 79 | +# libgdbmg1-dev (development version of GNU libc 2-linked GDBM library)
|
---|
| 80 | +# So make sure that for any libraries you wish to link Perl with under
|
---|
| 81 | +# Debian or Red Hat you have the -dev packages installed.
|
---|
| 82 | +
|
---|
| 83 | +# SuSE Linux can be used as cross-compilation host for Cray XT4 Catamount/Qk.
|
---|
| 84 | +if test -d /opt/xt-pe
|
---|
| 85 | +then
|
---|
| 86 | + case "`cc -V 2>&1`" in
|
---|
| 87 | + *catamount*) . hints/catamount.sh; return ;;
|
---|
| 88 | + esac
|
---|
| 89 | +fi
|
---|
| 90 | +
|
---|
| 91 | +# Some operating systems (e.g., Solaris 2.6) will link to a versioned shared
|
---|
| 92 | +# library implicitly. For example, on Solaris, `ld foo.o -lgdbm' will find an
|
---|
| 93 | +# appropriate version of libgdbm, if one is available; Linux, however, doesn't
|
---|
| 94 | +# do the implicit mapping.
|
---|
| 95 | +ignore_versioned_solibs='y'
|
---|
| 96 | +
|
---|
| 97 | +# BSD compatibility library no longer needed
|
---|
| 98 | +# 'kaffe' has a /usr/lib/libnet.so which is not at all relevant for perl.
|
---|
| 99 | +# bind causes issues with several reentrant functions
|
---|
| 100 | +set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /' -e 's/ bind / /'`
|
---|
| 101 | +shift
|
---|
| 102 | +libswanted="$*"
|
---|
| 103 | +
|
---|
| 104 | +# Debian 4.0 puts ndbm in the -lgdbm_compat library.
|
---|
| 105 | +libswanted="$libswanted gdbm_compat"
|
---|
| 106 | +
|
---|
| 107 | +# If you have glibc, then report the version for ./myconfig bug reporting.
|
---|
| 108 | +# (Configure doesn't need to know the specific version since it just uses
|
---|
| 109 | +# gcc to load the library for all tests.)
|
---|
| 110 | +# We don't use __GLIBC__ and __GLIBC_MINOR__ because they
|
---|
| 111 | +# are insufficiently precise to distinguish things like
|
---|
| 112 | +# libc-2.0.6 and libc-2.0.7.
|
---|
| 113 | +if test -L /lib/libc.so.6; then
|
---|
| 114 | + libc=`ls -l /lib/libc.so.6 | awk '{print $NF}'`
|
---|
| 115 | + libc=/lib/$libc
|
---|
| 116 | +fi
|
---|
| 117 | +
|
---|
| 118 | +# Configure may fail to find lstat() since it's a static/inline
|
---|
| 119 | +# function in <sys/stat.h>.
|
---|
| 120 | +d_lstat=define
|
---|
| 121 | +
|
---|
| 122 | +# malloc wrap works
|
---|
| 123 | +case "$usemallocwrap" in
|
---|
| 124 | +'') usemallocwrap='define' ;;
|
---|
| 125 | +esac
|
---|
| 126 | +
|
---|
| 127 | +# The system malloc() is about as fast and as frugal as perl's.
|
---|
| 128 | +# Since the system malloc() has been the default since at least
|
---|
| 129 | +# 5.001, we might as well leave it that way. --AD 10 Jan 2002
|
---|
| 130 | +case "$usemymalloc" in
|
---|
| 131 | +'') usemymalloc='n' ;;
|
---|
| 132 | +esac
|
---|
| 133 | +
|
---|
| 134 | +# Check if we're about to use Intel's ICC compiler
|
---|
| 135 | +case "`${cc:-cc} -V 2>&1`" in
|
---|
| 136 | +*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*)
|
---|
| 137 | + # record the version, formats:
|
---|
| 138 | + # icc (ICC) 10.1 20080801
|
---|
| 139 | + # icpc (ICC) 10.1 20080801
|
---|
| 140 | + # followed by a copyright on the second line
|
---|
| 141 | + ccversion=`${cc:-cc} --version | sed -n -e 's/^icp\?c \((ICC) \)\?//p'`
|
---|
| 142 | + # This is needed for Configure's prototype checks to work correctly
|
---|
| 143 | + # The -mp flag is needed to pass various floating point related tests
|
---|
| 144 | + # The -no-gcc flag is needed otherwise, icc pretends (poorly) to be gcc
|
---|
| 145 | + ccflags="-we147 -mp -no-gcc $ccflags"
|
---|
| 146 | + # Prevent relocation errors on 64bits arch
|
---|
| 147 | + case "`uname -m`" in
|
---|
| 148 | + *ia64*|*x86_64*)
|
---|
| 149 | + cccdlflags='-fPIC'
|
---|
| 150 | + ;;
|
---|
| 151 | + esac
|
---|
| 152 | + # If we're using ICC, we usually want the best performance
|
---|
| 153 | + case "$optimize" in
|
---|
| 154 | + '') optimize='-O3' ;;
|
---|
| 155 | + esac
|
---|
| 156 | + ;;
|
---|
| 157 | +*" Sun "*"C"*)
|
---|
| 158 | + # Sun's C compiler, which might have a 'tag' name between
|
---|
| 159 | + # 'Sun' and the 'C': Examples:
|
---|
| 160 | + # cc: Sun C 5.9 Linux_i386 Patch 124871-01 2007/07/31
|
---|
| 161 | + # cc: Sun Ceres C 5.10 Linux_i386 2008/07/10
|
---|
| 162 | + test "$optimize" || optimize='-xO2'
|
---|
| 163 | + cccdlflags='-KPIC'
|
---|
| 164 | + lddlflags='-G -Bdynamic'
|
---|
| 165 | + # Sun C doesn't support gcc attributes, but, in many cases, doesn't
|
---|
| 166 | + # complain either. Not all cases, though.
|
---|
| 167 | + d_attribute_format='undef'
|
---|
| 168 | + d_attribute_malloc='undef'
|
---|
| 169 | + d_attribute_nonnull='undef'
|
---|
| 170 | + d_attribute_noreturn='undef'
|
---|
| 171 | + d_attribute_pure='undef'
|
---|
| 172 | + d_attribute_unused='undef'
|
---|
| 173 | + d_attribute_warn_unused_result='undef'
|
---|
| 174 | + ;;
|
---|
| 175 | +esac
|
---|
| 176 | +
|
---|
| 177 | +case "$optimize" in
|
---|
| 178 | +# use -O2 by default ; -O3 doesn't seem to bring significant benefits with gcc
|
---|
| 179 | +'')
|
---|
| 180 | + optimize='-O2'
|
---|
| 181 | + case "`uname -m`" in
|
---|
| 182 | + ppc*)
|
---|
| 183 | + # on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
|
---|
| 184 | + # with -O2 ; so downgrade to -O1.
|
---|
| 185 | + optimize='-O1'
|
---|
| 186 | + ;;
|
---|
| 187 | + ia64*)
|
---|
| 188 | + # This architecture has had various problems with gcc's
|
---|
| 189 | + # in the 3.2, 3.3, and 3.4 releases when optimized to -O2. See
|
---|
| 190 | + # RT #37156 for a discussion of the problem.
|
---|
| 191 | + case "`${cc:-gcc} -v 2>&1`" in
|
---|
| 192 | + *"version 3.2"*|*"version 3.3"*|*"version 3.4"*)
|
---|
| 193 | + ccflags="-fno-delete-null-pointer-checks $ccflags"
|
---|
| 194 | + ;;
|
---|
| 195 | + esac
|
---|
| 196 | + ;;
|
---|
| 197 | + esac
|
---|
| 198 | + ;;
|
---|
| 199 | +esac
|
---|
| 200 | +
|
---|
| 201 | +# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
|
---|
| 202 | +# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
|
---|
| 203 | +# where to look. We don't want gcc's own libraries, however, so we
|
---|
| 204 | +# filter those out.
|
---|
| 205 | +# This could be conditional on Unbuntu, but other distributions may
|
---|
| 206 | +# follow suit, and this scheme seems to work even on rather old gcc's.
|
---|
| 207 | +# This unconditionally uses gcc because even if the user is using another
|
---|
| 208 | +# compiler, we still need to find the math library and friends, and I don't
|
---|
| 209 | +# know how other compilers will cope with that situation.
|
---|
| 210 | +# Morever, if the user has their own gcc earlier in $PATH than the system gcc,
|
---|
| 211 | +# we don't want its libraries. So we try to prefer the system gcc
|
---|
| 212 | +# Still, as an escape hatch, allow Configure command line overrides to
|
---|
| 213 | +# plibpth to bypass this check.
|
---|
| 214 | +if [ -x /usr/bin/gcc ] ; then
|
---|
| 215 | + gcc=/usr/bin/gcc
|
---|
| 216 | +else
|
---|
| 217 | + gcc=gcc
|
---|
| 218 | +fi
|
---|
| 219 | +
|
---|
| 220 | +case "$plibpth" in
|
---|
| 221 | +'') plibpth=`LANG=C LC_ALL=C $gcc -print-search-dirs | grep libraries |
|
---|
| 222 | + cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
---|
| 223 | + set X $plibpth # Collapse all entries on one line
|
---|
| 224 | + shift
|
---|
| 225 | + plibpth="$*"
|
---|
| 226 | + ;;
|
---|
| 227 | +esac
|
---|
| 228 | +
|
---|
| 229 | +# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
---|
| 230 | +# for this test.
|
---|
| 231 | +cat >try.c <<'EOM'
|
---|
| 232 | +/* Test for whether ELF binaries are produced */
|
---|
| 233 | +#include <fcntl.h>
|
---|
| 234 | +#include <stdlib.h>
|
---|
| 235 | +#include <unistd.h>
|
---|
| 236 | +main() {
|
---|
| 237 | + char buffer[4];
|
---|
| 238 | + int i=open("a.out",O_RDONLY);
|
---|
| 239 | + if(i==-1)
|
---|
| 240 | + exit(1); /* fail */
|
---|
| 241 | + if(read(i,&buffer[0],4)<4)
|
---|
| 242 | + exit(1); /* fail */
|
---|
| 243 | + if(buffer[0] != 127 || buffer[1] != 'E' ||
|
---|
| 244 | + buffer[2] != 'L' || buffer[3] != 'F')
|
---|
| 245 | + exit(1); /* fail */
|
---|
| 246 | + exit(0); /* succeed (yes, it's ELF) */
|
---|
| 247 | +}
|
---|
| 248 | +EOM
|
---|
| 249 | +if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
---|
| 250 | + cat <<'EOM' >&4
|
---|
| 251 | +
|
---|
| 252 | +You appear to have ELF support. I'll try to use it for dynamic loading.
|
---|
| 253 | +If dynamic loading doesn't work, read hints/linux.sh for further information.
|
---|
| 254 | +EOM
|
---|
| 255 | +
|
---|
| 256 | +else
|
---|
| 257 | + cat <<'EOM' >&4
|
---|
| 258 | +
|
---|
| 259 | +You don't have an ELF gcc. I will use dld if possible. If you are
|
---|
| 260 | +using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
---|
| 261 | +should probably upgrade. If you are forced to use 3.2.4, you should
|
---|
| 262 | +uncomment a couple of lines in hints/linux.sh and restart Configure so
|
---|
| 263 | +that shared libraries will be disallowed.
|
---|
| 264 | +
|
---|
| 265 | +EOM
|
---|
| 266 | + lddlflags="-r $lddlflags"
|
---|
| 267 | + # These empty values are so that Configure doesn't put in the
|
---|
| 268 | + # Linux ELF values.
|
---|
| 269 | + ccdlflags=' '
|
---|
| 270 | + cccdlflags=' '
|
---|
| 271 | + ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
---|
| 272 | + so='sa'
|
---|
| 273 | + dlext='o'
|
---|
| 274 | + nm_so_opt=' '
|
---|
| 275 | + ## If you are using DLD 3.2.4 which does not support shared libs,
|
---|
| 276 | + ## uncomment the next two lines:
|
---|
| 277 | + #ldflags="-static"
|
---|
| 278 | + #so='none'
|
---|
| 279 | +
|
---|
| 280 | + # In addition, on some systems there is a problem with perl and NDBM
|
---|
| 281 | + # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
---|
| 282 | + # in the tests as AnyDBM just freezing. Apparently, this only
|
---|
| 283 | + # happens on a.out systems, so we disable NDBM for all a.out linux
|
---|
| 284 | + # systems. If someone can suggest a more robust test
|
---|
| 285 | + # that would be appreciated.
|
---|
| 286 | + #
|
---|
| 287 | + # More info:
|
---|
| 288 | + # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
---|
| 289 | + # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
---|
| 290 | + #
|
---|
| 291 | + # I tried compiling with DBM support and sure enough things locked up
|
---|
| 292 | + # just as advertised. Checking into it, I found that the lockup was
|
---|
| 293 | + # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
---|
| 294 | + # to and the jump into.
|
---|
| 295 | + #
|
---|
| 296 | + # To make a long story short, making sure that the *.a and *.sa pairs of
|
---|
| 297 | + # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
---|
| 298 | + # were perfectly in sync took care of it.
|
---|
| 299 | + #
|
---|
| 300 | + # This will generate a harmless Whoa There! message
|
---|
| 301 | + case "$d_dbm_open" in
|
---|
| 302 | + '') cat <<'EOM' >&4
|
---|
| 303 | +
|
---|
| 304 | +Disabling ndbm. This will generate a Whoa There message in Configure.
|
---|
| 305 | +Read hints/linux.sh for further information.
|
---|
| 306 | +EOM
|
---|
| 307 | + # You can override this with Configure -Dd_dbm_open
|
---|
| 308 | + d_dbm_open=undef
|
---|
| 309 | + ;;
|
---|
| 310 | + esac
|
---|
| 311 | +fi
|
---|
| 312 | +
|
---|
| 313 | +rm -f try.c a.out
|
---|
| 314 | +
|
---|
| 315 | +if /bin/sh -c exit; then
|
---|
| 316 | + echo ''
|
---|
| 317 | + echo 'You appear to have a working bash. Good.'
|
---|
| 318 | +else
|
---|
| 319 | + cat << 'EOM' >&4
|
---|
| 320 | +
|
---|
| 321 | +*********************** Warning! *********************
|
---|
| 322 | +It would appear you have a defective bash shell installed. This is likely to
|
---|
| 323 | +give you a failure of op/exec test #5 during the test phase of the build,
|
---|
| 324 | +Upgrading to a recent version (1.14.4 or later) should fix the problem.
|
---|
| 325 | +******************************************************
|
---|
| 326 | +EOM
|
---|
| 327 | +
|
---|
| 328 | +fi
|
---|
| 329 | +
|
---|
| 330 | +# On SPARClinux,
|
---|
| 331 | +# The following csh consistently coredumped in the test directory
|
---|
| 332 | +# "/home/mikedlr/perl5.003_94/t", though not most other directories.
|
---|
| 333 | +
|
---|
| 334 | +#Name : csh Distribution: Red Hat Linux (Rembrandt)
|
---|
| 335 | +#Version : 5.2.6 Vendor: Red Hat Software
|
---|
| 336 | +#Release : 3 Build Date: Fri May 24 19:42:14 1996
|
---|
| 337 | +#Install date: Thu Jul 11 16:20:14 1996 Build Host: itchy.redhat.com
|
---|
| 338 | +#Group : Shells Source RPM: csh-5.2.6-3.src.rpm
|
---|
| 339 | +#Size : 184417
|
---|
| 340 | +#Description : BSD c-shell
|
---|
| 341 | +
|
---|
| 342 | +# For this reason I suggest using the much bug-fixed tcsh for globbing
|
---|
| 343 | +# where available.
|
---|
| 344 | +
|
---|
| 345 | +# November 2001: That warning's pretty old now and probably not so
|
---|
| 346 | +# relevant, especially since perl now uses File::Glob for globbing.
|
---|
| 347 | +# We'll still look for tcsh, but tone down the warnings.
|
---|
| 348 | +# Andy Dougherty, Nov. 6, 2001
|
---|
| 349 | +if $csh -c 'echo $version' >/dev/null 2>&1; then
|
---|
| 350 | + echo 'Your csh is really tcsh. Good.'
|
---|
| 351 | +else
|
---|
| 352 | + if xxx=`./UU/loc tcsh blurfl $pth`; $test -f "$xxx"; then
|
---|
| 353 | + echo "Found tcsh. I'll use it for globbing."
|
---|
| 354 | + # We can't change Configure's setting of $csh, due to the way
|
---|
| 355 | + # Configure handles $d_portable and commands found in $loclist.
|
---|
| 356 | + # We can set the value for CSH in config.h by setting full_csh.
|
---|
| 357 | + full_csh=$xxx
|
---|
| 358 | + elif [ -f "$csh" ]; then
|
---|
| 359 | + echo "Couldn't find tcsh. Csh-based globbing might be broken."
|
---|
| 360 | + fi
|
---|
| 361 | +fi
|
---|
| 362 | +
|
---|
| 363 | +# Shimpei Yamashita <shimpei@socrates.patnet.caltech.edu>
|
---|
| 364 | +# Message-Id: <33EF1634.B36B6500@pobox.com>
|
---|
| 365 | +#
|
---|
| 366 | +# The DR2 of MkLinux (osname=linux,archname=ppc-linux) may need
|
---|
| 367 | +# special flags passed in order for dynamic loading to work.
|
---|
| 368 | +# instead of the recommended:
|
---|
| 369 | +#
|
---|
| 370 | +# ccdlflags='-rdynamic'
|
---|
| 371 | +#
|
---|
| 372 | +# it should be:
|
---|
| 373 | +# ccdlflags='-Wl,-E'
|
---|
| 374 | +#
|
---|
| 375 | +# So if your DR2 (DR3 came out summer 1998, consider upgrading)
|
---|
| 376 | +# has problems with dynamic loading, uncomment the
|
---|
| 377 | +# following three lines, make distclean, and re-Configure:
|
---|
| 378 | +#case "`uname -r | sed 's/^[0-9.-]*//'``arch`" in
|
---|
| 379 | +#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
---|
| 380 | +#esac
|
---|
| 381 | +
|
---|
| 382 | +case "`uname -m`" in
|
---|
| 383 | +sparc*)
|
---|
| 384 | + case "$cccdlflags" in
|
---|
| 385 | + *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
---|
| 386 | + *-fPIC*) ;;
|
---|
| 387 | + *) cccdlflags="$cccdlflags -fPIC" ;;
|
---|
| 388 | + esac
|
---|
| 389 | + ;;
|
---|
| 390 | +esac
|
---|
| 391 | +
|
---|
| 392 | +# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than
|
---|
| 393 | +# true libraries. The scripts cause binding against static
|
---|
| 394 | +# version of -lgdbm which is a bad idea. So if we have 'nm'
|
---|
| 395 | +# make sure it can read the file
|
---|
| 396 | +# NI-S 2003/08/07
|
---|
| 397 | +if [ -r /usr/lib/libndbm.so -a -x /usr/bin/nm ] ; then
|
---|
| 398 | + if /usr/bin/nm /usr/lib/libndbm.so >/dev/null 2>&1 ; then
|
---|
| 399 | + echo 'Your shared -lndbm seems to be a real library.'
|
---|
| 400 | + else
|
---|
| 401 | + echo 'Your shared -lndbm is not a real library.'
|
---|
| 402 | + set `echo X "$libswanted "| sed -e 's/ ndbm / /'`
|
---|
| 403 | + shift
|
---|
| 404 | + libswanted="$*"
|
---|
| 405 | + fi
|
---|
| 406 | +fi
|
---|
| 407 | +
|
---|
| 408 | +
|
---|
| 409 | +# This script UU/usethreads.cbu will get 'called-back' by Configure
|
---|
| 410 | +# after it has prompted the user for whether to use threads.
|
---|
| 411 | +cat > UU/usethreads.cbu <<'EOCBU'
|
---|
| 412 | +case "$usethreads" in
|
---|
| 413 | +$define|true|[yY]*)
|
---|
| 414 | + ccflags="-D_REENTRANT -D_GNU_SOURCE $ccflags"
|
---|
| 415 | + if echo $libswanted | grep -v pthread >/dev/null
|
---|
| 416 | + then
|
---|
| 417 | + set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
|
---|
| 418 | + shift
|
---|
| 419 | + libswanted="$*"
|
---|
| 420 | + fi
|
---|
| 421 | +
|
---|
| 422 | + # Somehow at least in Debian 2.2 these manage to escape
|
---|
| 423 | + # the #define forest of <features.h> and <time.h> so that
|
---|
| 424 | + # the hasproto macro of Configure doesn't see these protos,
|
---|
| 425 | + # even with the -D_GNU_SOURCE.
|
---|
| 426 | +
|
---|
| 427 | + d_asctime_r_proto="$define"
|
---|
| 428 | + d_crypt_r_proto="$define"
|
---|
| 429 | + d_ctime_r_proto="$define"
|
---|
| 430 | + d_gmtime_r_proto="$define"
|
---|
| 431 | + d_localtime_r_proto="$define"
|
---|
| 432 | + d_random_r_proto="$define"
|
---|
| 433 | +
|
---|
| 434 | + ;;
|
---|
| 435 | +esac
|
---|
| 436 | +EOCBU
|
---|
| 437 | +
|
---|
| 438 | +cat > UU/uselargefiles.cbu <<'EOCBU'
|
---|
| 439 | +# This script UU/uselargefiles.cbu will get 'called-back' by Configure
|
---|
| 440 | +# after it has prompted the user for whether to use large files.
|
---|
| 441 | +case "$uselargefiles" in
|
---|
| 442 | +''|$define|true|[yY]*)
|
---|
| 443 | +# Keep this in the left margin.
|
---|
| 444 | +ccflags_uselargefiles="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
---|
| 445 | +
|
---|
| 446 | + ccflags="$ccflags $ccflags_uselargefiles"
|
---|
| 447 | + ;;
|
---|
| 448 | +esac
|
---|
| 449 | +EOCBU
|
---|
| 450 | +
|
---|
| 451 | +# Purify fails to link Perl if a "-lc" is passed into its linker
|
---|
| 452 | +# due to duplicate symbols.
|
---|
| 453 | +case "$PURIFY" in
|
---|
| 454 | +$define|true|[yY]*)
|
---|
| 455 | + set `echo X "$libswanted "| sed -e 's/ c / /'`
|
---|
| 456 | + shift
|
---|
| 457 | + libswanted="$*"
|
---|
| 458 | + ;;
|
---|
| 459 | +esac
|
---|
| 460 | +
|
---|
| 461 | +# If we are using g++ we must use nm and force ourselves to use
|
---|
| 462 | +# the /usr/lib/libc.a (resetting the libc below to an empty string
|
---|
| 463 | +# makes Configure to look for the right one) because the symbol
|
---|
| 464 | +# scanning tricks of Configure will crash and burn horribly.
|
---|
| 465 | +case "$cc" in
|
---|
| 466 | +*g++*) usenm=true
|
---|
| 467 | + libc=''
|
---|
| 468 | + ;;
|
---|
| 469 | +esac
|
---|
| 470 | +
|
---|
| 471 | +# If using g++, the Configure scan for dlopen() and (especially)
|
---|
| 472 | +# dlerror() might fail, easier just to forcibly hint them in.
|
---|
| 473 | +case "$cc" in
|
---|
| 474 | +*g++*)
|
---|
| 475 | + d_dlopen='define'
|
---|
| 476 | + d_dlerror='define'
|
---|
| 477 | + ;;
|
---|
| 478 | +esac
|
---|
| 479 | +
|
---|
| 480 | +# Under some circumstances libdb can get built in such a way as to
|
---|
| 481 | +# need pthread explicitly linked.
|
---|
| 482 | +
|
---|
| 483 | +libdb_needs_pthread="N"
|
---|
| 484 | +
|
---|
| 485 | +if echo " $libswanted " | grep -v " pthread " >/dev/null
|
---|
| 486 | +then
|
---|
| 487 | + if echo " $libswanted " | grep " db " >/dev/null
|
---|
| 488 | + then
|
---|
| 489 | + for DBDIR in $glibpth
|
---|
| 490 | + do
|
---|
| 491 | + DBLIB="$DBDIR/libdb.so"
|
---|
| 492 | + if [ -f $DBLIB ]
|
---|
| 493 | + then
|
---|
| 494 | + if nm -u $DBLIB | grep pthread >/dev/null
|
---|
| 495 | + then
|
---|
| 496 | + if ldd $DBLIB | grep pthread >/dev/null
|
---|
| 497 | + then
|
---|
| 498 | + libdb_needs_pthread="N"
|
---|
| 499 | + else
|
---|
| 500 | + libdb_needs_pthread="Y"
|
---|
| 501 | + fi
|
---|
| 502 | + fi
|
---|
| 503 | + fi
|
---|
| 504 | + done
|
---|
| 505 | + fi
|
---|
| 506 | +fi
|
---|
| 507 | +
|
---|
| 508 | +case "$libdb_needs_pthread" in
|
---|
| 509 | + "Y")
|
---|
| 510 | + libswanted="$libswanted pthread"
|
---|
| 511 | + ;;
|
---|
| 512 | +esac
|
---|