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 -dumpversion` 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}/for Integrity/{print $6}'` 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 '#include <stdio.h>\nint main(){long l;printf("%d\\n",sizeof(l));}'>try.c 192 $cc -o try $ccflags $ldflags try.c 193 if [ "`try`" = "8" ]; then 194 case "$use64bitall" in 195 $define|true|[Yy]) ;; 196 *) cat <<EOM >&4 197 198*** This version of gcc uses 64 bit longs. -Duse64bitall is 199*** implicitly set to enable continuation 200EOM 201 esac 202 use64bitall=$define 203 gcc_64native=yes 204 fi 205 ;; 206 esac 207 208case "$use64bitall" in 209 $define|true|[yY]*) use64bitint="$define" ;; 210 esac 211 212case "$usemorebits" in 213 $define|true|[yY]*) use64bitint="$define"; uselongdouble="$define" ;; 214 esac 215 216case "$archname" in 217 IA64*) 218 # While here, override so=sl auto-detection 219 so='so' 220 ;; 221 esac 222 223case "$use64bitint" in 224 $define|true|[Yy]) 225 226 if [ "$xxOsRevMajor" -lt 11 ]; then 227 cat <<EOM >&4 228 229*** 64-bit compilation is not supported on HP-UX $xxOsRevMajor. 230*** You need at least HP-UX 11.0. 231*** Cannot continue, aborting. 232EOM 233 exit 1 234 fi 235 236 if [ $xxOsRev -eq 1100 ]; then 237 # HP-UX 11.00 uses only 48 bits internally in 64bit mode, not 64 238 # force min/max to 2**47-1 239 sGMTIME_max=140737488355327 240 sGMTIME_min=-62167219200 241 sLOCALTIME_max=140737488355327 242 sLOCALTIME_min=-62167219200 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 case "$use64bitall" in 289 $define|true|[yY]*) 290 ccflags="$ccflags +DD64" 291 ldflags="$ldflags +DD64" 292 ;; 293 esac 294 ;; 295 esac 296 297 # Reset the library checker to make sure libraries 298 # are the right type 299 # (NOTE: on IA64, this doesn't work with .a files.) 300 libscheck='case "`/usr/bin/file $xxx`" in 301 *ELF-64*|*LP64*|*PA-RISC2.0*) ;; 302 *) xxx=/no/64-bit$xxx ;; 303 esac' 304 305 ;; 306 307 *) # Not in 64-bit mode 308 309 case "$archname" in 310 PA-RISC*) 311 libc='/lib/libc.sl' ;; 312 IA64*) 313 loclibpth="$loclibpth /usr/lib/hpux32" 314 libc='/usr/lib/hpux32/libc.so' ;; 315 esac 316 ;; 317 esac 318 319# By setting the deferred flag below, this means that if you run perl 320# on a system that does not have the required shared library that you 321# linked it with, it will die when you try to access a symbol in the 322# (missing) shared library. If you would rather know at perl startup 323# time that you are missing an important shared library, switch the 324# comments so that immediate, rather than deferred loading is 325# performed. Even with immediate loading, you can postpone errors for 326# undefined (or multiply defined) routines until actual access by 327# adding the "nonfatal" option. 328# ccdlflags="-Wl,-E -Wl,-B,immediate $ccdlflags" 329# ccdlflags="-Wl,-E -Wl,-B,immediate,-B,nonfatal $ccdlflags" 330if [ "$gnu_ld" = "yes" ]; then 331 ccdlflags="-Wl,-E $ccdlflags" 332else 333 ccdlflags="-Wl,-E -Wl,-B,deferred $ccdlflags" 334 fi 335 336 337### COMPILER SPECIFICS 338 339## Local restrictions (point to README.hpux to lift these) 340 341## Optimization limits 342cat >try.c <<EOF 343#include <stdio.h> 344#include <sys/resource.h> 345 346int main () 347{ 348 struct rlimit rl; 349 int i = getrlimit (RLIMIT_DATA, &rl); 350 printf ("%d\n", (int)(rl.rlim_cur / (1024 * 1024))); 351 } /* main */ 352EOF 353$cc -o try $ccflags $ldflags try.c 354 maxdsiz=`try` 355rm -f try try.c core 356if [ $maxdsiz -le 64 ]; then 357 # 64 Mb is probably not enough to optimize toke.c 358 # and regexp.c with -O2 359 cat <<EOM >&4 360Your kernel limits the data section of your programs to $maxdsiz Mb, 361which is (sadly) not enough to fully optimize some parts of the 362perl binary. I'll try to use a lower optimization level for 363those parts. If you are a sysadmin, and you *do* want full 364optimization, raise the 'maxdsiz' kernel configuration parameter 365to at least 0x08000000 (128 Mb) and rebuild your kernel. 366EOM 367regexec_cflags='' 368doop_cflags='' 369op_cflags='' 370 fi 371 372case "$ccisgcc" in 373 $define|true|[Yy]) 374 375 case "$optimize" in 376 "") optimize="-g -O" ;; 377 *O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;; 378 esac 379 #ld="$cc" 380 ld=/usr/bin/ld 381 cccdlflags='-fPIC' 382 #lddlflags='-shared' 383 lddlflags='-b' 384 case "$optimize" in 385 *-g*-O*|*-O*-g*) 386 # gcc without gas will not accept -g 387 echo "main(){}">try.c 388 case "`$cc $optimize -c try.c 2>&1`" in 389 *"-g option disabled"*) 390 set `echo "X $optimize " | sed -e 's/ -g / /'` 391 shift 392 optimize="$*" 393 ;; 394 esac 395 ;; 396 esac 397 if [ $maxdsiz -le 64 ]; then 398 case "$optimize" in 399 *O2*) opt=`echo "$optimize" | sed -e 's/O2/O1/'` 400 toke_cflags="$toke_cflags;optimize=\"$opt\"" 401 regexec_cflags="optimize=\"$opt\"" 402 ;; 403 esac 404 fi 405 ;; 406 407 *) # HP's compiler cannot combine -g and -O 408 case "$optimize" in 409 "") optimize="+O2 +Onolimit" ;; 410 *O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;; 411 esac 412 case "$optimize" in 413 *-O*|\ 414 *O2*) opt=`echo "$optimize" | sed -e 's/-O/+O2/' -e 's/O2/O1/' -e 's/ *+Onolimit//'` 415 ;; 416 *) opt="$optimize" 417 ;; 418 esac 419 case "$archname" in 420 IA64*) 421 case "$ccversion" in 422 B3910B*A.06.0[12345]) 423 # > cc --version 424 # cc: HP aC++/ANSI C B3910B A.06.05 [Jul 25 2005] 425 # Has optimizing problems with -O2 and up for both 426 # maint (5.8.8+) and blead (5.9.3+) 427 # -O1/+O1 passed all tests (m)'05 [ 10 Jan 2005 ] 428 optimize="$opt" ;; 429 *) doop_cflags="optimize=\"$opt\"" 430 op_cflags="optimize=\"$opt\"" ;; 431 esac 432 ;; 433 esac 434 if [ $maxdsiz -le 64 ]; then 435 toke_cflags="$toke_cflags;optimize=\"$opt\"" 436 regexec_cflags="optimize=\"$opt\"" 437 fi 438 ld=/usr/bin/ld 439 cccdlflags='+Z' 440 lddlflags='-b +vnocompatwarnings' 441 ;; 442 esac 443 444## LARGEFILES 445if [ $xxOsRev -lt 1020 ]; then 446 uselargefiles="$undef" 447 fi 448 449#case "$uselargefiles-$ccisgcc" in 450# "$define-$define"|'-define') 451# cat <<EOM >&4 452# 453#*** I'm ignoring large files for this build because 454#*** I don't know how to do use large files in HP-UX using gcc. 455# 456#EOM 457# uselargefiles="$undef" 458# ;; 459# esac 460 461# Once we have the compiler flags defined, Configure will 462# execute the following call-back script. See hints/README.hints 463# for details. 464cat > UU/cc.cbu <<'EOCBU' 465# This script UU/cc.cbu will get 'called-back' by Configure after it 466# has prompted the user for the C compiler to use. 467 468# Compile and run the a test case to see if a certain gcc bug is 469# present. If so, lower the optimization level when compiling 470# pp_pack.c. This works around a bug in unpack. 471 472if test -z "$ccisgcc" -a -z "$gccversion"; then 473 : no tests needed for HPc 474else 475 echo " " 476 echo "Testing for a certain gcc bug is fixed in your compiler..." 477 478 # Try compiling the test case. 479 if $cc -o t001 -O $ccflags $ldflags -lm ../hints/t001.c; then 480 gccbug=`$run ./t001` 481 case "$gccbug" in 482 *fails*) 483 cat >&4 <<EOF 484This C compiler ($gccversion) is known to have optimizer 485problems when compiling pp_pack.c. 486 487Disabling optimization for pp_pack.c. 488EOF 489 case "$pp_pack_cflags" in 490 '') pp_pack_cflags='optimize=' 491 echo "pp_pack_cflags='optimize=\"\"'" >> config.sh ;; 492 *) echo "You specified pp_pack_cflags yourself, so we'll go with your value." >&4 ;; 493 esac 494 ;; 495 *) echo "Your compiler is ok." >&4 496 ;; 497 esac 498 else 499 echo " " 500 echo "*** WHOA THERE!!! ***" >&4 501 echo " Your C compiler \"$cc\" doesn't seem to be working!" >&4 502 case "$knowitall" in 503 '') echo " You'd better start hunting for one and let me know about it." >&4 504 exit 1 505 ;; 506 esac 507 fi 508 509 rm -f t001$_o t001$_exe 510 fi 511EOCBU 512 513cat >UU/uselargefiles.cbu <<'EOCBU' 514# This script UU/uselargefiles.cbu will get 'called-back' by Configure 515# after it has prompted the user for whether to use large files. 516case "$uselargefiles" in 517 ""|$define|true|[yY]*) 518 # there are largefile flags available via getconf(1) 519 # but we cheat for now. (Keep that in the left margin.) 520ccflags_uselargefiles="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" 521 522 case " $ccflags " in 523 *" $ccflags_uselargefiles "*) ;; 524 *) ccflags="$ccflags $ccflags_uselargefiles" ;; 525 esac 526 527 if test -z "$ccisgcc" -a -z "$gccversion"; then 528 # The strict ANSI mode (-Aa) doesn't like large files. 529 ccflags=`echo " $ccflags "|sed 's@ -Aa @ @g'` 530 case "$ccflags" in 531 *-Ae*) ;; 532 *) ccflags="$ccflags -Ae" ;; 533 esac 534 fi 535 ;; 536 esac 537EOCBU 538 539# THREADING 540 541# This script UU/usethreads.cbu will get 'called-back' by Configure 542# after it has prompted the user for whether to use threads. 543cat >UU/usethreads.cbu <<'EOCBU' 544case "$usethreads" in 545 $define|true|[yY]*) 546 if [ "$xxOsRevMajor" -lt 10 ]; then 547 cat <<EOM >&4 548 549HP-UX $xxOsRevMajor cannot support POSIX threads. 550Consider upgrading to at least HP-UX 11. 551Cannot continue, aborting. 552EOM 553 exit 1 554 fi 555 556 if [ "$xxOsRevMajor" -eq 10 ]; then 557 # Under 10.X, a threaded perl can be built 558 if [ -f /usr/include/pthread.h ]; then 559 if [ -f /usr/lib/libcma.sl ]; then 560 # DCE (from Core OS CD) is installed 561 562 # Check if it is pristine, or patched 563 cmavsn=`what /usr/lib/libcma.sl 2>&1 | grep 1996` 564 if [ ! -z "$cmavsn" ]; then 565 cat <<EOM >&4 566 567*************************************************************************** 568 569Perl will support threading through /usr/lib/libcma.sl from 570the HP DCE package, but the version found is too old to be 571reliable. 572 573If you are not depending on this specific version of the library, 574consider to upgrade using patch PHSS_23672 (read README.hpux) 575 576*************************************************************************** 577 578(sleeping for 10 seconds...) 579EOM 580 sleep 10 581 fi 582 583 # It needs # libcma and OLD_PTHREADS_API. Also 584 # <pthread.h> needs to be #included before any 585 # other includes (in perl.h) 586 587 # HP-UX 10.X uses the old pthreads API 588 d_oldpthreads="$define" 589 590 # include libcma before all the others 591 libswanted="cma $libswanted" 592 593 # tell perl.h to include <pthread.h> before other 594 # include files 595 ccflags="$ccflags -DPTHREAD_H_FIRST" 596# First column on purpose: 597# this is not a standard Configure variable 598# but we need to get this noticed. 599pthread_h_first="$define" 600 601 # HP-UX 10.X seems to have no easy 602 # way of detecting these *time_r protos. 603 d_gmtime_r_proto='define' 604 gmtime_r_proto='REENTRANT_PROTO_I_TS' 605 d_localtime_r_proto='define' 606 localtime_r_proto='REENTRANT_PROTO_I_TS' 607 608 # Avoid the poisonous conflicting (and irrelevant) 609 # prototypes of setkey (). 610 i_crypt="$undef" 611 612 # CMA redefines select to cma_select, and cma_select 613 # expects int * instead of fd_set * (just like 9.X) 614 selecttype='int *' 615 616 elif [ -f /usr/lib/libpthread.sl ]; then 617 # PTH package is installed 618 libswanted="pthread $libswanted" 619 else 620 libswanted="no_threads_available" 621 fi 622 else 623 libswanted="no_threads_available" 624 fi 625 626 if [ $libswanted = "no_threads_available" ]; then 627 cat <<EOM >&4 628 629In HP-UX 10.X for POSIX threads you need both of the files 630/usr/include/pthread.h and either /usr/lib/libcma.sl or /usr/lib/libpthread.sl. 631Either you must upgrade to HP-UX 11 or install a posix thread library: 632 633 DCE-CoreTools from HP-UX 10.20 Hardware Extensions 3.0 CD (B3920-13941) 634 635or 636 637 PTH package from e.g. http://hpux.tn.tudelft.nl/hppd/hpux/alpha.html 638 639Cannot continue, aborting. 640EOM 641 exit 1 642 fi 643 else 644 # 12 may want upping the _POSIX_C_SOURCE datestamp... 645 ccflags=" -D_POSIX_C_SOURCE=199506L -D_REENTRANT $ccflags" 646 set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` 647 shift 648 libswanted="$*" 649 650 # HP-UX 11.X seems to have no easy 651 # way of detecting these *time_r protos. 652 d_gmtime_r_proto='define' 653 gmtime_r_proto='REENTRANT_PROTO_S_TS' 654 d_localtime_r_proto='define' 655 localtime_r_proto='REENTRANT_PROTO_S_TS' 656 fi 657 ;; 658 esac 659EOCBU 660 661# There used to be: 662# The mysterious io_xs memory corruption in 11.00 32bit seems to get 663# fixed by not using Perl's malloc. Flip side is performance loss. 664# So we want mymalloc for all situations possible 665# That set usemymalloc to 'n' for threaded builds and non-gcc 32bit 666# non-debugging builds and 'y' for all others 667 668usemymalloc='n' 669case "$useperlio" in 670 $undef|false|[nN]*) usemymalloc='y' ;; 671 esac 672 673# malloc wrap works 674case "$usemallocwrap" in 675 '') usemallocwrap='define' ;; 676 esac 677 678# ctime_r () and asctime_r () seem to have issues for versions before 679# HP-UX 11 680if [ $xxOsRevMajor -lt 11 ]; then 681 d_ctime_r="$undef" 682 d_asctime_r="$undef" 683 fi 684 685# fpclassify () is a macro, the library call is Fpclassify 686# Similarly with the others below. 687d_fpclassify='define' 688d_isnan='define' 689d_isinf='define' 690d_isfinite='define' 691d_unordered='define' 692# Next one(s) need the leading tab. These are special 'hint' symbols that 693# are not to be propagated to config.sh, all related to pthreads draft 4 694# interfaces. 695case "$d_oldpthreads" in 696 ''|$undef) 697 d_crypt_r_proto='undef' 698 d_getgrent_r_proto='undef' 699 d_getpwent_r_proto='undef' 700 d_strerror_r_proto='undef' 701 ;; 702 esac 703