1#!/usr/bin/sh 2 3### SYSTEM ARCHITECTURE 4 5# Determine the architecture type of this system. 6# Keep leading tab below -- Configure Black Magic -- RAM, 03/02/97 7 xxOsRevMajor=`uname -r | sed -e 's/^[^0-9]*//' | cut -d. -f1`; 8 xxOsRevMinor=`uname -r | sed -e 's/^[^0-9]*//' | cut -d. -f2`; 9 xxOsRev=`expr 100 \* $xxOsRevMajor + $xxOsRevMinor` 10if [ "$xxOsRevMajor" -ge 10 ]; then 11 # This system is running >= 10.x 12 13 # Tested on 10.01 PA1.x and 10.20 PA[12].x. 14 # Idea: Scan /usr/include/sys/unistd.h for matches with 15 # "#define CPU_* `getconf # CPU_VERSION`" to determine CPU type. 16 # Note the text following "CPU_" is used, *NOT* the comment. 17 # 18 # ASSUMPTIONS: Numbers will continue to be defined in hex -- and in 19 # /usr/include/sys/unistd.h -- and the CPU_* #defines will be kept 20 # up to date with new CPU/OS releases. 21 xxcpu=`getconf CPU_VERSION`; # Get the number. 22 xxcpu=`printf '0x%x' $xxcpu`; # convert to hex 23 archname=`sed -n -e "s/^#[[:space:]]*define[[:space:]]*CPU_//p" /usr/include/sys/unistd.h | 24 sed -n -e "s/[[:space:]]*$xxcpu[[:space:]].*//p" | 25 sed -e s/_RISC/-RISC/ -e s/HP_// -e s/_/./ -e "s/[[:space:]]*//g"`; 26else 27 # This system is running <= 9.x 28 # Tested on 9.0[57] PA and [78].0 MC680[23]0. Idea: After removing 29 # MC6888[12] from context string, use first CPU identifier. 30 # 31 # ASSUMPTION: Only CPU identifiers contain no lowercase letters. 32 archname=`getcontext | tr ' ' '\012' | grep -v '[a-z]' | grep -v MC688 | 33 sed -e 's/HP-//' -e 1q`; 34 selecttype='int *' 35 fi 36 37# For some strange reason, the u32align test from Configure hangs in 38# HP-UX 10.20 since the December 2001 patches. So hint it to avoid 39# the test. 40if [ "$xxOsRevMajor" -le 10 ]; then 41 d_u32align=$define 42 fi 43 44echo "Archname is $archname" 45 46# Fix XSlib (CPAN) confusion when re-using a prefix but changing from ILP32 47# to LP64 builds. They're NOT binary compatible, so quit claiming they are. 48archname64=LP64 49 50 51### HP-UX OS specific behaviour 52 53# -ldbm is obsolete and should not be used 54# -lBSD contains BSD-style duplicates of SVR4 routines that cause confusion 55# -lPW is obsolete and should not be used 56# The libraries crypt, malloc, ndir, and net are empty. 57set `echo "X $libswanted " | sed -e 's/ ld / /' -e 's/ dbm / /' -e 's/ BSD / /' -e 's/ PW / /'` 58shift 59libswanted="$*" 60 61cc=${cc:-cc} 62ar=/usr/bin/ar # Yes, truly override. We do not want the GNU ar. 63full_ar=$ar # I repeat, no GNU ar. arrr. 64 65set `echo "X $ccflags " | sed -e 's/ -A[ea] / /' -e 's/ -D_HPUX_SOURCE / /'` 66shift 67 cc_cppflags="$* -D_HPUX_SOURCE" 68cppflags="-Aa -D__STDC_EXT__ $cc_cppflags" 69 70case "$prefix" in 71 "") prefix='/opt/perl5' ;; 72 esac 73 74 gnu_as=no 75 gnu_ld=no 76case `$cc -v 2>&1`"" in 77 *gcc*) ccisgcc="$define" 78 ccflags="$cc_cppflags" 79 if [ "X$gccversion" = "X" ]; then 80 # Done too late in Configure if hinted 81 gccversion=`$cc --version | sed 's/.*(GCC) *//'` 82 fi 83 case "$gccversion" in 84 [012]*) # HP-UX and gcc-2.* break UINT32_MAX :-( 85 ccflags="$ccflags -DUINT32_MAX_BROKEN" 86 ;; 87 [34]*) # GCC (both 32bit and 64bit) will define __STDC_EXT__ 88 # by default when using GCC 3.0 and newer versions of 89 # the compiler. 90 cppflags="$cc_cppflags" 91 ;; 92 esac 93 case "`getconf KERNEL_BITS 2>/dev/null`" in 94 *64*) 95 echo "main(){}">try.c 96 case "$gccversion" in 97 [34]*) 98 case "$archname" in 99 PA-RISC*) 100 case "$ccflags" in 101 *-mpa-risc*) ;; 102 *) ccflags="$ccflags -mpa-risc-2-0" ;; 103 esac 104 ;; 105 esac 106 ;; 107 *) # gcc with gas will not accept +DA2.0 108 case "`$cc -c -Wa,+DA2.0 try.c 2>&1`" in 109 *"+DA2.0"*) # gas 110 gnu_as=yes 111 ;; 112 *) # HPas 113 ccflags="$ccflags -Wa,+DA2.0" 114 ;; 115 esac 116 ;; 117 esac 118 # gcc with gld will not accept +vnocompatwarnings 119 case "`$cc -o try -Wl,+vnocompatwarnings try.c 2>&1`" in 120 *"+vnocompat"*) # gld 121 gnu_ld=yes 122 ;; 123 *) # HPld 124 case "$gccversion" in 125 [12]*) 126 # Why not 3 as well here? 127 # Since not relevant to IA64, not changed. 128 ldflags="$ldflags -Wl,+vnocompatwarnings" 129 ccflags="$ccflags -Wl,+vnocompatwarnings" 130 ;; 131 esac 132 ;; 133 esac 134 rm -f try.c 135 ;; 136 esac 137 ;; 138 *) ccisgcc='' 139 # What cannot be use in combination with ccache links :( 140 cc_found="" 141 for p in `echo $PATH | tr : ' ''` ; do 142 x="$p/cc" 143 if [ -f $x ] && [ -x $x ]; then 144 if [ -h $x ]; then 145 l=`ls -l $x | sed 's,.*-> ,,'` 146 case $l in 147 /*) x=$l ;; 148 *) x="$p/$l" ;; 149 esac 150 fi 151 x=`echo $x | sed 's,/\./,/,g'` 152 case $x in 153 *ccache*) ;; 154 *) [ -z "$cc_found" ] && cc_found=$x ;; 155 esac 156 fi 157 done 158 [ -z "$cc_found" ] && cc_found=`which cc` 159 what $cc_found >&4 160 ccversion=`what $cc_found | awk '/Compiler/{print $2}/Itanium/{print $6,$7}'` 161 case "$ccflags" in 162 "-Ae "*) ;; 163 *) ccflags="-Ae $cc_cppflags" 164 # +vnocompatwarnings not known in 10.10 and older 165 if [ $xxOsRev -ge 1020 ]; then 166 ccflags="$ccflags -Wl,+vnocompatwarnings" 167 fi 168 ;; 169 esac 170 # Needed because cpp does only support -Aa (not -Ae) 171 cpplast='-' 172 cppminus='-' 173 cppstdin='cc -E -Aa -D__STDC_EXT__' 174 cpprun=$cppstdin 175# case "$d_casti32" in 176# "") d_casti32='undef' ;; 177# esac 178 ;; 179 esac 180 181# When HP-UX runs a script with "#!", it sets argv[0] to the script name. 182toke_cflags='ccflags="$ccflags -DARG_ZERO_IS_SCRIPT"' 183 184### 64 BITNESS 185 186# Some gcc versions do native 64 bit long (e.g. 2.9-hppa-000310 and gcc-3.0) 187# We have to force 64bitness to go search the right libraries 188 gcc_64native=no 189case "$ccisgcc" in 190 $define|true|[Yy]) 191 echo 'int main(){long l;printf("%d\\n",sizeof(l));}'>try.c 192 $cc -o try $ccflags $ldflags try.c 193 if [ "`try`" = "8" ]; then 194 cat <<EOM >&4 195 196*** This version of gcc uses 64 bit longs. -Duse64bitall is 197*** implicitly set to enable continuation 198EOM 199 use64bitall=$define 200 gcc_64native=yes 201 fi 202 ;; 203 esac 204 205case "$use64bitall" in 206 $define|true|[yY]*) use64bitint="$define" ;; 207 esac 208 209case "$usemorebits" in 210 $define|true|[yY]*) use64bitint="$define"; uselongdouble="$define" ;; 211 esac 212 213case "$archname" in 214 IA64*) 215 # While here, override so=sl auto-detection 216 so='so' 217 ;; 218 *) 219 case "$uselongdouble" in 220 *) ;; 221 $define|true|[yY]*) 222 cat <<EOM >&4 223 224*** long doubles are not (yet) supported on HP-UX (any version) 225*** Until it does, we cannot continue, aborting. 226EOM 227 exit 1 ;; 228 esac 229 ;; 230 esac 231 232case "$use64bitint" in 233 $define|true|[Yy]) 234 235 if [ "$xxOsRevMajor" -lt 11 ]; then 236 cat <<EOM >&4 237 238*** 64-bit compilation is not supported on HP-UX $xxOsRevMajor. 239*** You need at least HP-UX 11.0. 240*** Cannot continue, aborting. 241EOM 242 exit 1 243 fi 244 245 # Set libc and the library paths 246 case "$archname" in 247 PA-RISC*) 248 loclibpth="$loclibpth /lib/pa20_64" 249 libc='/lib/pa20_64/libc.sl' ;; 250 IA64*) 251 loclibpth="$loclibpth /usr/lib/hpux64" 252 libc='/usr/lib/hpux64/libc.so' ;; 253 esac 254 if [ ! -f "$libc" ]; then 255 cat <<EOM >&4 256 257*** You do not seem to have the 64-bit libc. 258*** I cannot find the file $libc. 259*** Cannot continue, aborting. 260EOM 261 exit 1 262 fi 263 264 case "$ccisgcc" in 265 $define|true|[Yy]) 266 # For the moment, don't care that it ain't supported (yet) 267 # by gcc (up to and including 2.95.3), cause it'll crash 268 # anyway. Expect auto-detection of 64-bit enabled gcc on 269 # HP-UX soon, including a user-friendly exit 270 case $gcc_64native in 271 no) case "$gccversion" in 272 [1234]*) 273 ccflags="$ccflags -mlp64" 274 case "$archname" in 275 PA-RISC*) 276 ldflags="$ldflags -Wl,+DD64" 277 ;; 278 IA64*) 279 ldflags="$ldflags -mlp64" 280 ;; 281 esac 282 ;; 283 esac 284 ;; 285 esac 286 ;; 287 *) 288 ccflags="$ccflags +DD64" 289 ldflags="$ldflags +DD64" 290 ;; 291 esac 292 293 # Reset the library checker to make sure libraries 294 # are the right type 295 # (NOTE: on IA64, this doesn't work with .a files.) 296 libscheck='case "`/usr/bin/file $xxx`" in 297 *ELF-64*|*LP64*|*PA-RISC2.0*) ;; 298 *) xxx=/no/64-bit$xxx ;; 299 esac' 300 301 ;; 302 303 *) # Not in 64-bit mode 304 305 case "$archname" in 306 PA-RISC*) 307 libc='/lib/libc.sl' ;; 308 IA64*) 309 loclibpth="$loclibpth /usr/lib/hpux32" 310 libc='/usr/lib/hpux32/libc.so' ;; 311 esac 312 ;; 313 esac 314 315# By setting the deferred flag below, this means that if you run perl 316# on a system that does not have the required shared library that you 317# linked it with, it will die when you try to access a symbol in the 318# (missing) shared library. If you would rather know at perl startup 319# time that you are missing an important shared library, switch the 320# comments so that immediate, rather than deferred loading is 321# performed. Even with immediate loading, you can postpone errors for 322# undefined (or multiply defined) routines until actual access by 323# adding the "nonfatal" option. 324# ccdlflags="-Wl,-E -Wl,-B,immediate $ccdlflags" 325# ccdlflags="-Wl,-E -Wl,-B,immediate,-B,nonfatal $ccdlflags" 326if [ "$gnu_ld" = "yes" ]; then 327 ccdlflags="-Wl,-E $ccdlflags" 328else 329 ccdlflags="-Wl,-E -Wl,-B,deferred $ccdlflags" 330 fi 331 332 333### COMPILER SPECIFICS 334 335## Local restrictions (point to README.hpux to lift these) 336 337## Optimization limits 338cat >try.c <<EOF 339#include <sys/resource.h> 340 341int main () 342{ 343 struct rlimit rl; 344 int i = getrlimit (RLIMIT_DATA, &rl); 345 printf ("%d\n", (int)(rl.rlim_cur / (1024 * 1024))); 346 } /* main */ 347EOF 348$cc -o try $ccflags $ldflags try.c 349 maxdsiz=`try` 350rm -f try try.c core 351if [ $maxdsiz -le 64 ]; then 352 # 64 Mb is probably not enough to optimize toke.c 353 # and regexp.c with -O2 354 cat <<EOM >&4 355Your kernel limits the data section of your programs to $maxdsiz Mb, 356which is (sadly) not enough to fully optimize some parts of the 357perl binary. I'll try to use a lower optimization level for 358those parts. If you are a sysadmin, and you *do* want full 359optimization, raise the 'maxdsiz' kernel configuration parameter 360to at least 0x08000000 (128 Mb) and rebuild your kernel. 361EOM 362regexec_cflags='' 363doop_cflags='' 364 fi 365 366case "$ccisgcc" in 367 $define|true|[Yy]) 368 369 case "$optimize" in 370 "") optimize="-g -O" ;; 371 *O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;; 372 esac 373 #ld="$cc" 374 ld=/usr/bin/ld 375 cccdlflags='-fPIC' 376 #lddlflags='-shared' 377 lddlflags='-b' 378 case "$optimize" in 379 *-g*-O*|*-O*-g*) 380 # gcc without gas will not accept -g 381 echo "main(){}">try.c 382 case "`$cc $optimize -c try.c 2>&1`" in 383 *"-g option disabled"*) 384 set `echo "X $optimize " | sed -e 's/ -g / /'` 385 shift 386 optimize="$*" 387 ;; 388 esac 389 ;; 390 esac 391 if [ $maxdsiz -le 64 ]; then 392 case "$optimize" in 393 *O2*) opt=`echo "$optimize" | sed -e 's/O2/O1/'` 394 toke_cflags="$toke_cflags;optimize=\"$opt\"" 395 regexec_cflags="optimize=\"$opt\"" 396 ;; 397 esac 398 fi 399 ;; 400 401 *) # HP's compiler cannot combine -g and -O 402 case "$optimize" in 403 "") optimize="+O2 +Onolimit" ;; 404 *O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;; 405 esac 406 case "$optimize" in 407 *-O*|\ 408 *O2*) opt=`echo "$optimize" | sed -e 's/-O/+O2/' -e 's/O2/O1/' -e 's/ *+Onolimit//'` 409 ;; 410 *) opt="$optimize" 411 ;; 412 esac 413 case "$archname" in 414 IA64*) 415 case "$ccversion" in 416 B3910B*A.06.0[12345]) 417 # > cc --version 418 # cc: HP aC++/ANSI C B3910B A.06.05 [Jul 25 2005] 419 # Has optimizing problems with -O2 and up for both 420 # maint (5.8.8+) and blead (5.9.3+) 421 # -O1/+O1 passed all tests (m)'05 [ 10 Jan 2005 ] 422 optimize="$opt" ;; 423 *) doop_cflags="optimize=\"$opt\"" ;; 424 esac 425 ;; 426 esac 427 if [ $maxdsiz -le 64 ]; then 428 toke_cflags="$toke_cflags;optimize=\"$opt\"" 429 regexec_cflags="optimize=\"$opt\"" 430 fi 431 ld=/usr/bin/ld 432 cccdlflags='+Z' 433 lddlflags='-b +vnocompatwarnings' 434 ;; 435 esac 436 437## LARGEFILES 438if [ $xxOsRev -lt 1020 ]; then 439 uselargefiles="$undef" 440 fi 441 442#case "$uselargefiles-$ccisgcc" in 443# "$define-$define"|'-define') 444# cat <<EOM >&4 445# 446#*** I'm ignoring large files for this build because 447#*** I don't know how to do use large files in HP-UX using gcc. 448# 449#EOM 450# uselargefiles="$undef" 451# ;; 452# esac 453 454# Once we have the compiler flags defined, Configure will 455# execute the following call-back script. See hints/README.hints 456# for details. 457cat > UU/cc.cbu <<'EOCBU' 458# This script UU/cc.cbu will get 'called-back' by Configure after it 459# has prompted the user for the C compiler to use. 460 461# Compile and run the a test case to see if a certain gcc bug is 462# present. If so, lower the optimization level when compiling 463# pp_pack.c. This works around a bug in unpack. 464 465if test -z "$ccisgcc" -a -z "$gccversion"; then 466 : no tests needed for HPc 467else 468 echo " " 469 echo "Testing for a certain gcc bug is fixed in your compiler..." 470 471 # Try compiling the test case. 472 if $cc -o t001 -O $ccflags $ldflags -lm ../hints/t001.c; then 473 gccbug=`$run ./t001` 474 case "$gccbug" in 475 *fails*) 476 cat >&4 <<EOF 477This C compiler ($gccversion) is known to have optimizer 478problems when compiling pp_pack.c. 479 480Disabling optimization for pp_pack.c. 481EOF 482 case "$pp_pack_cflags" in 483 '') pp_pack_cflags='optimize=' 484 echo "pp_pack_cflags='optimize=\"\"'" >> config.sh ;; 485 *) echo "You specified pp_pack_cflags yourself, so we'll go with your value." >&4 ;; 486 esac 487 ;; 488 *) echo "Your compiler is ok." >&4 489 ;; 490 esac 491 else 492 echo " " 493 echo "*** WHOA THERE!!! ***" >&4 494 echo " Your C compiler \"$cc\" doesn't seem to be working!" >&4 495 case "$knowitall" in 496 '') echo " You'd better start hunting for one and let me know about it." >&4 497 exit 1 498 ;; 499 esac 500 fi 501 502 rm -f t001$_o t001$_exe 503 fi 504EOCBU 505 506cat >UU/uselargefiles.cbu <<'EOCBU' 507# This script UU/uselargefiles.cbu will get 'called-back' by Configure 508# after it has prompted the user for whether to use large files. 509case "$uselargefiles" in 510 ""|$define|true|[yY]*) 511 # there are largefile flags available via getconf(1) 512 # but we cheat for now. (Keep that in the left margin.) 513ccflags_uselargefiles="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" 514 515 case " $ccflags " in 516 *" $ccflags_uselargefiles "*) ;; 517 *) ccflags="$ccflags $ccflags_uselargefiles" ;; 518 esac 519 520 if test -z "$ccisgcc" -a -z "$gccversion"; then 521 # The strict ANSI mode (-Aa) doesn't like large files. 522 ccflags=`echo " $ccflags "|sed 's@ -Aa @ @g'` 523 case "$ccflags" in 524 *-Ae*) ;; 525 *) ccflags="$ccflags -Ae" ;; 526 esac 527 fi 528 ;; 529 esac 530EOCBU 531 532# THREADING 533 534# This script UU/usethreads.cbu will get 'called-back' by Configure 535# after it has prompted the user for whether to use threads. 536cat >UU/usethreads.cbu <<'EOCBU' 537case "$usethreads" in 538 $define|true|[yY]*) 539 if [ "$xxOsRevMajor" -lt 10 ]; then 540 cat <<EOM >&4 541 542HP-UX $xxOsRevMajor cannot support POSIX threads. 543Consider upgrading to at least HP-UX 11. 544Cannot continue, aborting. 545EOM 546 exit 1 547 fi 548 549 if [ "$xxOsRevMajor" -eq 10 ]; then 550 # Under 10.X, a threaded perl can be built 551 if [ -f /usr/include/pthread.h ]; then 552 if [ -f /usr/lib/libcma.sl ]; then 553 # DCE (from Core OS CD) is installed 554 555 # Check if it is pristine, or patched 556 cmavsn=`what /usr/lib/libcma.sl 2>&1 | grep 1996` 557 if [ ! -z "$cmavsn" ]; then 558 cat <<EOM >&4 559 560*************************************************************************** 561 562Perl will support threading through /usr/lib/libcma.sl from 563the HP DCE package, but the version found is too old to be 564reliable. 565 566If you are not depending on this specific version of the library, 567consider to upgrade using patch PHSS_23672 (read README.hpux) 568 569*************************************************************************** 570 571(sleeping for 10 seconds...) 572EOM 573 sleep 10 574 fi 575 576 # It needs # libcma and OLD_PTHREADS_API. Also 577 # <pthread.h> needs to be #included before any 578 # other includes (in perl.h) 579 580 # HP-UX 10.X uses the old pthreads API 581 d_oldpthreads="$define" 582 583 # include libcma before all the others 584 libswanted="cma $libswanted" 585 586 # tell perl.h to include <pthread.h> before other 587 # include files 588 ccflags="$ccflags -DPTHREAD_H_FIRST" 589# First column on purpose: 590# this is not a standard Configure variable 591# but we need to get this noticed. 592pthread_h_first="$define" 593 594 # HP-UX 10.X seems to have no easy 595 # way of detecting these *time_r protos. 596 d_gmtime_r_proto='define' 597 gmtime_r_proto='REENTRANT_PROTO_I_TS' 598 d_localtime_r_proto='define' 599 localtime_r_proto='REENTRANT_PROTO_I_TS' 600 601 # Avoid the poisonous conflicting (and irrelevant) 602 # prototypes of setkey(). 603 i_crypt="$undef" 604 605 # CMA redefines select to cma_select, and cma_select 606 # expects int * instead of fd_set * (just like 9.X) 607 selecttype='int *' 608 609 elif [ -f /usr/lib/libpthread.sl ]; then 610 # PTH package is installed 611 libswanted="pthread $libswanted" 612 else 613 libswanted="no_threads_available" 614 fi 615 else 616 libswanted="no_threads_available" 617 fi 618 619 if [ $libswanted = "no_threads_available" ]; then 620 cat <<EOM >&4 621 622In HP-UX 10.X for POSIX threads you need both of the files 623/usr/include/pthread.h and either /usr/lib/libcma.sl or /usr/lib/libpthread.sl. 624Either you must upgrade to HP-UX 11 or install a posix thread library: 625 626 DCE-CoreTools from HP-UX 10.20 Hardware Extensions 3.0 CD (B3920-13941) 627 628or 629 630 PTH package from e.g. http://hpux.tn.tudelft.nl/hppd/hpux/alpha.html 631 632Cannot continue, aborting. 633EOM 634 exit 1 635 fi 636 else 637 # 12 may want upping the _POSIX_C_SOURCE datestamp... 638 ccflags=" -D_POSIX_C_SOURCE=199506L -D_REENTRANT $ccflags" 639 set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` 640 shift 641 libswanted="$*" 642 fi 643 644 ;; 645 esac 646EOCBU 647 648# The mysterious io_xs memory corruption in 11.00 32bit seems to get 649# fixed by not using Perl's malloc. Flip side is performance loss. 650# So we want mymalloc for all situations possible 651usemymalloc='y' 652case "$usethreads" in 653 $define|true|[yY]*) usemymalloc='n' ;; 654 *) case "$ccisgcc" in 655 $undef|false|[nN]*) 656 case "$use64bitint" in 657 $undef|false|[nN]*) 658 case "$ccflags" in 659 *-DDEBUGGING*) ;; 660 *) usemymalloc='n' ;; 661 esac 662 ;; 663 esac 664 ;; 665 esac 666 ;; 667 esac 668 669usemymalloc='n' 670case "$useperlio" in 671 $undef|false|[nN]*) usemymalloc='y' ;; 672 esac 673 674# malloc wrap works 675case "$usemallocwrap" in 676'') usemallocwrap='define' ;; 677esac 678 679# ctime_r() and asctime_r() seem to have issues for versions before 680# HP-UX 11 681if [ $xxOsRevMajor -lt 11 ]; then 682 d_ctime_r="$undef" 683 d_asctime_r="$undef" 684 fi 685 686 687# fpclassify() is a macro, the library call is Fpclassify 688# Similarly with the others below. 689d_fpclassify='define' 690d_isnan='define' 691d_isinf='define' 692d_isfinite='define' 693d_unordered='define' 694# Next one(s) need the leading tab. These are special 'hint' symbols that 695# are not to be propagated to config.sh, all related to pthreads draft 4 696# interfaces. 697case "$d_oldpthreads" in 698 ''|$undef) 699 d_crypt_r_proto='undef' 700 d_getgrent_r_proto='undef' 701 d_getpwent_r_proto='undef' 702 d_strerror_r_proto='undef' 703 ;; 704 esac 705