[3181] | 1 | $! OpenVMS configuration procedure for Perl -- do not attempt to run under DOS
|
---|
| 2 | $ sav_ver = 'F$VERIFY(0)'
|
---|
| 3 | $ on control_y then goto clean_up
|
---|
| 4 | $! SET VERIFY
|
---|
| 5 | $!
|
---|
| 6 | $! For example, if you unpacked perl into: [USER.PERL-5n...] then you will
|
---|
| 7 | $! want to cd into the tree and execute Configure:
|
---|
| 8 | $!
|
---|
| 9 | $! $ SET DEFAULT [USER.PERL5_xxx]
|
---|
| 10 | $! $ @Configure
|
---|
| 11 | $!
|
---|
| 12 | $! or
|
---|
| 13 | $!
|
---|
| 14 | $! $ SET DEFAULT [USER.PERL5_xxx]
|
---|
| 15 | $! $ @Configure "-des"
|
---|
| 16 | $!
|
---|
| 17 | $! That's it. If you get into a bind trying to build perl on VMS then
|
---|
| 18 | $! definitely read through the README.VMS file.
|
---|
| 19 | $! Beyond that send email to vmsperl@perl.org
|
---|
| 20 | $!
|
---|
| 21 | $! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
---|
| 22 | $!
|
---|
| 23 | $! send suggestions to:
|
---|
| 24 | $! Dan Sugalski <dan@sidhe.org>
|
---|
| 25 | $! Thank you!!!!
|
---|
| 26 | $!
|
---|
| 27 | $! Adapted and converted from Larry Wall & Andy Dougherty's
|
---|
| 28 | $! "Configure generated by metaconfig 3.0 PL60." by Peter Prymmer
|
---|
| 29 | $! (a Bourne sh[ell] script for configuring the installation of perl
|
---|
| 30 | $! on non-VMS systems) in the perl5.002|3 epoch (spring/summer 1996)
|
---|
| 31 | $! with much valuable help from Charles Bailey &
|
---|
| 32 | $! the whole VMSPerl crew.
|
---|
| 33 | $! Extended and messed about with by Dan Sugalski
|
---|
| 34 | $!
|
---|
| 35 | $! VMS-isms we will need:
|
---|
| 36 | $ echo = "write sys$output "
|
---|
| 37 | $ cat = "type"
|
---|
| 38 | $ delete := delete ! local symbol overrides globals with qualifiers
|
---|
| 39 | $ gcc_symbol = "gcc"
|
---|
| 40 | $ ld = "Link/nodebug"
|
---|
| 41 | $ ans = ""
|
---|
| 42 | $ macros = ""
|
---|
| 43 | $ extra_flags = ""
|
---|
| 44 | $ user_c_flags = ""
|
---|
| 45 | $ use_ieee_math = "y"
|
---|
| 46 | $ be_case_sensitive = "n"
|
---|
| 47 | $ unlink_all_versions = "n"
|
---|
| 48 | $ builder = "MMK"
|
---|
| 49 | $ use_vmsdebug_perl = "n"
|
---|
| 50 | $ use64bitall = "n"
|
---|
| 51 | $ use64bitint = "n"
|
---|
| 52 | $ uselargefiles = "n"
|
---|
| 53 | $ usesitecustomize = "n"
|
---|
| 54 | $ C_Compiler_Replace = "CC="
|
---|
| 55 | $ Thread_Live_Dangerously = "MT="
|
---|
| 56 | $ use_two_pot_malloc = "N"
|
---|
| 57 | $ use_pack_malloc = "N"
|
---|
| 58 | $ use_debugmalloc = "N"
|
---|
| 59 | $ ccflags = ""
|
---|
| 60 | $ static_ext = ""
|
---|
| 61 | $ nonxs_ext = ""
|
---|
| 62 | $ vms_default_directory_name = F$ENVIRONMENT("DEFAULT")
|
---|
| 63 | $ max_allowed_dir_depth = 3 ! e.g. [A.B.PERLxxx] not [A.B.C.PERLxxx]
|
---|
| 64 | $! max_allowed_dir_depth = 2 ! e.g. [A.PERLxxx] not [A.B.PERLxxx]
|
---|
| 65 | $!
|
---|
| 66 | $! Sebastian Bazley's request: close the CONFIG handle with /NOLOG
|
---|
| 67 | $! qualifier "just in case" (configure.com is re @ed in a bad state).
|
---|
| 68 | $! This construct was tested to be not a problem as far back as
|
---|
| 69 | $! VMS V5.5-2, hopefully earlier versions are OK as well.
|
---|
| 70 | $!
|
---|
| 71 | $ CLOSE/NOLOG CONFIG
|
---|
| 72 | $!
|
---|
| 73 | $! Now keep track of open files
|
---|
| 74 | $!
|
---|
| 75 | $ vms_filcnt = F$GETJPI ("","FILCNT")
|
---|
| 76 | $!
|
---|
| 77 | $!: compute my invocation name
|
---|
| 78 | $ me = F$ENVIRONMENT("PROCEDURE")
|
---|
| 79 | $!
|
---|
| 80 | $! Many null statements (begin with colon ':') in the Bourne shell version of
|
---|
| 81 | $! this script serve as comments/placeholders. I have retained some of the ones
|
---|
| 82 | $! that will help you compare this .COM file to the sh version - as well as
|
---|
| 83 | $! leave placeholders for future improvements to this .COM file.
|
---|
| 84 | $! sfn = VMS "skipped for now"
|
---|
| 85 | $!
|
---|
| 86 | $!: Proper PATH separator !sfn
|
---|
| 87 | $!: Proper PATH setting !sfn
|
---|
| 88 | $!: Sanity checks !sfn "Say '@''$me''"
|
---|
| 89 | $!: On HP-UX, large Configure scripts may exercise a bug in /bin/sh !sfn
|
---|
| 90 | $!: Configure runs within the UU subdirectory !->after find MANIFEST
|
---|
| 91 | $! <big long list of default values (mostly null)>
|
---|
| 92 | $!: We must find out about Eunice early !(?)
|
---|
| 93 | $!: list of known cpp symbols, sorted alphabetically !sfn
|
---|
| 94 | $! al = al + "..."
|
---|
| 95 | $!: default library list !sfn
|
---|
| 96 | $! <no hints files in use (yet?)>
|
---|
| 97 | $!: Extra object files, if any, needed on this platform. !sfn
|
---|
| 98 | $!: Possible local include directories to search. !sfn
|
---|
| 99 | $!: Set locincpth to "" in a hint file to defeat local include searches. !sfn
|
---|
| 100 | $!locincpth="/usr/local/include /opt/local/include /usr/gnu/include" !sfn
|
---|
| 101 | $!locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
|
---|
| 102 | $!: no include file wanted by default !sfn
|
---|
| 103 | $!inclwanted='' !sfn
|
---|
| 104 | $!: Possible local library directories to search. !sfn
|
---|
| 105 | $!loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib" !sfn
|
---|
| 106 | $!loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" !sfn
|
---|
| 107 | $!: general looking path for locating libraries !sfn
|
---|
| 108 | $!glibpth="/lib/pa1.1 /usr/shlib /usr/lib/large /lib /usr/lib" !sfn
|
---|
| 109 | $!glibpth="$glibpth $xlibpth /lib/large /usr/lib/small /lib/small" !sfn
|
---|
| 110 | $!glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/shlib" !sfn
|
---|
| 111 | $!: Private path used by Configure to find libraries. Its value !sfn
|
---|
| 112 | $!: is prepended to libpth. This variable takes care of special !sfn
|
---|
| 113 | $!: machines, like the mips. Usually, it should be empty. !sfn
|
---|
| 114 | $!plibpth='' !sfn
|
---|
| 115 | $!: full support for void wanted by default !sfn
|
---|
| 116 | $!defvoidused=15 !sfn
|
---|
| 117 | $!: List of libraries we want. !sfn
|
---|
| 118 | $!libswanted='net socket inet nsl nm ndbm gdbm dbm db malloc dl' !sfn
|
---|
| 119 | $!libswanted="$libswanted dld ld sun m c cposix posix ndir dir crypt" !sfn
|
---|
| 120 | $!libswanted="$libswanted ucb bsd BSD PW x" !sfn
|
---|
| 121 | $!: We probably want to search /usr/shlib before most other libraries. !sfn
|
---|
| 122 | $!: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. !sfn
|
---|
| 123 | $!glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` !sfn
|
---|
| 124 | $!glibpth="/usr/shlib $glibpth" !sfn
|
---|
| 125 | $!: Do not use vfork unless overridden by a hint file. !sfn
|
---|
| 126 | $!usevfork=false !sfn
|
---|
| 127 | $!: script used to extract .SH files with variable substitutions !sfn
|
---|
| 128 | $!: produce awk script to parse command line options !sfn
|
---|
| 129 | $!sfn (assume no sed awk) see below
|
---|
| 130 | $!: process the command line options
|
---|
| 131 | $!
|
---|
| 132 | $!: set up default values
|
---|
| 133 | $ fastread=""
|
---|
| 134 | $ reuseval="false"
|
---|
| 135 | $ maniskip = "false"
|
---|
| 136 | $ IF F$TYPE(config_sh) .EQS. "" THEN config_sh=""
|
---|
| 137 | $ alldone=""
|
---|
| 138 | $ error=""
|
---|
| 139 | $ silent=""
|
---|
| 140 | $ extractsh=""
|
---|
| 141 | $ override=""
|
---|
| 142 | $ knowitall=""
|
---|
| 143 | $ ccname="VAX"
|
---|
| 144 | $ Dec_C_Version = ""
|
---|
| 145 | $ cxxversion = ""
|
---|
| 146 | $ use_threads = "F"
|
---|
| 147 | $ use_5005_threads = "N"
|
---|
| 148 | $ use_ithreads = "N"
|
---|
| 149 | $!
|
---|
| 150 | $!: option parsing
|
---|
| 151 | $ config_args = ""
|
---|
| 152 | $ IF (P1 .NES. "")
|
---|
| 153 | $ THEN !one or more switches was thrown
|
---|
| 154 | $ i = 1
|
---|
| 155 | $ bang = 0
|
---|
| 156 | $Param_loop:
|
---|
| 157 | $ IF (P'i'.NES."")
|
---|
| 158 | $ THEN
|
---|
| 159 | $ bang = bang + 1
|
---|
| 160 | $ config_args = config_args + F$FAO(" !AS",P'i')
|
---|
| 161 | $ ENDIF
|
---|
| 162 | $ i = i + 1
|
---|
| 163 | $ IF (i.LT.9) THEN GOTO Param_loop !DCL allows P1..P8
|
---|
| 164 | $!
|
---|
| 165 | $ i = 1
|
---|
| 166 | $Opt_loop:
|
---|
| 167 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "-") THEN P'i' = P'i' - "-"
|
---|
| 168 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "/") THEN P'i' = P'i' - "/"
|
---|
| 169 | $Remove_quotation_mark:
|
---|
| 170 | $ P'i' = P'i' - """"
|
---|
| 171 | $ IF F$LOCATE("""",P'i') .LT. F$LENGTH(P'i') THEN GOTO Remove_quotation_mark
|
---|
| 172 | $ gotopt = "f" !"alse"
|
---|
| 173 | $ gotshortopt = "f" !"alse"
|
---|
| 174 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "d")
|
---|
| 175 | $ THEN
|
---|
| 176 | $ fastread = "yes"
|
---|
| 177 | $ gotopt = "t" !"rue"
|
---|
| 178 | $ P'i' = P'i' - "d"
|
---|
| 179 | $ gotshortopt = "t" !"rue"
|
---|
| 180 | $ ENDIF
|
---|
| 181 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "e")
|
---|
| 182 | $ THEN
|
---|
| 183 | $ alldone = "cont"
|
---|
| 184 | $ gotopt = "t"
|
---|
| 185 | $ P'i' = P'i' - "e"
|
---|
| 186 | $ gotshortopt = "t"
|
---|
| 187 | $ ENDIF
|
---|
| 188 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "f") ! "-f"
|
---|
| 189 | $ THEN
|
---|
| 190 | $ P'i' = P'i' - "f"
|
---|
| 191 | $ config_sh = P'i'
|
---|
| 192 | $ IF (F$SEARCH(config_sh).NES."")
|
---|
| 193 | $ THEN
|
---|
| 194 | $ test_config_sh = F$FILE_ATTRIBUTES(config_sh,"PRO")
|
---|
| 195 | $ IF (F$LOCATE("R",test_config_sh).NE.F$LENGTH(test_config_sh))
|
---|
| 196 | $ THEN
|
---|
| 197 | $ config_dflt = "y"
|
---|
| 198 | $ CONTINUE !at this point check UIC && if test allows...
|
---|
| 199 | $ !to be continued ?
|
---|
| 200 | $ ELSE
|
---|
| 201 | $ echo "''me': cannot read config file ''config_sh'."
|
---|
| 202 | $ error="true"
|
---|
| 203 | $ ENDIF
|
---|
| 204 | $ ELSE
|
---|
| 205 | $ echo "''me': cannot read config file ''config_sh'."
|
---|
| 206 | $ error="true"
|
---|
| 207 | $ ENDIF
|
---|
| 208 | $ gotopt = "t"
|
---|
| 209 | $ ENDIF
|
---|
| 210 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "h") ! "-h"
|
---|
| 211 | $ THEN
|
---|
| 212 | $ error = "true"
|
---|
| 213 | $ gotopt = "t"
|
---|
| 214 | $ P'i' = P'i' - "h"
|
---|
| 215 | $ gotshortopt = "t"
|
---|
| 216 | $ ENDIF
|
---|
| 217 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "m") ! "-m"
|
---|
| 218 | $ THEN
|
---|
| 219 | $ maniskip = "true"
|
---|
| 220 | $ gotopt = "t"
|
---|
| 221 | $ P'i' = P'i' - "m"
|
---|
| 222 | $ gotshortopt = "t"
|
---|
| 223 | $ ENDIF
|
---|
| 224 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "r") ! "-r"
|
---|
| 225 | $ THEN
|
---|
| 226 | $ reuseval = "true"
|
---|
| 227 | $ gotopt = "t"
|
---|
| 228 | $ P'i' = P'i' - "r"
|
---|
| 229 | $ gotshortopt = "t"
|
---|
| 230 | $ ENDIF
|
---|
| 231 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "s") ! "-s"
|
---|
| 232 | $ THEN
|
---|
| 233 | $ silent = "true"
|
---|
| 234 | $ gotopt = "t"
|
---|
| 235 | $ P'i' = P'i' - "s"
|
---|
| 236 | $ gotshortopt = "t"
|
---|
| 237 | $ ENDIF
|
---|
| 238 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "E") ! "-E"
|
---|
| 239 | $ THEN
|
---|
| 240 | $ alldone = "exit"
|
---|
| 241 | $ gotopt = "t"
|
---|
| 242 | $ ENDIF
|
---|
| 243 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "K") ! "-K"
|
---|
| 244 | $ THEN
|
---|
| 245 | $ knowitall = "true"
|
---|
| 246 | $ gotopt = "t"
|
---|
| 247 | $ P'i' = P'i' - "K"
|
---|
| 248 | $ gotshortopt = "t"
|
---|
| 249 | $ ENDIF
|
---|
| 250 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "O") ! "-O"
|
---|
| 251 | $ THEN
|
---|
| 252 | $ override = "true"
|
---|
| 253 | $ gotopt = "t"
|
---|
| 254 | $ P'i' = P'i' - "O"
|
---|
| 255 | $ gotshortopt = "t"
|
---|
| 256 | $ ENDIF
|
---|
| 257 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "S") ! "-S"
|
---|
| 258 | $ THEN
|
---|
| 259 | $ extractsh = "true" !VMS? Yes with munchconfig
|
---|
| 260 | $ gotopt = "t"
|
---|
| 261 | $ P'i' = P'i' - "S"
|
---|
| 262 | $ gotshortopt = "t"
|
---|
| 263 | $ ENDIF
|
---|
| 264 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "D") ! "-D"
|
---|
| 265 | $ THEN
|
---|
| 266 | $ P'i' = P'i' - "D"
|
---|
| 267 | $ IF (F$LOCATE("=",P'i') .EQ. F$LENGTH(P'i'))
|
---|
| 268 | $ THEN
|
---|
| 269 | $ tmp = P'i' + "=""define"""
|
---|
| 270 | $ 'tmp'
|
---|
| 271 | $ DELETE/SYMBOL tmp
|
---|
| 272 | $ ELSE
|
---|
| 273 | $ IF (F$LOCATE("=",P'i') .EQ. (F$LENGTH(P'i') - 1))
|
---|
| 274 | $ THEN
|
---|
| 275 | $ me = F$PARSE(me,,,"NAME") + F$PARSE(me,,,"TYPE")
|
---|
| 276 | $ echo "''me': use ""-Usymbol=val"" not ""-Dsymbol=""."
|
---|
| 277 | $ echo "''me': ignoring -D",P'i'
|
---|
| 278 | $ ELSE
|
---|
| 279 | $ tmp = F$EXTRACT(0,F$LOCATE("=",P'i'),P'i')
|
---|
| 280 | $ tmp = tmp + "=""" + F$EXTRACT(F$LOCATE("=",P'i')+1,F$LENGTH(P'i'),P'i') + """"
|
---|
| 281 | $ 'tmp'
|
---|
| 282 | $ DELETE/SYMBOL tmp
|
---|
| 283 | $ ENDIF
|
---|
| 284 | $ ENDIF
|
---|
| 285 | $ gotopt = "t"
|
---|
| 286 | $ ENDIF
|
---|
| 287 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "U") ! "-U"
|
---|
| 288 | $ THEN
|
---|
| 289 | $ P'i' = P'i' - "U"
|
---|
| 290 | $ IF (F$LOCATE("=",P'i') .EQ. F$LENGTH(P'i'))
|
---|
| 291 | $ THEN
|
---|
| 292 | $ tmp = P'i' + "="""""
|
---|
| 293 | $ 'tmp'
|
---|
| 294 | $ DELETE/SYMBOL tmp
|
---|
| 295 | $ ELSE
|
---|
| 296 | $ IF (F$LOCATE("=",P'i') .LT. (F$LENGTH(P'i') - 1))
|
---|
| 297 | $ THEN
|
---|
| 298 | $ me = F$PARSE(me,,,"NAME") + F$PARSE(me,,,"TYPE")
|
---|
| 299 | $ echo "''me': use ""-Dsymbol=val"" not ""-Usymbol=val""."
|
---|
| 300 | $ echo "''me': ignoring -U",P'i'
|
---|
| 301 | $ ELSE
|
---|
| 302 | $ tmp = P'i' + "=""undef"""
|
---|
| 303 | $ 'tmp'
|
---|
| 304 | $ DELETE/SYMBOL tmp
|
---|
| 305 | $ ENDIF
|
---|
| 306 | $ ENDIF
|
---|
| 307 | $ gotopt = "t"
|
---|
| 308 | $ ENDIF
|
---|
| 309 | $ IF (F$EXTRACT(0,1,P'i') .EQS. "V")
|
---|
| 310 | $ THEN
|
---|
| 311 | $ me = F$PARSE(me,,,"NAME") + F$PARSE(me,,,"TYPE")
|
---|
| 312 | $ echo "''me' generated by an unknown version of EDT."
|
---|
| 313 | $ STOP
|
---|
| 314 | $ EXIT
|
---|
| 315 | $ ENDIF
|
---|
| 316 | $ IF .NOT.gotopt
|
---|
| 317 | $ THEN
|
---|
| 318 | $ echo "''me': unknown option ",P'i'
|
---|
| 319 | $ error = "true"
|
---|
| 320 | $ ENDIF
|
---|
| 321 | $ IF (F$LENGTH(P'i').GT.0).AND.(gotshortopt) THEN i = i - 1 !clustered switch
|
---|
| 322 | $ i = i + 1
|
---|
| 323 | $ IF (i .LT. (bang + 1)) THEN GOTO Opt_loop
|
---|
| 324 | $!
|
---|
| 325 | $ ENDIF ! (P1 .NES. "")
|
---|
| 326 | $ config_args = F$EDIT(config_args,"TRIM")
|
---|
| 327 | $!
|
---|
| 328 | $ IF (error)
|
---|
| 329 | $ THEN
|
---|
| 330 | $ me = F$PARSE(me,,,"DIRECTORY")+ F$PARSE(me,,,"NAME")
|
---|
| 331 | $ echo "Usage: @''me' [-dehmr""EKOSV""] [-fconfig.sh] [""-Dsymbol""] [""-Dsymbol=value""]"
|
---|
| 332 | $ echo " [-Usymbol] [-Usymbol=]"
|
---|
| 333 | $ TYPE SYS$INPUT:
|
---|
| 334 | $ DECK
|
---|
| 335 | "-d" : use defaults for all answers.
|
---|
| 336 | "-e" : go on without questioning past the production of config.sh. *
|
---|
| 337 | "-f" : specify an alternate default configuration file.
|
---|
| 338 | "-h" : print this help message and exit (with an error status).
|
---|
| 339 | "-m" : skip the MANIFEST check to see that all files are present
|
---|
| 340 | "-r" : reuse C symbols value if possible (skips costly nm extraction).*
|
---|
| 341 | "-s" : silent mode, only echoes questions and essential information.
|
---|
| 342 | -"D" : define symbol to have some value: *
|
---|
| 343 | -"Dsymbol" symbol gets the value 'define'
|
---|
| 344 | -"Dsymbol=value" symbol gets the value 'value'
|
---|
| 345 | -E : stop at the end of questions, after having produced config.sh. *
|
---|
| 346 | -K : do not use unless you know what you are doing.
|
---|
| 347 | -O : let -D and -U override definitions from loaded configuration file. *
|
---|
| 348 | -S : perform variable substitutions on all .SH files (can mix with -f) *
|
---|
| 349 | -"U" : undefine symbol: *
|
---|
| 350 | -"Usymbol" symbol gets the value 'undef'
|
---|
| 351 | -"Usymbol=" symbol gets completely empty
|
---|
| 352 | -V : print version number and exit (with a zero status).
|
---|
| 353 | $ EOD
|
---|
| 354 | $ echo "%Config-I-VMS, lower case switches must be enclosed"
|
---|
| 355 | $ echo "-Config-I-VMS, in double quotation marks, e.g.:"
|
---|
| 356 | $ echo "-Config-I-VMS, @Configure ""-des"""
|
---|
| 357 | $ echo "-Config-I-VMS, * indicates switch may not be fully implemented for VMS."
|
---|
| 358 | $ SET DEFAULT 'vms_default_directory_name' !be kind rewind
|
---|
| 359 | $ STOP
|
---|
| 360 | $ EXIT 3 ! $STATUS = "%X00000003" (informational)
|
---|
| 361 | $ ENDIF
|
---|
| 362 | $!
|
---|
| 363 | $ GOTO Check_silence
|
---|
| 364 | $!
|
---|
| 365 | $Shut_up:
|
---|
| 366 | $ IF F$Mode() .eqs. "BATCH"
|
---|
| 367 | $ THEN
|
---|
| 368 | $ STDOUT = F$PARSE(F$GETQUI("DISPLAY_ENTRY", "JOB_NAME"), -
|
---|
| 369 | F$GETQUI("DISPLAY_ENTRY", "LOG_SPECIFICATION"), ".LOG")
|
---|
| 370 | $ WRITE SYS$OUTPUT "Warning: Executing in batch mode. To avoid file locking conflicts,"
|
---|
| 371 | $ WRITE SYS$OUTPUT "output intended for SYS$OUTPUT will be sent to a new version"
|
---|
| 372 | $ WRITE SYS$OUTPUT STDOUT
|
---|
| 373 | $ ELSE
|
---|
| 374 | $ STDOUT = F$TRNLNM("SYS$OUTPUT")
|
---|
| 375 | $ ENDIF
|
---|
| 376 | $ DEFINE SYS$OUTPUT "_NLA0:"
|
---|
| 377 | $ echo4 = "write STDOUT "
|
---|
| 378 | $ cat4 = "TYPE/OUTPUT=''STDOUT'"
|
---|
| 379 | $ open/write/share=read STDOUT 'STDOUT'
|
---|
| 380 | $ RETURN
|
---|
| 381 | $!
|
---|
| 382 | $Check_silence:
|
---|
| 383 | $ IF (silent)
|
---|
| 384 | $ THEN
|
---|
| 385 | $ GOSUB Shut_up
|
---|
| 386 | $ ELSE
|
---|
| 387 | $ echo4 = "write SYS$OUTPUT "
|
---|
| 388 | $ cat4 = "TYPE"
|
---|
| 389 | $ ENDIF
|
---|
| 390 | $!
|
---|
| 391 | $!: run the defines and the undefines, if any, but leave the file out there...
|
---|
| 392 | $! Unfortunately Configure.COM in DCL is not yet set up to do this -
|
---|
| 393 | $! maybe someday
|
---|
| 394 | $!
|
---|
| 395 | $!: set package name
|
---|
| 396 | $ package = "perl5"
|
---|
| 397 | $ packageup = F$EDIT((package - "5"),"UPCASE")
|
---|
| 398 | $!
|
---|
| 399 | $!: Eunice requires " " instead of "", can you believe it
|
---|
| 400 | $ echo ""
|
---|
| 401 | $!: Here we go...
|
---|
| 402 | $ echo "Beginning of configuration questions for ''package'."
|
---|
| 403 | $ echo ""
|
---|
| 404 | $!
|
---|
| 405 | $!: Some greps do not return status, grrr.
|
---|
| 406 | $ contains = "SEARCH"
|
---|
| 407 | $!
|
---|
| 408 | $!: first determine how to suppress newline on echo command !cant DCL is record oriented
|
---|
| 409 | $! echo "Checking ''echo' to see how to suppress newlines..."
|
---|
| 410 | $! echo "giving up..."
|
---|
| 411 | $! echo "The star should be here-->*"
|
---|
| 412 | $!
|
---|
| 413 | $!: Now test for existence of everything in MANIFEST
|
---|
| 414 | $ echo ""
|
---|
| 415 | $ echo4 "First let's make sure your kit is complete. Checking..."
|
---|
| 416 | $ manifestfound = ""
|
---|
| 417 | $ miss_list = ""
|
---|
| 418 | $! Here I assume we are in the [foo.PERLxxx...] tree
|
---|
| 419 | $! because the search routine simply does set def [-] if necessary.
|
---|
| 420 | $ file_2_find = "MANIFEST" !I hope this one is not in [foo.PERL5xxx.VMS...]
|
---|
| 421 | $Research_manifest:
|
---|
| 422 | $ manifestfound = F$SEARCH(file_2_find)
|
---|
| 423 | $ IF (manifestfound .EQS. "")
|
---|
| 424 | $ THEN
|
---|
| 425 | $ IF F$PARSE(F$ENVIRONMENT("DEFAULT"),,,"DIRECTORY",).NES."[000000]"
|
---|
| 426 | $ THEN
|
---|
| 427 | $ SET DEFAULT [-]
|
---|
| 428 | $ GOTO Research_manifest
|
---|
| 429 | $ ELSE
|
---|
| 430 | $ echo ""
|
---|
| 431 | $ echo "There is no MANIFEST file. I hope your kit is complete !"
|
---|
| 432 | $ miss_list = ""
|
---|
| 433 | $ GOTO Beyond_manifest
|
---|
| 434 | $ ENDIF
|
---|
| 435 | $ ELSE
|
---|
| 436 | $! MANIFEST. has been found and we have set def'ed there.
|
---|
| 437 | $! Time to bail out before it's too late, i.e. too deep.
|
---|
| 438 | $! Depth check is unnecessary on Alpha VMS V7.2++ (even for ODS-2).
|
---|
| 439 | $ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE"))
|
---|
| 440 | $ IF (tmp .GES. "7.2") .AND. (F$GETSYI("HW_MODEL") .GE. 1024) THEN GOTO Beyond_depth_check
|
---|
| 441 | $! Depth check also unnecessary on ODS 5 (or later) file systems.
|
---|
| 442 | $ tmp = F$INTEGER(F$GETDVI(F$ENVIRONMENT("DEFAULT"),"ACPTYPE") - "F11V")
|
---|
| 443 | $ IF (tmp .GE. 5) THEN GOTO Beyond_depth_check
|
---|
| 444 | $ IF (F$ELEMENT(max_allowed_dir_depth,".",F$ENVIRONMENT("DEFAULT")).nes.".")
|
---|
| 445 | $ THEN
|
---|
| 446 | $ TYPE SYS$INPUT:
|
---|
| 447 | $ DECK
|
---|
| 448 | %Config-E-VMS, ERROR:
|
---|
| 449 | Sorry! It apears as though your perl build sub-directory is already too
|
---|
| 450 | deep into the VMS file system. Please try moving stuff into a shallower
|
---|
| 451 | directory (or altering the "max_allowed_dir_depth" parameter).
|
---|
| 452 | $ EOD
|
---|
| 453 | $ echo4 "ABORTING..."
|
---|
| 454 | $ SET DEFAULT 'vms_default_directory_name' !be kind rewind
|
---|
| 455 | $ STOP
|
---|
| 456 | $ EXIT !2 !$STATUS = "%X00000002" (error)
|
---|
| 457 | $ ENDIF
|
---|
| 458 | $Beyond_depth_check:
|
---|
| 459 | $!
|
---|
| 460 | $! after finding MANIFEST let's create (but not yet enter) the UU subdirectory
|
---|
| 461 | $!
|
---|
| 462 | $ IF (manifestfound .NES. "")
|
---|
| 463 | $ THEN
|
---|
| 464 | $ IF ( F$SEARCH("UU.DIR").EQS."" )
|
---|
| 465 | $ THEN
|
---|
| 466 | $ CREATE/DIRECTORY [.UU]
|
---|
| 467 | $ ELSE
|
---|
| 468 | $ IF ( F$SEARCH("[.UU]*.*").NES."" ) THEN DELETE/NOLOG/NOCONFIRM [.UU]*.*;*
|
---|
| 469 | $ ENDIF
|
---|
| 470 | $!: Configure runs within the UU subdirectory
|
---|
| 471 | $ SET DEFAULT [.UU]
|
---|
| 472 | $!
|
---|
| 473 | $! a little redundancy never hurt anybody?
|
---|
| 474 | $ file_2_find = "[-]" + file_2_find
|
---|
| 475 | $ manifestfound = F$SEARCH(file_2_find)
|
---|
| 476 | $!
|
---|
| 477 | $ OPEN/WRITE MISSING MISSING.
|
---|
| 478 | $!change to "FALSE" if you wish to skip the manifest search
|
---|
| 479 | $!(which after all is rather slow in DCL :-)
|
---|
| 480 | $ IF (maniskip)
|
---|
| 481 | $ THEN
|
---|
| 482 | $ echo "Skipping MANIFEST check as requested"
|
---|
| 483 | $ ELSE
|
---|
| 484 | $!
|
---|
| 485 | $ OPEN/READ CONFIG 'manifestfound'
|
---|
| 486 | $Read_loop_manifest:
|
---|
| 487 | $ READ/END_OF_FILE = Done_manifest CONFIG line
|
---|
| 488 | $! This algorithm turns "foo/bar/baz.c" into "[.foo.bar]baz.c"
|
---|
| 489 | $! pvhp@lns62.lns.cornell.edu 10-JUN-1996 20:31:46
|
---|
| 490 | $! 2-MAR-1998 15:46:11 Improved to turn "foo/bar/baz.c.buz"
|
---|
| 491 | $! into "[.foo.bar]baz.c_buz as happens with vmstar and unzip
|
---|
| 492 | $ line = F$EDIT(line,"TRIM, COMPRESS")
|
---|
| 493 | $ file_2_find = F$EXTRACT(0,F$LOCATE(" ",line),line)
|
---|
| 494 | $ IF F$LOCATE("/",file_2_find) .NE. F$LENGTH(file_2_find)
|
---|
| 495 | $ THEN
|
---|
| 496 | $Re_strip_line_manifest:
|
---|
| 497 | $ loca = F$LOCATE("/",file_2_find)
|
---|
| 498 | $ ante = F$EXTRACT(0,loca,file_2_find)
|
---|
| 499 | $ post = F$EXTRACT(loca,F$LENGTH(file_2_find),file_2_find)
|
---|
| 500 | $ test_this = ante + "." + (post - "/")
|
---|
| 501 | $ IF F$LOCATE("/",test_this) .NE. F$LENGTH(test_this)
|
---|
| 502 | $ THEN
|
---|
| 503 | $ file_2_find = ante + "." + (post - "/")
|
---|
| 504 | $ GOTO Re_strip_line_manifest
|
---|
| 505 | $ ELSE
|
---|
| 506 | $ file_2_find = ante + "]" + (post - "/")
|
---|
| 507 | $ ENDIF
|
---|
| 508 | $ file_2_find = "[-."+file_2_find
|
---|
| 509 | $ ELSE
|
---|
| 510 | $ file_2_find = "[-]" + file_2_find
|
---|
| 511 | $ ENDIF
|
---|
| 512 | $!
|
---|
| 513 | $ tmp = F$PARSE(file_2_find + ";",,,,"SYNTAX_ONLY")
|
---|
| 514 | $ IF F$SEARCH(tmp) .NES. "" THEN file_2_find = tmp
|
---|
| 515 | $ dirname = F$EXTRACT(0,F$LOCATE("]",file_2_find),file_2_find) + "]"
|
---|
| 516 | $ file_2_find = file_2_find - dirname
|
---|
| 517 | $!
|
---|
| 518 | $! may not need double dot check on ODS-5 volumes
|
---|
| 519 | $ found = F$SEARCH(dirname + file_2_find)
|
---|
| 520 | $ IF found .NES. "" THEN GOTO Read_loop_manifest
|
---|
| 521 | $!
|
---|
| 522 | $ dots = 0
|
---|
| 523 | $Dot_loop:
|
---|
| 524 | $ dot_ele = F$ELEMENT(dots,".",file_2_find)
|
---|
| 525 | $ IF dot_ele .EQS. "." THEN GOTO Eo_dot_loop
|
---|
| 526 | $ IF dots .eq. 0
|
---|
| 527 | $ THEN basename = f$extract(0,f$locate(".",file_2_find),file_2_find) + "."
|
---|
| 528 | $ ELSE basename = basename + dot_ele + "_"
|
---|
| 529 | $ ENDIF
|
---|
| 530 | $ dots = dots + 1
|
---|
| 531 | $ GOTO dot_loop
|
---|
| 532 | $Eo_dot_loop:
|
---|
| 533 | $ IF (((f$length(file_2_find)+1) .eq. f$length(basename)) .and. -
|
---|
| 534 | (f$extract(f$length(basename)-1,1,basename) .eqs. "_")) THEN -
|
---|
| 535 | basename = f$extract(0,f$length(basename)-1,basename)
|
---|
| 536 | $ file_2_find = dirname + basename
|
---|
| 537 | $!
|
---|
| 538 | $ found = F$SEARCH(file_2_find)
|
---|
| 539 | $ IF (found .EQS. "" .AND. dots .GT. 2)
|
---|
| 540 | $ THEN
|
---|
| 541 | $! 17-DEC-1999 Improved to turn "[.foo.bar]baz.c_buz" into
|
---|
| 542 | $! "[.foo.bar]baz_c.buz" to cover unzipped archives and put
|
---|
| 543 | $! "[.foo.bar]baz.c_buz,baz_c.buz" into missing list if neither is found.
|
---|
| 544 | $ basename[f$locate(".",basename),1] := _
|
---|
| 545 | $ dot_ele = F$ELEMENT(dots - 1,"_",basename)
|
---|
| 546 | $ basename = -
|
---|
| 547 | f$extract(0,f$length(basename)-(f$length(dot_ele)+1),basename) -
|
---|
| 548 | + "." + dot_ele
|
---|
| 549 | $ found = F$SEARCH(dirname + basename)
|
---|
| 550 | $ file_2_find = file_2_find + "," + basename
|
---|
| 551 | $ ENDIF
|
---|
| 552 | $ IF (found .EQS. "")
|
---|
| 553 | $ THEN
|
---|
| 554 | $ WRITE MISSING file_2_find
|
---|
| 555 | $ IF ((F$LENGTH(miss_list)+F$LENGTH(file_2_find)).LT.250)
|
---|
| 556 | $ THEN
|
---|
| 557 | $ miss_list = miss_list + "," + file_2_find
|
---|
| 558 | $ ENDIF
|
---|
| 559 | $ ENDIF
|
---|
| 560 | $ GOTO Read_loop_manifest
|
---|
| 561 | $Done_manifest:
|
---|
| 562 | $ CLOSE CONFIG
|
---|
| 563 | $ ENDIF !"TRUE"
|
---|
| 564 | $ CLOSE MISSING
|
---|
| 565 | $ ENDIF ! (manifestfound .NES. "")
|
---|
| 566 | $Beyond_manifest:
|
---|
| 567 | $ IF (miss_list .NES. "")
|
---|
| 568 | $ THEN
|
---|
| 569 | $ echo "Some of the files not found include:"
|
---|
| 570 | $ cat4 MISSING.
|
---|
| 571 | $ ENDIF
|
---|
| 572 | $ IF ((miss_list .NES. "").OR.(manifestfound .EQS. ""))
|
---|
| 573 | $ THEN
|
---|
| 574 | $ TYPE SYS$INPUT:
|
---|
| 575 | $ DECK
|
---|
| 576 |
|
---|
| 577 |
|
---|
| 578 | THIS PACKAGE SEEMS TO BE INCOMPLETE.
|
---|
| 579 |
|
---|
| 580 | You have the option of continuing the configuration process, despite the
|
---|
| 581 | distinct possibility that your kit is damaged, by typing 'y'es. If you
|
---|
| 582 | do, don't blame me if something goes wrong. I advise you to type 'n'o
|
---|
| 583 | and contact the author (dan@sidhe.org)
|
---|
| 584 |
|
---|
| 585 | $ EOD
|
---|
| 586 | $ READ SYS$COMMAND/PROMPT="Continue? [n] " ans
|
---|
| 587 | $ IF ans
|
---|
| 588 | $ THEN
|
---|
| 589 | $ echo4 "Continuing..."
|
---|
| 590 | $ ELSE
|
---|
| 591 | $ echo4 "ABORTING..."
|
---|
| 592 | $ GOTO Clean_up
|
---|
| 593 | $ ENDIF
|
---|
| 594 | $ ELSE
|
---|
| 595 | $ echo4 "Looks good..."
|
---|
| 596 | $ DELETE/NOLOG/NOCONFIRM MISSING.;
|
---|
| 597 | $ ENDIF ! (miss_list .NES. "")
|
---|
| 598 | $ ENDIF ! (manifestfound .EQS. "") ELSE
|
---|
| 599 | $!
|
---|
| 600 | $! after finding MANIFEST (see above)
|
---|
| 601 | $!: Configure runs within the UU subdirectory
|
---|
| 602 | $!
|
---|
| 603 | $!: compute the number of columns on the terminal for proper question formatting
|
---|
| 604 | $ IF F$MODE() .EQS. "BATCH"
|
---|
| 605 | $! else it winds up being 512 in batch
|
---|
| 606 | $ THEN COLUMNS = 80
|
---|
| 607 | $ ELSE COLUMNS = F$GETDVI("SYS$OUTPUT","DEVBUFSIZ")
|
---|
| 608 | $ ENDIF
|
---|
| 609 | $! "-des" sets SYS$OUTPUT to NL: with a DEVBUFSIZ too large (512 again)
|
---|
| 610 | $ IF COLUMNS .GT. 210 THEN COLUMNS = 80
|
---|
| 611 | $! not sure if this would actually be needed - it hopefully will not hurt
|
---|
| 612 | $ IF COLUMNS .LT. 40 THEN COLUMNS = 40
|
---|
| 613 | $!
|
---|
| 614 | $!: set up the echo used in my read !sfn
|
---|
| 615 | $!: now set up to do reads with possible shell escape and default assignment !sfn
|
---|
| 616 | $ GOTO Beyond_myread
|
---|
| 617 | $!
|
---|
| 618 | $! The sub_rp splitting is intended to handle long symbols such as the dflt for
|
---|
| 619 | $! extensions.
|
---|
| 620 | $!
|
---|
| 621 | $myread:
|
---|
| 622 | $ ans = ""
|
---|
| 623 | $ len_rp = F$LENGTH(rp)
|
---|
| 624 | $ If (.NOT. silent) Then echo ""
|
---|
| 625 | $ IF len_rp .GT. 210
|
---|
| 626 | $ THEN
|
---|
| 627 | $ i_rp = 0
|
---|
| 628 | $ rp_loop:
|
---|
| 629 | $ sub_rp = F$EXTRACT(i_rp,COLUMNS,rp)
|
---|
| 630 | $ i_rp = i_rp + COLUMNS
|
---|
| 631 | $ if i_rp .LT. len_rp THEN echo4 "''sub_rp'"
|
---|
| 632 | $ IF i_rp .LT. len_rp THEN GOTO rp_loop
|
---|
| 633 | $ ELSE
|
---|
| 634 | $ sub_rp = rp
|
---|
| 635 | $ ENDIF
|
---|
| 636 | $ if (fastread)
|
---|
| 637 | $ then
|
---|
| 638 | $ echo4 "''sub_rp'"
|
---|
| 639 | $ else
|
---|
| 640 | $ READ SYS$COMMAND/PROMPT="''sub_rp'" ans
|
---|
| 641 | $ endif
|
---|
| 642 | $ IF (ans .EQS. "&-d")
|
---|
| 643 | $ THEN
|
---|
| 644 | $ echo4 "(OK, I will run with -d after this question.)"
|
---|
| 645 | $ echo ""
|
---|
| 646 | $ deferred_fastread =1
|
---|
| 647 | $ goto myread
|
---|
| 648 | $ ENDIF
|
---|
| 649 | $ IF (ans .EQS. "&-s")
|
---|
| 650 | $ THEN
|
---|
| 651 | $ echo4 "(OK, I will run with -s after this question.)"
|
---|
| 652 | $ echo ""
|
---|
| 653 | $ deferred_silent = 1
|
---|
| 654 | $ goto myread
|
---|
| 655 | $ ENDIF
|
---|
| 656 | $ if (bool_dflt .nes. "")
|
---|
| 657 | $ then
|
---|
| 658 | $ if (ans .eqs. "") then ans = bool_dflt
|
---|
| 659 | $ ans = f$extract(0,1,f$edit(ans,"collapse,upcase"))
|
---|
| 660 | $ if (ans .eqs. "Y" .or. ans .eqs. "1" .or. ans .eqs. "T")
|
---|
| 661 | $ then
|
---|
| 662 | $ ans = "Y"
|
---|
| 663 | $ else
|
---|
| 664 | $ if (ans .eqs. "N" .or. ans .eqs. "0" .or. ans .eqs. "F")
|
---|
| 665 | $ then
|
---|
| 666 | $ ans = "N"
|
---|
| 667 | $ else
|
---|
| 668 | $ echo4 "Input not understood please answer 'Yes' or 'No'"
|
---|
| 669 | $ goto myread
|
---|
| 670 | $ endif
|
---|
| 671 | $ endif
|
---|
| 672 | $ bool_dflt = ""
|
---|
| 673 | $ else
|
---|
| 674 | $ ans = f$edit(ans,"trim,compress")
|
---|
| 675 | $ if (ans .eqs. "") then ans = dflt
|
---|
| 676 | $ if (f$edit(ans,"upcase") .eqs. "NONE") then ans = ""
|
---|
| 677 | $ endif
|
---|
| 678 | $ if f$type(deferred_silent) .nes. ""
|
---|
| 679 | $ then
|
---|
| 680 | $ silent := true
|
---|
| 681 | $ GOSUB Shut_up
|
---|
| 682 | $ delete/symbol deferred_silent
|
---|
| 683 | $ ENDIF
|
---|
| 684 | $ if f$type(deferred_fastread) .nes. ""
|
---|
| 685 | $ then
|
---|
| 686 | $ fastread = 1
|
---|
| 687 | $ delete/symbol deferred_fastread
|
---|
| 688 | $ endif
|
---|
| 689 | $ RETURN
|
---|
| 690 | $!
|
---|
| 691 | $Beyond_myread:
|
---|
| 692 | $!
|
---|
| 693 | $!: create .config dir to save info across Configure sessions
|
---|
| 694 | $ IF ( F$SEARCH("[-]CONFIG.DIR").EQS."" )
|
---|
| 695 | $ THEN
|
---|
| 696 | $ CREATE/DIRECTORY [-.CONFIG]
|
---|
| 697 | $ OPEN/WRITE CONFIG [-.CONFIG]README.
|
---|
| 698 | $ WRITE CONFIG -
|
---|
| 699 | "This directory created by Configure to save information that should"
|
---|
| 700 | $ WRITE CONFIG -
|
---|
| 701 | "persist across sessions."
|
---|
| 702 | $ WRITE CONFIG ""
|
---|
| 703 | $ WRITE CONFIG -
|
---|
| 704 | "You may safely delete it if you wish."
|
---|
| 705 | $ CLOSE CONFIG
|
---|
| 706 | $ ENDIF
|
---|
| 707 | $!
|
---|
| 708 | $ IF F$TYPE(usedevel) .EQS. "" THEN usedevel := n
|
---|
| 709 | $ patchlevel_h = F$SEARCH("[-]patchlevel.h")
|
---|
| 710 | $ IF (patchlevel_h.NES."")
|
---|
| 711 | $ THEN
|
---|
| 712 | $ SEARCH 'patchlevel_h' "define","PERL_VERSION","epoch"/match=and/out=[]ver.out
|
---|
| 713 | $ IF .NOT. usedevel .AND. usedevel .NES. "define"
|
---|
| 714 | $ THEN
|
---|
| 715 | $ OPEN/READ CONFIG []ver.out
|
---|
| 716 | $ READ CONFIG line
|
---|
| 717 | $ CLOSE CONFIG
|
---|
| 718 | $ tmp = F$EDIT(line,"TRIM,COMPRESS")
|
---|
| 719 | $ xpatchlevel = F$INTEGER(F$ELEMENT(2," ",tmp))
|
---|
| 720 | $ line = xpatchlevel / 2
|
---|
| 721 | $ tmp = xpatchlevel - ( line * 2 )
|
---|
| 722 | $ IF tmp .NE. 0
|
---|
| 723 | $ THEN
|
---|
| 724 | $ echo4 "patchlevel is " + F$STRING(xpatchlevel)
|
---|
| 725 | $ cat4 SYS$INPUT:
|
---|
| 726 | $ DECK
|
---|
| 727 | *** WHOA THERE!!! ***
|
---|
| 728 |
|
---|
| 729 | This is an UNSTABLE DEVELOPMENT release.
|
---|
| 730 | (The patchlevel, is odd--as opposed to even,
|
---|
| 731 | and that signifies a development release. If you want a
|
---|
| 732 | maintenance release, you want an even-numbered release.)
|
---|
| 733 |
|
---|
| 734 | Do ***NOT*** install this into production use.
|
---|
| 735 | Data corruption and crashes are possible.
|
---|
| 736 |
|
---|
| 737 | It is most seriously suggested that you do not continue any further
|
---|
| 738 | unless you want to help in developing and debugging Perl.
|
---|
| 739 |
|
---|
| 740 | $ EOD
|
---|
| 741 | $ bool_dflt="n"
|
---|
| 742 | $ rp="Do you really want to continue? [''bool_dflt'] "
|
---|
| 743 | $ fastread_save = fastread
|
---|
| 744 | $ fastread := FALSE
|
---|
| 745 | $ GOSUB myread
|
---|
| 746 | $ fastread = fastread_save
|
---|
| 747 | $ delete/symbol fastread_save
|
---|
| 748 | $ IF ans
|
---|
| 749 | $ THEN
|
---|
| 750 | $ echo4 "Okay, continuing."
|
---|
| 751 | $ ELSE
|
---|
| 752 | $ echo4 "Okay, bye."
|
---|
| 753 | $ DELETE/NOLOG/NOCONFIRM []ver.out;
|
---|
| 754 | $ GOTO Clean_up
|
---|
| 755 | $ ENDIF
|
---|
| 756 | $ ENDIF
|
---|
| 757 | $ DELETE/SYMBOL line
|
---|
| 758 | $ DELETE/SYMBOL tmp
|
---|
| 759 | $ ENDIF
|
---|
| 760 | $ DELETE/NOLOG/NOCONFIRM []ver.out;
|
---|
| 761 | $ ENDIF
|
---|
| 762 | $!: general instructions
|
---|
| 763 | $ needman = "true"
|
---|
| 764 | $ firsttime = "true"
|
---|
| 765 | $ user = F$EDIT(F$GETJPI("","USERNAME"),"TRIM,COLLAPSE")
|
---|
| 766 | $ IF .NOT.(F$SEARCH("[-.CONFIG]INSTRUCT.").EQS."")
|
---|
| 767 | $ THEN
|
---|
| 768 | $ messages = F$ENVIRONMENT("MESSAGE")
|
---|
| 769 | $ SET MESSAGE/NOFAC/NOSEV/NOIDENT/NOTEXT
|
---|
| 770 | $ contains /NOOUTPUT [-.CONFIG]INSTRUCT. 'user'
|
---|
| 771 | $ IF .NOT.($status.EQ.%X08D78053)
|
---|
| 772 | $ THEN
|
---|
| 773 | $ firsttime=""
|
---|
| 774 | $ bool_dflt = "n"
|
---|
| 775 | $ rp = "Would you like to see the instructions? [''bool_dflt'] "
|
---|
| 776 | $ GOSUB myread
|
---|
| 777 | $ if .NOT.ans THEN needman=""
|
---|
| 778 | $ ENDIF
|
---|
| 779 | $ SET MESSAGE 'messages'
|
---|
| 780 | $ ENDIF
|
---|
| 781 | $ if (fastread.AND.silent.AND.(alldone.eqs."cont")) THEN needman=""
|
---|
| 782 | $!
|
---|
| 783 | $ IF (needman)
|
---|
| 784 | $ THEN
|
---|
| 785 | $ TYPE SYS$INPUT:
|
---|
| 786 | $ DECK
|
---|
| 787 |
|
---|
| 788 | This installation shell script will examine your system and ask you questions
|
---|
| 789 | to determine how the perl5 package should be installed. If you get
|
---|
| 790 | stuck on a question, you may use a ^C or ^Y shell escape to STOP this
|
---|
| 791 | process, edit something, then restart this process as you just did.
|
---|
| 792 | Many of the questions will have default answers in square
|
---|
| 793 | brackets; typing carriage return will give you the default.
|
---|
| 794 |
|
---|
| 795 | $ EOD
|
---|
| 796 | $ if (fastread)
|
---|
| 797 | $ then
|
---|
| 798 | $ echo4 ""
|
---|
| 799 | $ else
|
---|
| 800 | $ READ SYS$COMMAND/PROMPT="Type carriage return to continue " ans
|
---|
| 801 | $ endif
|
---|
| 802 | $ TYPE SYS$INPUT:
|
---|
| 803 | $ DECK
|
---|
| 804 |
|
---|
| 805 | In a hurry? You may run '@Configure "-d"'. This will bypass nearly all
|
---|
| 806 | the questions and use the computed defaults (or the previous answers provided
|
---|
| 807 | there was already a config.sh file). Type '@Configure "-h"' for a list of
|
---|
| 808 | options.
|
---|
| 809 |
|
---|
| 810 | $ EOD
|
---|
| 811 | $ if (fastread)
|
---|
| 812 | $ then
|
---|
| 813 | $ echo4 ""
|
---|
| 814 | $ else
|
---|
| 815 | $ READ SYS$COMMAND/PROMPT="Type carriage return to continue " ans
|
---|
| 816 | $ endif
|
---|
| 817 | $ TYPE SYS$INPUT:
|
---|
| 818 | $ DECK
|
---|
| 819 |
|
---|
| 820 | Much effort has been expended to ensure that this shell script will
|
---|
| 821 | run on any VMS system. If despite that it blows up on yours, your
|
---|
| 822 | best bet is to edit Configure.com and @ it again. Whatever problems
|
---|
| 823 | you have with Configure.com, let me (dan@sidhe.org) know how I blew
|
---|
| 824 | it.
|
---|
| 825 |
|
---|
| 826 | $ EOD
|
---|
| 827 | $!This installation script affects things in two ways:
|
---|
| 828 | $!
|
---|
| 829 | $!1) it may do direct variable substitutions on some of the files included
|
---|
| 830 | $! in this kit.
|
---|
| 831 | $!2) it builds a config.h file for inclusion in C programs. You may edit
|
---|
| 832 | $! any of these files as the need arises after running this script.
|
---|
| 833 | $!
|
---|
| 834 | $!If you make a mistake on a question, there is no easy way to back up to it
|
---|
| 835 | $!currently.
|
---|
| 836 | $!
|
---|
| 837 | $ if (fastread)
|
---|
| 838 | $ then
|
---|
| 839 | $ echo4 ""
|
---|
| 840 | $ else
|
---|
| 841 | $ READ SYS$COMMAND/PROMPT="Type carriage return to continue " ans
|
---|
| 842 | $ endif
|
---|
| 843 | $ IF (F$SEARCH("[-.CONFIG]INSTRUCT.").EQS."")
|
---|
| 844 | $ THEN
|
---|
| 845 | $ OPEN/WRITE CONFIG [-.CONFIG]INSTRUCT.
|
---|
| 846 | $ WRITE CONFIG user
|
---|
| 847 | $ CLOSE CONFIG
|
---|
| 848 | $ ENDIF
|
---|
| 849 | $ ENDIF !(needman .EQS. "true")
|
---|
| 850 | $!
|
---|
| 851 | $!: see if sh knows # comments !sfn
|
---|
| 852 | $ sharpbang = "$ "
|
---|
| 853 | $!: figure out how to guarantee sh startup !sfn
|
---|
| 854 | $!: find out where common programs are !sfn
|
---|
| 855 | $!loclist="awk/cat/comm/cp/echo/expr/find/grep/ln/ls/mkdir/rm/sed/sort/touch/tr/uniq"
|
---|
| 856 | $!trylist="byacc/cpp/csh/date/egrep/less/line/more/nroff/perl/pg/sendmail/test/uname"
|
---|
| 857 | $! echo "I don't know where '$file' is, and my life depends on it."
|
---|
| 858 | $! echo "Go find a public domain implementation or fix your PATH setting!"
|
---|
| 859 | $! echo ""
|
---|
| 860 | $! echo "Don't worry if any of the following aren't found..."
|
---|
| 861 | $!: determine whether symbolic links are supported !sfn !jem- further down
|
---|
| 862 | $!: see whether [:lower:] and [:upper:] are supported character classes !sfn
|
---|
| 863 | $!: set up the translation script tr, must be called with ./tr of course !sfn
|
---|
| 864 | $!
|
---|
| 865 | $!: Try to determine whether config.sh was made on this system
|
---|
| 866 | $!: Get old answers from old config file if Configure was run on the
|
---|
| 867 | $!: same system, otherwise use the hints.
|
---|
| 868 | $ config_sh_es = "''config_sh'/[-]config.sh/[-.vms]config.vms/"
|
---|
| 869 | $ i = 0
|
---|
| 870 | $ max = 3
|
---|
| 871 | $Config_sh_look:
|
---|
| 872 | $ config_sh = F$ELEMENT(i,"/",config_sh_es)
|
---|
| 873 | $ i = i + 1
|
---|
| 874 | $ IF (config_sh.NES."/").AND.(config_sh.NES."")
|
---|
| 875 | $ THEN
|
---|
| 876 | $ configshfound = F$SEARCH(config_sh)
|
---|
| 877 | $ IF (configshfound.NES."") THEN GOTO Config_sh_found
|
---|
| 878 | $ ENDIF
|
---|
| 879 | $ IF (i.LT.max) THEN GOTO Config_sh_look
|
---|
| 880 | $! genconfig.pl has "osname='VMS'"
|
---|
| 881 | $ osname = F$EDIT(F$GETSYI("NODE_SWTYPE"),"COLLAPSE")
|
---|
| 882 | $ IF (configshfound.EQS."")
|
---|
| 883 | $ THEN
|
---|
| 884 | $ config_sh = "[-]config.sh" ! the fallback default
|
---|
| 885 | $ GOTO Beyond_config_sh
|
---|
| 886 | $ ENDIF
|
---|
| 887 | $Config_sh_found:
|
---|
| 888 | $ IF F$TYPE(osname) .EQS. "" THEN osname = F$EDIT(F$GETSYI("NODE_SWTYPE"),"COLLAPSE")
|
---|
| 889 | $ bool_dflt = "n"
|
---|
| 890 | $ IF F$TYPE(config_dflt) .NES. "" THEN bool_dflt = config_dflt
|
---|
| 891 | $ rp = "Shall I use ''config_sh' for default answers? [''bool_dflt'] "
|
---|
| 892 | $ GOSUB myread
|
---|
| 893 | $ IF ans
|
---|
| 894 | $ THEN
|
---|
| 895 | $ echo ""
|
---|
| 896 | $ echo "Fetching default answers from ''config_sh'..."
|
---|
| 897 | $!
|
---|
| 898 | $! we do our own parsing of the shell-script stuff
|
---|
| 899 | $! ...and only accept symbols if they're in the | delimited list below
|
---|
| 900 | $!
|
---|
| 901 | $ config_symbols0 ="|archlib|archlibexp|bin|binexp|builddir|cf_email|config_sh|installarchlib|installbin|installman1dir|installman3dir|"
|
---|
| 902 | $ config_symbols1 ="|installprivlib|installscript|installsitearch|installsitelib|most|oldarchlib|oldarchlibexp|osname|pager|perl_symbol|perl_verb|"
|
---|
| 903 | $ config_symbols2 ="|prefix|privlib|privlibexp|scriptdir|sitearch|sitearchexp|sitebin|sitelib|sitelib_stem|sitelibexp|try_cxx|use64bitall|use64bitint|"
|
---|
| 904 | $ config_symbols3 ="|usecasesensitive|usedefaulttypes|usedevel|useieee|useithreads|usemultiplicity|usemymalloc|usedebugging_perl|useperlio|usesecurelog|"
|
---|
| 905 | $ config_symbols4 ="|usethreads|usevmsdebug|usefaststdio|usemallocwrap|unlink_all_versions|uselargefiles|usesitecustomize|"
|
---|
| 906 | $ config_symbols5 ="|buildmake|builder|"
|
---|
| 907 | $!
|
---|
| 908 | $ open/read CONFIG 'config_sh'
|
---|
| 909 | $ rd_conf_loop:
|
---|
| 910 | $ read/end=erd_conf_loop CONFIG line
|
---|
| 911 | $ line = f$edit(line,"trim")
|
---|
| 912 | $ if line .eqs. "" .or. f$extract(0,1,line) .eqs. "#" then goto rd_conf_loop
|
---|
| 913 | $ sym = f$element(0,"=",line)
|
---|
| 914 | $ if sym .eqs. "=" then goto rd_conf_loop
|
---|
| 915 | $ dsym = "|"+sym+"|"
|
---|
| 916 | $ k = 0
|
---|
| 917 | $ rd_ck_loop:
|
---|
| 918 | $ syms = config_symbols'k'
|
---|
| 919 | $ j = f$locate(dsym, syms)
|
---|
| 920 | $ if j .lt. f$length(syms) then goto erd_ck_loop
|
---|
| 921 | $ k = k + 1
|
---|
| 922 | $ if k .lt. 6 then goto rd_ck_loop
|
---|
| 923 | $ goto rd_conf_loop
|
---|
| 924 | $ erd_ck_loop:
|
---|
| 925 | $ val = f$element(1,"=",line)
|
---|
| 926 | $ val = f$extract(1,f$length(val)-2,val)
|
---|
| 927 | $ write sys$output "''sym' = ""''val'"""
|
---|
| 928 | $ 'sym' = "''val'"
|
---|
| 929 | $ goto rd_conf_loop
|
---|
| 930 | $ erd_conf_loop:
|
---|
| 931 | $ close CONFIG
|
---|
| 932 | $ delete/symbol config_symbols0
|
---|
| 933 | $ delete/symbol config_symbols1
|
---|
| 934 | $ delete/symbol config_symbols2
|
---|
| 935 | $ delete/symbol config_symbols3
|
---|
| 936 | $ delete/symbol config_symbols4
|
---|
| 937 | $ delete/symbol config_symbols5
|
---|
| 938 | $ delete/symbol sym
|
---|
| 939 | $ delete/symbol val
|
---|
| 940 | $ delete/symbol dsym
|
---|
| 941 | $ if f$type(usedebugging_perl) .nes. ""
|
---|
| 942 | $ then
|
---|
| 943 | $ useperldebug = usedebugging_perl
|
---|
| 944 | $ delete/symbol usedebugging_perl
|
---|
| 945 | $ endif
|
---|
| 946 | $!
|
---|
| 947 | $ ENDIF
|
---|
| 948 | $ if f$type(config_dflt) .nes. "" then DELETE/SYMBOL config_dflt
|
---|
| 949 | $!
|
---|
| 950 | $!we actually do not have "hints/" for VMS
|
---|
| 951 | $! TYPE SYS$INPUT:
|
---|
| 952 | $! DECK
|
---|
| 953 | $!
|
---|
| 954 | $!First time through, eh? I have some defaults handy for the following systems:
|
---|
| 955 | $!
|
---|
| 956 | $! EOD
|
---|
| 957 | $! echo " ","VMS_VAX"
|
---|
| 958 | $! echo " ","VMS_AXP"
|
---|
| 959 | $! echo " ","VMS_IA64"
|
---|
| 960 | $! : Now look for a hint file osname_osvers, unless one has been
|
---|
| 961 | $! : specified already.
|
---|
| 962 | $! TYPE SYS$INPUT:
|
---|
| 963 | $!
|
---|
| 964 | $!You may give one or more space-separated answers, or "none" if appropriate.
|
---|
| 965 | $!If your OS version has no hints, DO NOT give a wrong version -- say "none".
|
---|
| 966 | $!
|
---|
| 967 | $! READ SYS$COMMAND/PROMPT="Which of these apply, if any? " ans
|
---|
| 968 | $!
|
---|
| 969 | $Beyond_config_sh:
|
---|
| 970 | $!
|
---|
| 971 | $!: Restore computed paths !sfn
|
---|
| 972 | $!
|
---|
| 973 | $! %Config-I-VMS, a necessary error trap (could be PC running VCL)
|
---|
| 974 | $!
|
---|
| 975 | $ IF (osname .NES. "VMS")
|
---|
| 976 | $ THEN
|
---|
| 977 | $ echo4 "Hmm.. I wonder what ''osname' is (?)"
|
---|
| 978 | $ TYPE SYS$INPUT:
|
---|
| 979 | $ DECK
|
---|
| 980 |
|
---|
| 981 | %Config-E-VMS, ERROR:
|
---|
| 982 |
|
---|
| 983 | Err, you do not appear to be running VMS!
|
---|
| 984 | This procedure is intended to Configure the building of Perl for VMS.
|
---|
| 985 |
|
---|
| 986 | $ EOD
|
---|
| 987 | $ bool_dflt = "n"
|
---|
| 988 | $ GOSUB myread
|
---|
| 989 | $ IF ans
|
---|
| 990 | $ THEN
|
---|
| 991 | $ echo4 "Continuing..."
|
---|
| 992 | $ ELSE
|
---|
| 993 | $ echo4 "ABORTING..."
|
---|
| 994 | $ SET DEFAULT 'vms_default_directory_name' !be kind rewind
|
---|
| 995 | $ STOP
|
---|
| 996 | $ EXIT 2 !$STATUS = "%X00000002" (error)
|
---|
| 997 | $ ENDIF
|
---|
| 998 | $ ENDIF !(osname .NES./.EQS. "VMS")
|
---|
| 999 | $!
|
---|
| 1000 | $!: who configured the system
|
---|
| 1001 | $ cf_by = F$EDIT(user,"LOWERCASE")
|
---|
| 1002 | $ osvers = F$EDIT(F$GETSYI("VERSION"),"TRIM")
|
---|
| 1003 | $!
|
---|
| 1004 | $! Peter Prymmer has seen:
|
---|
| 1005 | $! "SYS$TIMEZONE_DIFFERENTIAL" = "-46800" (sic)
|
---|
| 1006 | $! "SYS$TIME_ZONE" = "EDT"
|
---|
| 1007 | $!
|
---|
| 1008 | $! Charles Lane recommended:
|
---|
| 1009 | $! "SYS$TIMEZONE_DIFFERENTIAL" = "-14400"
|
---|
| 1010 | $! "NEWS_TIMEZONE" = "-0500"
|
---|
| 1011 | $! "ST_TIMEZONE" = "EDT"
|
---|
| 1012 | $! "JAN_TIME_ZONE" = "EST "
|
---|
| 1013 | $! "MULTINET_TIMEZONE" = "EST"
|
---|
| 1014 | $! "DAYLIGHT_SAVINGS" = "1"
|
---|
| 1015 | $!
|
---|
| 1016 | $! Charles Bailey recommends (in ANU NEWS Doc Jan 1995):
|
---|
| 1017 | $! "PMDF_Timezone"
|
---|
| 1018 | $! "Multinet_Timezone"
|
---|
| 1019 | $! "TCPware_Timezone"
|
---|
| 1020 | $! "WIN$Time_Zone"
|
---|
| 1021 | $!
|
---|
| 1022 | $! This snippet o' DCL returns a string in default Unix `date` format,
|
---|
| 1023 | $! and it will prompt to set SYS$TIMEZONE_DIFFERENTIAL.
|
---|
| 1024 | $!
|
---|
| 1025 | $ MIN_TZO = -840 !units are minutes here
|
---|
| 1026 | $ MAX_TZO = 840
|
---|
| 1027 | $!
|
---|
| 1028 | $ wkday = F$EXTRACT(0,3,F$CVTIME(,,"WEEKDAY"))
|
---|
| 1029 | $ monn = F$CVTIME(,,"MONTH")
|
---|
| 1030 | $ mday = F$EXTRACT(8,2,F$CVTIME(,,"DATE"))
|
---|
| 1031 | $ hour = F$CVTIME(,,"HOUR")
|
---|
| 1032 | $ min = F$CVTIME(,,"MINUTE")
|
---|
| 1033 | $ sec = F$CVTIME(,,"SECOND")
|
---|
| 1034 | $ year = F$CVTIME(,,"YEAR")
|
---|
| 1035 | $!
|
---|
| 1036 | $ months = "/Jan/Feb/Mar/Apr/May/Jun/Jul/Aug/Sep/Oct/Nov/Dec/"
|
---|
| 1037 | $ i = 0
|
---|
| 1038 | $Mon_loop:
|
---|
| 1039 | $ i = i + 1
|
---|
| 1040 | $ mon = F$ELEMENT(i,"/",months)
|
---|
| 1041 | $ IF i.LT.monn THEN GOTO Mon_loop
|
---|
| 1042 | $!
|
---|
| 1043 | $ tzneedset = "t"
|
---|
| 1044 | $ systz = F$TRNLNM("SYS$TIMEZONE_DIFFERENTIAL")
|
---|
| 1045 | $ IF systz.NES.""
|
---|
| 1046 | $ THEN
|
---|
| 1047 | $ tzhour = F$INTEGER(systz)/3600
|
---|
| 1048 | $ tzmins = F$INTEGER(systz)/60
|
---|
| 1049 | $ tzminrem = tzmins - tzhour*60
|
---|
| 1050 | $ IF tzminrem.lt.0 THEN tzminrem = -1*tzminrem !keeps !2ZL happy
|
---|
| 1051 | $ IF tzhour.ge.0
|
---|
| 1052 | $ THEN signothetime = "+"
|
---|
| 1053 | $ IF tzhour.EQ.0.AND.tzminrem.EQ.0
|
---|
| 1054 | $ THEN direction = "on GMT/"
|
---|
| 1055 | $ ELSE direction = "east of "
|
---|
| 1056 | $ ENDIF
|
---|
| 1057 | $ ELSE signothetime = "-"
|
---|
| 1058 | $ tzhour = -1*tzhour !keeps !UL happy
|
---|
| 1059 | $ direction = "west of "
|
---|
| 1060 | $ ENDIF
|
---|
| 1061 | $ echo ""
|
---|
| 1062 | $ echo "According to the setting of your ""SYS$TIMEZONE_DIFFERENTIAL"" (= ''systz')"
|
---|
| 1063 | $ IF tzminrem.ne.0
|
---|
| 1064 | $ THEN
|
---|
| 1065 | $ tzspan = "''tzhour' hours & ''tzminrem' minutes"
|
---|
| 1066 | $ ELSE
|
---|
| 1067 | $ tzspan = "''tzhour' hours"
|
---|
| 1068 | $ ENDIF
|
---|
| 1069 | $ bool_dflt = "y"
|
---|
| 1070 | $ echo "Your system is ''tzspan' ''direction'UTC in England."
|
---|
| 1071 | $ rp = "(''systz') Is this UTC Time Zone Offset correct? [''bool_dflt'] "
|
---|
| 1072 | $ GOSUB myread
|
---|
| 1073 | $ IF ans
|
---|
| 1074 | $ THEN
|
---|
| 1075 | $ tzneedset = "f"
|
---|
| 1076 | $ tzd = systz
|
---|
| 1077 | $ GOTO Beyond_TimeZone
|
---|
| 1078 | $ ENDIF
|
---|
| 1079 | $ ELSE
|
---|
| 1080 | $ echo ""
|
---|
| 1081 | $ echo4 """SYS$TIMEZONE_DIFFERENTIAL"" does not appear to be DEFINEd on your system"
|
---|
| 1082 | $ ENDIF
|
---|
| 1083 | $!
|
---|
| 1084 | $TZSet:
|
---|
| 1085 | $ echo ""
|
---|
| 1086 | $ echo "Please tell me in hh:mm form what time offset from GMT/UTC in England"
|
---|
| 1087 | $ echo "you are. As an example Eastern (US) Standard Time is -5:00 offset, but"
|
---|
| 1088 | $ echo "Eastern Daylight Time (summer) is -4:00 offset."
|
---|
| 1089 | $ dflt = "0:00"
|
---|
| 1090 | $ rp = "Enter the Time Zone offset: [''dflt'] "
|
---|
| 1091 | $ GOSUB myread
|
---|
| 1092 | $ ans = F$Edit(ans,"collapse,trim,uncomment,upcase")
|
---|
| 1093 | $ IF ans.EQS."" THEN ans = dflt
|
---|
| 1094 | $ tzhour = F$ELEMENT(0,":","''ans'") !first
|
---|
| 1095 | $ IF tzhour.EQS."" THEN tzhour = 0
|
---|
| 1096 | $ tzhour = F$INTEGER(tzhour)
|
---|
| 1097 | $ tzminrem = F$ELEMENT(1,":","''ans'") !second
|
---|
| 1098 | $ IF tzminrem.NES.""
|
---|
| 1099 | $ THEN
|
---|
| 1100 | $ tzminrem = F$INTEGER(tzminrem)
|
---|
| 1101 | $ IF F$EXTRACT(0,1,"''ans'") .EQS. "-" THEN tzminrem = tzminrem * -1
|
---|
| 1102 | $ ELSE
|
---|
| 1103 | $ tzminrem = 0
|
---|
| 1104 | $ ENDIF
|
---|
| 1105 | $ tzmins = tzhour*60 + tzminrem
|
---|
| 1106 | $ tzd = F$STRING(tzmins*60)
|
---|
| 1107 | $ IF tzhour .GE. 0
|
---|
| 1108 | $ THEN
|
---|
| 1109 | $ signothetime = "+"
|
---|
| 1110 | $ ELSE
|
---|
| 1111 | $ tzhour = -1*tzhour !keeps !UL happy
|
---|
| 1112 | $ signothetime = "-"
|
---|
| 1113 | $ ENDIF
|
---|
| 1114 | $ IF (tzmins.GT.MAX_TZO).OR.(tzmins.LT.MIN_TZO)
|
---|
| 1115 | $ THEN
|
---|
| 1116 | $ echo ""
|
---|
| 1117 | $ echo "%Config-W-VMS-TIMERANGE, Response must be in the range -14:00 to 14:00."
|
---|
| 1118 | $ goto TZSet
|
---|
| 1119 | $ ENDIF
|
---|
| 1120 | $!
|
---|
| 1121 | $Beyond_TimeZone:
|
---|
| 1122 | $ tz = f$fao("UTC!AS!UL:!2ZL",signothetime,tzhour,tzminrem)
|
---|
| 1123 | $ cf_time = "''wkday' ''mon' ''mday' ''hour':''min':''sec' ''tz' ''year'"
|
---|
| 1124 | $!
|
---|
| 1125 | $!: determine the architecture name
|
---|
| 1126 | $! genconfig.pl has either archname='VMS_AXP' or 'VMS_VAX'
|
---|
| 1127 | $! Note that DCL in VMS V5.4 does not have F$GETSYI("ARCH_NAME")
|
---|
| 1128 | $! but does have F$GETSYI("HW_MODEL").
|
---|
| 1129 | $! Please try to use either archname .EQS. "VMS_VAX" or archname .EQS.
|
---|
| 1130 | $! "VMS_AXP" from here on to allow cross-platform configuration (e.g.
|
---|
| 1131 | $! configure a VAX build on an Alpha).
|
---|
| 1132 | $!
|
---|
| 1133 | $ IF (F$GETSYI("HW_MODEL") .LT. 1024 .AND. F$GETSYI("HW_MODEL") .GT. 0)
|
---|
| 1134 | $ THEN
|
---|
| 1135 | $ archname = "VMS_VAX"
|
---|
| 1136 | $ otherarch = "an Alpha or IA64"
|
---|
| 1137 | $ alignbytes="8"
|
---|
| 1138 | $ arch_type = "ARCH-TYPE=__VAX__"
|
---|
| 1139 | $ ELSE
|
---|
| 1140 | $ IF (F$GETSYI("ARCH_TYPE") .EQ. 2)
|
---|
| 1141 | $ THEN
|
---|
| 1142 | $ archname = "VMS_AXP"
|
---|
| 1143 | $ otherarch = "a VAX or IA64"
|
---|
| 1144 | $ arch_type = "ARCH-TYPE=__AXP__"
|
---|
| 1145 | $ ELSE
|
---|
| 1146 | $ archname = "VMS_IA64"
|
---|
| 1147 | $ otherarch = "a VAX or Alpha"
|
---|
| 1148 | $ arch_type = "ARCH-TYPE=__IA64__"
|
---|
| 1149 | $ ENDIF
|
---|
| 1150 | $ alignbytes="8"
|
---|
| 1151 | $ ENDIF
|
---|
| 1152 | $ dflt = archname
|
---|
| 1153 | $ rp = "What is your architecture name? [''archname'] "
|
---|
| 1154 | $ GOSUB myread
|
---|
| 1155 | $ IF ans.NES.""
|
---|
| 1156 | $ THEN
|
---|
| 1157 | $ ans = F$EDIT(ans,"COLLAPSE, UPCASE")
|
---|
| 1158 | $ IF (ans.NES.archname) !.AND.knowitall
|
---|
| 1159 | $ THEN
|
---|
| 1160 | $ echo4 "I'll go with ''archname' anyway..."
|
---|
| 1161 | $ ENDIF
|
---|
| 1162 | $ ENDIF
|
---|
| 1163 | $ bool_dflt = "n"
|
---|
| 1164 | $ vms_prefix = "perl_root"
|
---|
| 1165 | $ vms_prefixup = F$EDIT(vms_prefix,"UPCASE")
|
---|
| 1166 | $ rp = "Will you be sharing your ''vms_prefixup' with ''otherarch'? [''bool_dflt'] "
|
---|
| 1167 | $ GOSUB myread
|
---|
| 1168 | $ IF .NOT. ans
|
---|
| 1169 | $ THEN
|
---|
| 1170 | $ sharedperl = "N"
|
---|
| 1171 | $ ELSE
|
---|
| 1172 | $ sharedperl = "Y"
|
---|
| 1173 | $ IF (archname.EQS."VMS_AXP")
|
---|
| 1174 | $ THEN
|
---|
| 1175 | $ macros = macros + """AXE=1"","
|
---|
| 1176 | $ ENDIF
|
---|
| 1177 | $ IF (archname.EQS."VMS_IA64")
|
---|
| 1178 | $ THEN
|
---|
| 1179 | $ macros = macros + """IXE=1"","
|
---|
| 1180 | $ ENDIF
|
---|
| 1181 | $ ENDIF
|
---|
| 1182 | $!
|
---|
| 1183 | $!: is AFS running? !sfn
|
---|
| 1184 | $!: decide how portable to be. Allow command line overrides. !sfn
|
---|
| 1185 | $!: set up shell script to do ~ expansion !sfn
|
---|
| 1186 | $!: expand filename !sfn
|
---|
| 1187 | $!: now set up to get a file name !sfn
|
---|
| 1188 | $!
|
---|
| 1189 | $ IF F$TYPE(prefix) .EQS. ""
|
---|
| 1190 | $ THEN
|
---|
| 1191 | $ prefix = F$ENVIRONMENT("DEFAULT") - ".UU]" + "]"
|
---|
| 1192 | $ prefix = F$PARSE(prefix,,,,"NO_CONCEAL") - "][" - "000000." - ".000000" - ".;"
|
---|
| 1193 | $ prefixbase = prefix - "]"
|
---|
| 1194 | $! Add _ROOT to make install PERL_ROOT differ from build directory.
|
---|
| 1195 | $ prefix = prefixbase + "_ROOT.]"
|
---|
| 1196 | $ ENDIF
|
---|
| 1197 | $ src = prefix
|
---|
| 1198 | $!: determine root of directory hierarchy where package will be installed.
|
---|
| 1199 | $ dflt = prefix
|
---|
| 1200 | $ IF .NOT.silent
|
---|
| 1201 | $ THEN
|
---|
| 1202 | $ echo ""
|
---|
| 1203 | $ echo "By default, ''package' will be installed in ''dflt', pod"
|
---|
| 1204 | $ echo "pages under ''prefixbase'.LIB.POD], etc..., i.e. with ''dflt' as prefix for"
|
---|
| 1205 | $ echo "all installation directories."
|
---|
| 1206 | $ echo "On ''osname' the prefix is used to DEFINE the ''vms_prefixup' prior to installation"
|
---|
| 1207 | $ echo "as well as during subsequent use of ''package' via ''packageup'_SETUP.COM."
|
---|
| 1208 | $ ENDIF
|
---|
| 1209 | $ rp = "Installation prefix to use (for ''vms_prefixup')? [ ''dflt' ] "
|
---|
| 1210 | $ GOSUB myread
|
---|
| 1211 | $ IF ans.NES.""
|
---|
| 1212 | $ THEN
|
---|
| 1213 | $ prefix = ans
|
---|
| 1214 | $ IF F$LOCATE(".]",ans) .EQ. F$LENGTH(ans) THEN prefix = prefix - "]" + ".]"
|
---|
| 1215 | $ ELSE
|
---|
| 1216 | $ prefix = dflt
|
---|
| 1217 | $ ENDIF
|
---|
| 1218 | $ perl_root = prefix
|
---|
| 1219 | $!
|
---|
| 1220 | $! Check here for pre-existing PERL_ROOT.
|
---|
| 1221 | $! -> ask if removal desired.
|
---|
| 1222 | $! Check here for writability of requested PERL_ROOT if it is not the default (cwd).
|
---|
| 1223 | $! -> recommend letting PERL_ROOT be PERL_SRC if requested PERL_ROOT is not writable.
|
---|
| 1224 | $!
|
---|
| 1225 | $ tmp = perl_root - ".]" + "]"
|
---|
| 1226 | $ dflt = f$parse(tmp,,,,)
|
---|
| 1227 | $ IF dflt .eqs. ""
|
---|
| 1228 | $ THEN
|
---|
| 1229 | $ echo4 "''tmp' does not yet exist."
|
---|
| 1230 | $! create/directory 'tmp'
|
---|
| 1231 | $ ELSE
|
---|
| 1232 | $ echo4 "''tmp' already exists."
|
---|
| 1233 | $ ENDIF
|
---|
| 1234 | $!
|
---|
| 1235 | $ vms_skip_install = "true"
|
---|
| 1236 | $ bool_dflt = "y"
|
---|
| 1237 | $! echo ""
|
---|
| 1238 | $ rp = "Skip the remaining """"where install"""" questions? [''bool_dflt'] "
|
---|
| 1239 | $ GOSUB myread
|
---|
| 1240 | $ IF (.NOT.ans) THEN vms_skip_install = "false"
|
---|
| 1241 | $ IF (.NOT.vms_skip_install)
|
---|
| 1242 | $ THEN
|
---|
| 1243 | $!
|
---|
| 1244 | $!: set the prefixit variable, to compute a suitable default value
|
---|
| 1245 | $!
|
---|
| 1246 | $!: determine where private library files go
|
---|
| 1247 | $!: Usual default is /usr/local/lib/perl5. Also allow things like
|
---|
| 1248 | $!: /opt/perl/lib, since /opt/perl/lib/perl5 would be redundant.
|
---|
| 1249 | $ IF .NOT.silent
|
---|
| 1250 | $ THEN
|
---|
| 1251 | $ TYPE SYS$INPUT:
|
---|
| 1252 | $ DECK
|
---|
| 1253 |
|
---|
| 1254 | There are some auxiliary files for perl5 that need to be put into a
|
---|
| 1255 | private library directory that is accessible by everyone.
|
---|
| 1256 | $ EOD
|
---|
| 1257 | $ ENDIF
|
---|
| 1258 | $ IF F$TYPE(privlib) .NES. ""
|
---|
| 1259 | $ THEN dflt = privlib
|
---|
| 1260 | $ ELSE dflt = "''vms_prefix':[lib]"
|
---|
| 1261 | $ ENDIF
|
---|
| 1262 | $ rp = "Pathname where the private library files will reside? "
|
---|
| 1263 | $ rp = F$FAO("!AS!/!AS",rp,"[ ''dflt' ] ")
|
---|
| 1264 | $ GOSUB myread
|
---|
| 1265 | $ privlib = ans
|
---|
| 1266 | $!
|
---|
| 1267 | $ ENDIF !%Config-I-VMS, skip remaining "where install" questions
|
---|
| 1268 | $!
|
---|
| 1269 | $ IF F$TYPE(perl_symbol) .EQS. "" THEN perl_symbol := true
|
---|
| 1270 | $ IF F$TYPE(perl_verb) .EQS. "" THEN perl_verb = ""
|
---|
| 1271 | $ IF perl_symbol
|
---|
| 1272 | $ THEN bool_dflt = "y"
|
---|
| 1273 | $ ELSE bool_dflt = "n"
|
---|
| 1274 | $ ENDIF
|
---|
| 1275 | $ IF .NOT.silent
|
---|
| 1276 | $ THEN
|
---|
| 1277 | $ echo ""
|
---|
| 1278 | $ echo "You may choose to write ''packageup'_SETUP.COM to assign a foreign"
|
---|
| 1279 | $ echo "symbol to invoke ''package', which is the usual method."
|
---|
| 1280 | $ echO "If you do not do so then you would need a DCL command verb at the"
|
---|
| 1281 | $ echo "process or the system wide level."
|
---|
| 1282 | $ ENDIF
|
---|
| 1283 | $ rp = "Invoke perl as a global symbol foreign command? [''bool_dflt'] "
|
---|
| 1284 | $ GOSUB myread
|
---|
| 1285 | $ IF (.NOT.ans) THEN perl_symbol = "false"
|
---|
| 1286 | $!
|
---|
| 1287 | $ IF (.NOT.perl_symbol)
|
---|
| 1288 | $ THEN
|
---|
| 1289 | $ IF perl_verb .EQS. "DCLTABLES"
|
---|
| 1290 | $ THEN bool_dflt = "n"
|
---|
| 1291 | $ ELSE bool_dflt = "y"
|
---|
| 1292 | $ ENDIF
|
---|
| 1293 | $ IF .NOT.silent
|
---|
| 1294 | $ THEN
|
---|
| 1295 | $ echo ""
|
---|
| 1296 | $ echo "Since you won't be using a symbol you must choose to put the ''packageup'"
|
---|
| 1297 | $ echo "verb in a per-process table or in the system wide DCLTABLES (which"
|
---|
| 1298 | $ echo "would require write privilege)."
|
---|
| 1299 | $ ENDIF
|
---|
| 1300 | $ rp = "Invoke perl as a per process command verb? [ ''bool_dflt' ] "
|
---|
| 1301 | $ GOSUB myread
|
---|
| 1302 | $ IF (.NOT.ans)
|
---|
| 1303 | $ THEN perl_verb = "DCLTABLES"
|
---|
| 1304 | $ ELSE perl_verb = "PROCESS"
|
---|
| 1305 | $ ENDIF
|
---|
| 1306 | $ ENDIF ! (.NOT.perl_symbol)
|
---|
| 1307 | $!
|
---|
| 1308 | $!: set the base revision
|
---|
| 1309 | $ baserev="5.0"
|
---|
| 1310 | $ revision = baserev - ".0"
|
---|
| 1311 | $!: get the patchlevel
|
---|
| 1312 | $ echo ""
|
---|
| 1313 | $ echo4 "Getting the current patchlevel..."
|
---|
| 1314 | $ patchlevel="0"
|
---|
| 1315 | $ subversion="0"
|
---|
| 1316 | $ api_revision="0"
|
---|
| 1317 | $ api_version="0"
|
---|
| 1318 | $ api_subversion="0"
|
---|
| 1319 | $ perl_patchlevel="0"
|
---|
| 1320 | $ patchlevel_h = F$SEARCH("[-]patchlevel.h")
|
---|
| 1321 | $ IF (patchlevel_h.NES."")
|
---|
| 1322 | $ THEN
|
---|
| 1323 | $ got_patch = "false"
|
---|
| 1324 | $ got_sub = "false"
|
---|
| 1325 | $ got_api_revision = "false"
|
---|
| 1326 | $ got_api_version = "false"
|
---|
| 1327 | $ got_api_subversion = "false"
|
---|
| 1328 | $ got_perl_patchlevel= "false"
|
---|
| 1329 | $ OPEN/READONLY CONFIG 'patchlevel_h'
|
---|
| 1330 | $Patchlevel_h_loop:
|
---|
| 1331 | $ READ/END_Of_File=Close_patch/ERROR=Close_patch CONFIG line
|
---|
| 1332 | $ IF ((F$LOCATE("#define PERL_VERSION",line).NE.F$LENGTH(line)).AND.(.NOT.got_patch))
|
---|
| 1333 | $ THEN
|
---|
| 1334 | $ line = F$EDIT(line,"COMPRESS, TRIM")
|
---|
| 1335 | $ patchlevel = F$ELEMENT(2," ",line)
|
---|
| 1336 | $ got_patch = "true"
|
---|
| 1337 | $ ENDIF
|
---|
| 1338 | $ IF ((F$LOCATE("#define PERL_SUBVERSION",line).NE.F$LENGTH(line)).AND.(.NOT.got_sub))
|
---|
| 1339 | $ THEN
|
---|
| 1340 | $ line = F$EDIT(line,"COMPRESS, TRIM")
|
---|
| 1341 | $ subversion = F$ELEMENT(2," ",line)
|
---|
| 1342 | $ got_sub = "true"
|
---|
| 1343 | $ ENDIF
|
---|
| 1344 | $ IF ((F$LOCATE("#define PERL_API_REVISION",line).NE.F$LENGTH(line)).AND.(.NOT.got_api_revision))
|
---|
| 1345 | $ THEN
|
---|
| 1346 | $ line = F$EDIT(line,"COMPRESS, TRIM")
|
---|
| 1347 | $ api_revision = F$ELEMENT(2," ",line)
|
---|
| 1348 | $ got_api_revision = "true"
|
---|
| 1349 | $ ENDIF
|
---|
| 1350 | $ IF ((F$LOCATE("#define PERL_API_VERSION",line).NE.F$LENGTH(line)).AND.(.NOT.got_api_version))
|
---|
| 1351 | $ THEN
|
---|
| 1352 | $ line = F$EDIT(line,"COMPRESS, TRIM")
|
---|
| 1353 | $ api_version = F$ELEMENT(2," ",line)
|
---|
| 1354 | $ got_api_version = "true"
|
---|
| 1355 | $ ENDIF
|
---|
| 1356 | $ IF ((F$LOCATE("#define PERL_API_SUBVERSION",line).NE.F$LENGTH(line)).AND.(.NOT.got_api_subversion))
|
---|
| 1357 | $ THEN
|
---|
| 1358 | $ line = F$EDIT(line,"COMPRESS, TRIM")
|
---|
| 1359 | $ api_subversion = F$ELEMENT(2," ",line)
|
---|
| 1360 | $ got_api_subversion = "true"
|
---|
| 1361 | $ ENDIF
|
---|
| 1362 | $ IF ((F$LOCATE("""DEVEL",line).NE.F$LENGTH(line)).AND.(.NOT.got_perl_patchlevel))
|
---|
| 1363 | $ THEN
|
---|
| 1364 | $ line = F$EDIT(line,"COMPRESS, TRIM")
|
---|
| 1365 | $ perl_patchlevel = F$ELEMENT(1,"""",line)
|
---|
| 1366 | $ perl_patchlevel = perl_patchlevel - "DEVEL"
|
---|
| 1367 | $ got_perl_patchlevel = "true"
|
---|
| 1368 | $ ENDIF
|
---|
| 1369 | $ IF (.NOT. got_patch) .OR. -
|
---|
| 1370 | (.NOT. got_sub) .OR. -
|
---|
| 1371 | (.NOT. got_api_revision) .OR. -
|
---|
| 1372 | (.NOT. got_api_version) .OR. -
|
---|
| 1373 | (.NOT. got_api_subversion) .OR. -
|
---|
| 1374 | (.NOT. got_perl_patchlevel) -
|
---|
| 1375 | THEN GOTO Patchlevel_h_loop
|
---|
| 1376 | $Close_patch:
|
---|
| 1377 | $ CLOSE CONFIG
|
---|
| 1378 | $ ENDIF
|
---|
| 1379 | $!
|
---|
| 1380 | $ IF F$SEARCH("[-].patch") .NES. ""
|
---|
| 1381 | $ THEN
|
---|
| 1382 | $ SET NOON
|
---|
| 1383 | $ OPEN/READ PATCH [-].patch
|
---|
| 1384 | $ READ PATCH line
|
---|
| 1385 | $ CLOSE PATCH
|
---|
| 1386 | $ tmp = F$EDIT(line,"COLLAPSE")
|
---|
| 1387 | $ SET ON
|
---|
| 1388 | $ IF tmp .GT. perl_patchlevel then perl_patchlevel = tmp
|
---|
| 1389 | $ ENDIF
|
---|
| 1390 | $!
|
---|
| 1391 | $ version_patchlevel_string = "version ''patchlevel' subversion ''subversion'"
|
---|
| 1392 | $ IF got_perl_patchlevel .AND. perl_patchlevel .NES. "0"
|
---|
| 1393 | $ THEN
|
---|
| 1394 | $ version_patchlevel_string = "''version_patchlevel_string' patch ''perl_patchlevel'"
|
---|
| 1395 | $ ENDIF
|
---|
| 1396 | $ echo "(You have ''package' ''version_patchlevel_string'.)"
|
---|
| 1397 | $!
|
---|
| 1398 | $ version = revision + "_" + patchlevel + "_" + subversion
|
---|
| 1399 | $!
|
---|
| 1400 | $ IF (.NOT.vms_skip_install)
|
---|
| 1401 | $ THEN
|
---|
| 1402 | $!: set the prefixup variable, to restore leading tilde escape !sfn
|
---|
| 1403 | $!
|
---|
| 1404 | $!: determine where public architecture dependent libraries go
|
---|
| 1405 | $ IF (.NOT.silent)
|
---|
| 1406 | $ THEN
|
---|
| 1407 | $ echo ""
|
---|
| 1408 | $ echo "''package' contains architecture-dependent library files. If you are"
|
---|
| 1409 | $ ENDIF
|
---|
| 1410 | $ IF (.NOT.silent)
|
---|
| 1411 | $ THEN
|
---|
| 1412 | $ TYPE SYS$INPUT:
|
---|
| 1413 | $ DECK
|
---|
| 1414 | sharing libraries in a heterogeneous environment, you might store
|
---|
| 1415 | these files in a separate location. Otherwise, you can just include
|
---|
| 1416 | them with the rest of the public library files.
|
---|
| 1417 | $ EOD
|
---|
| 1418 | $ ENDIF
|
---|
| 1419 | $ IF F$TYPE(archlib) .NES. ""
|
---|
| 1420 | $ THEN dflt = archlib
|
---|
| 1421 | $ ELSE dflt = privlib - "]" + "." + archname + "." + version + "]"
|
---|
| 1422 | $ ENDIF
|
---|
| 1423 | $ rp = "Where do you want to put the public architecture-dependent libraries? "
|
---|
| 1424 | $ rp = F$FAO("!AS!/!AS",rp,"[ ''dflt' ] ")
|
---|
| 1425 | $ GOSUB myread
|
---|
| 1426 | $ archlib = ans
|
---|
| 1427 | $!
|
---|
| 1428 | $ ENDIF !%Config-I-VMS, skip "where install" questions
|
---|
| 1429 | $!
|
---|
| 1430 | $! This quotation from Configure has to be included on VMS:
|
---|
| 1431 | $!
|
---|
| 1432 | $ TYPE SYS$INPUT:
|
---|
| 1433 | $ DECK
|
---|
| 1434 |
|
---|
| 1435 | There is, however, a strange, musty smell in the air that reminds me of
|
---|
| 1436 | something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit.
|
---|
| 1437 | $ EOD
|
---|
| 1438 | $ IF (.NOT.vms_skip_install)
|
---|
| 1439 | $ THEN
|
---|
| 1440 | $!: it so happens the Eunice I know will not run shell scripts in Unix format
|
---|
| 1441 | $!
|
---|
| 1442 | $!: see if setuid scripts can be secure !sfn
|
---|
| 1443 | $!: now see if they want to do setuid emulation !sfn
|
---|
| 1444 | $!
|
---|
| 1445 | $!: determine where site specific libraries go.
|
---|
| 1446 | $ IF .NOT.silent
|
---|
| 1447 | $ THEN
|
---|
| 1448 | $ TYPE SYS$INPUT:
|
---|
| 1449 | $ DECK
|
---|
| 1450 |
|
---|
| 1451 | The installation process will also create a directory for
|
---|
| 1452 | site-specific extensions and modules. Some users find it convenient
|
---|
| 1453 | to place all local files in this directory rather than in the main
|
---|
| 1454 | distribution directory.
|
---|
| 1455 | $ EOD
|
---|
| 1456 | $ ENDIF
|
---|
| 1457 | $ IF F$TYPE(sitelib) .NES. ""
|
---|
| 1458 | $ THEN dflt = sitelib
|
---|
| 1459 | $ ELSE dflt = privlib - "]" + ".SITE_PERL]"
|
---|
| 1460 | $ ENDIF
|
---|
| 1461 | $ rp = "Pathname for the site-specific library files? "
|
---|
| 1462 | $ rp = F$FAO("!AS!/!AS",rp,"[ ''dflt' ] ")
|
---|
| 1463 | $ GOSUB myread
|
---|
| 1464 | $ sitelib = ans
|
---|
| 1465 | $!
|
---|
| 1466 | $!: determine where site specific architecture-dependent libraries go.
|
---|
| 1467 | $ IF .NOT.silent
|
---|
| 1468 | $ THEN TYPE SYS$INPUT:
|
---|
| 1469 | $ DECK
|
---|
| 1470 |
|
---|
| 1471 | The installation process will also create a directory for
|
---|
| 1472 | architecture-dependent site-specific extensions and modules.
|
---|
| 1473 | $ EOD
|
---|
| 1474 | $ ENDIF
|
---|
| 1475 | $ IF F$TYPE(sitearch) .NES. ""
|
---|
| 1476 | $ THEN dflt = sitearch
|
---|
| 1477 | $ ELSE dflt = sitelib - "]" + "." + archname + "]"
|
---|
| 1478 | $ ENDIF
|
---|
| 1479 | $ rp = "Pathname for the site-specific architecture-dependent library files? "
|
---|
| 1480 | $ rp = F$FAO("!AS!/!AS",rp,"[ ''dflt' ] ")
|
---|
| 1481 | $ GOSUB myread
|
---|
| 1482 | $ sitearch = ans
|
---|
| 1483 | $!
|
---|
| 1484 | $!: determine where old public architecture dependent libraries might be
|
---|
| 1485 | $!
|
---|
| 1486 | $!: determine where public executables go
|
---|
| 1487 | $ IF F$TYPE(bin) .NES. ""
|
---|
| 1488 | $ THEN dflt = bin
|
---|
| 1489 | $! ELSE dflt = prefix - ".]" + ".BIN]"
|
---|
| 1490 | $ ELSE dflt = "/''vms_prefix'"
|
---|
| 1491 | $ ENDIF
|
---|
| 1492 | $ rp = "Pathname where the public executables will reside? "
|
---|
| 1493 | $ rp = F$FAO("!AS!/!AS",rp,"[ ''dflt' ] ")
|
---|
| 1494 | $ GOSUB myread
|
---|
| 1495 | $ bin = ans
|
---|
| 1496 | $!
|
---|
| 1497 | $!: determine where add-on public executables go
|
---|
| 1498 | $ IF F$TYPE(sitebin) .NES. ""
|
---|
| 1499 | $ THEN dflt = sitebin
|
---|
| 1500 | $ ELSE dflt = "''vms_prefix':[bin.''archname']"
|
---|
| 1501 | $ ENDIF
|
---|
| 1502 | $ rp = "Pathname where the add-on public executables should be installed? "
|
---|
| 1503 | $ rp = F$FAO("!AS!/!AS",rp,"[ ''dflt' ] ")
|
---|
| 1504 | $ GOSUB myread
|
---|
| 1505 | $ sitebin = ans
|
---|
| 1506 | $!
|
---|
| 1507 | $!: determine where manual pages are on this system
|
---|
| 1508 | $!: What suffix to use on installed man pages
|
---|
| 1509 | $!: see if we can have long filenames
|
---|
| 1510 | $!: determine where library module manual pages go
|
---|
| 1511 | $!: What suffix to use on installed man pages
|
---|
| 1512 | $!: see what memory models we can support
|
---|
| 1513 | $!
|
---|
| 1514 | $ ELSE ! skipping "where install" questions, we must set some symbols
|
---|
| 1515 | $ IF F$TYPE(archlib).EQS."" THEN -
|
---|
| 1516 | archlib="''vms_prefix':[lib.''archname'.''version']"
|
---|
| 1517 | $ IF F$TYPE(bin) .EQS. "" THEN -
|
---|
| 1518 | bin="/''vms_prefix'"
|
---|
| 1519 | $ IF F$TYPE(privlib) .EQS. "" THEN -
|
---|
| 1520 | privlib ="''vms_prefix':[lib]"
|
---|
| 1521 | $ IF F$TYPE(sitearch) .EQS. "" THEN -
|
---|
| 1522 | sitearch="''vms_prefix':[lib.site_perl.''archname']"
|
---|
| 1523 | $ IF F$TYPE(sitelib) .EQS. "" THEN -
|
---|
| 1524 | sitelib ="''vms_prefix':[lib.site_perl]"
|
---|
| 1525 | $ IF F$TYPE(sitebin) .EQS. "" THEN -
|
---|
| 1526 | sitebin="''vms_prefix':[bin.''archname']"
|
---|
| 1527 | $ ENDIF !%Config-I-VMS, skip "where install" questions
|
---|
| 1528 | $!
|
---|
| 1529 | $! These derived locations can be set whether we've opted to
|
---|
| 1530 | $! skip the where install questions or not.
|
---|
| 1531 | $!
|
---|
| 1532 | $ IF F$TYPE(archlibexp) .EQS. "" THEN -
|
---|
| 1533 | archlibexp="''vms_prefix':[lib.''archname'.''version']"
|
---|
| 1534 | $ IF F$TYPE(binexp) .EQS. "" THEN -
|
---|
| 1535 | binexp ="''vms_prefix':[000000]"
|
---|
| 1536 | $ IF F$TYPE(builddir) .EQS. "" THEN -
|
---|
| 1537 | builddir ="''vms_prefix':[000000]"
|
---|
| 1538 | $ IF F$TYPE(installarchlib) .EQS. "" THEN -
|
---|
| 1539 | installarchlib="''vms_prefix':[lib.''archname'.''version']"
|
---|
| 1540 | $ IF F$TYPE(installbin) .EQS. "" THEN -
|
---|
| 1541 | installbin ="''vms_prefix':[000000]"
|
---|
| 1542 | $ IF F$TYPE(installscript) .EQS. "" THEN -
|
---|
| 1543 | installscript ="''vms_prefix':[utils]"
|
---|
| 1544 | $ IF F$TYPE(installman1dir) .EQS. "" THEN -
|
---|
| 1545 | installman1dir ="''vms_prefix':[man.man1]"
|
---|
| 1546 | $ IF F$TYPE(installman3dir) .EQS. "" THEN -
|
---|
| 1547 | installman3dir ="''vms_prefix':[man.man3]"
|
---|
| 1548 | $ IF F$TYPE(installprivlib) .EQS. "" THEN -
|
---|
| 1549 | installprivlib ="''vms_prefix':[lib]"
|
---|
| 1550 | $ IF F$TYPE(installsitearch) .EQS. "" THEN -
|
---|
| 1551 | installsitearch="''vms_prefix':[lib.site_perl.''archname']"
|
---|
| 1552 | $ IF F$TYPE(installsitelib) .EQS. "" THEN -
|
---|
| 1553 | installsitelib ="''vms_prefix':[lib.site_perl]"
|
---|
| 1554 | $ IF F$TYPE(oldarchlib) .EQS. "" THEN -
|
---|
| 1555 | oldarchlib="''vms_prefix':[lib.''archname']"
|
---|
| 1556 | $ IF F$TYPE(oldarchlibexp) .EQS. "" THEN -
|
---|
| 1557 | oldarchlibexp="''vms_prefix':[lib.''archname']"
|
---|
| 1558 | $ IF F$TYPE(privlibexp) .EQS. "" THEN -
|
---|
| 1559 | privlibexp ="''vms_prefix':[lib]"
|
---|
| 1560 | $ IF F$TYPE(scriptdir) .EQS. "" THEN -
|
---|
| 1561 | scriptdir ="''vms_prefix':[utils]"
|
---|
| 1562 | $ IF F$TYPE(sitearchexp) .EQS. "" THEN -
|
---|
| 1563 | sitearchexp ="''vms_prefix':[lib.site_perl.''archname']"
|
---|
| 1564 | $ IF F$TYPE(sitelib_stem) .EQS. "" THEN -
|
---|
| 1565 | sitelib_stem ="''vms_prefix':[lib.site_perl]"
|
---|
| 1566 | $ IF F$TYPE(sitelibexp) .EQS. "" THEN -
|
---|
| 1567 | sitelibexp ="''vms_prefix':[lib.site_perl]"
|
---|
| 1568 | $!
|
---|
| 1569 | $!: see if we need a special compiler
|
---|
| 1570 | $! cc_list = "cc/decc|gcc" !%Config-I-VMS, compiler symbols/commands
|
---|
| 1571 | $!
|
---|
| 1572 | $ nocc = "f"
|
---|
| 1573 | $ vms_cc_dflt = ""
|
---|
| 1574 | $ vms_cc_available = ""
|
---|
| 1575 | $!
|
---|
| 1576 | $ OPEN/WRITE CONFIG ccvms.c
|
---|
| 1577 | $ WRITE CONFIG "#ifdef __DECC"
|
---|
| 1578 | $ WRITE CONFIG "#include <stdlib.h>" !DECC is sooo picky
|
---|
| 1579 | $ WRITE CONFIG "#endif"
|
---|
| 1580 | $ WRITE CONFIG "#include <stdio.h>"
|
---|
| 1581 | $ WRITE CONFIG "int main() {"
|
---|
| 1582 | $ WRITE CONFIG "#ifdef __DECC"
|
---|
| 1583 | $ WRITE CONFIG " printf(""/DECC\n"");"
|
---|
| 1584 | $ WRITE CONFIG "#else"
|
---|
| 1585 | $ WRITE CONFIG " printf(""/VAXC\n"");"
|
---|
| 1586 | $ WRITE CONFIG "#endif"
|
---|
| 1587 | $ WRITE CONFIG " exit(0);"
|
---|
| 1588 | $ WRITE CONFIG "}"
|
---|
| 1589 | $ CLOSE CONFIG
|
---|
| 1590 | $!
|
---|
| 1591 | $ SET NOON
|
---|
| 1592 | $ DEFINE/USER_MODE SYS$ERROR _NLA0:
|
---|
| 1593 | $ DEFINE/USER_MODE SYS$OUTPUT _NLA0:
|
---|
| 1594 | $ cc/NoObj/list=ccvms.lis ccvms.c
|
---|
| 1595 | $ tmp = $status
|
---|
| 1596 | $ SET ON
|
---|
| 1597 | $ IF (silent) THEN GOSUB Shut_up
|
---|
| 1598 | $ IF tmp.NE.%X10B90001
|
---|
| 1599 | $ THEN
|
---|
| 1600 | $ IF tmp.NE.%X10000001
|
---|
| 1601 | $ THEN
|
---|
| 1602 | $ nocc = "t" !%X10000001 is return from gcc
|
---|
| 1603 | $ GOTO Gcc_initial_check
|
---|
| 1604 | $ ENDIF
|
---|
| 1605 | $ ENDIF
|
---|
| 1606 | $!
|
---|
| 1607 | $ GOSUB List_Parse
|
---|
| 1608 | $ IF .NOT.silent THEN echo ""
|
---|
| 1609 | $ echo "Default ""cc"" is ''line' ''archsufx' ''F$GETSYI("VERSION")'"
|
---|
| 1610 | $ IF F$LOCATE("VAX",line).NE.F$LENGTH(line)
|
---|
| 1611 | $ THEN
|
---|
| 1612 | $ IF .NOT.silent
|
---|
| 1613 | $ THEN
|
---|
| 1614 | $ echo "Will try cc/decc..."
|
---|
| 1615 | $ ENDIF
|
---|
| 1616 | $ SET NOON
|
---|
| 1617 | $ DEFINE/USER_MODE SYS$ERROR NL:
|
---|
| 1618 | $ DEFINE/USER_MODE SYS$OUTPUT NL:
|
---|
| 1619 | $ cc/decc/NoObj/list=ccvms.lis ccvms.c
|
---|
| 1620 | $ tmp = $status
|
---|
| 1621 | $ SET ON
|
---|
| 1622 | $ IF (silent) THEN GOSUB Shut_up
|
---|
| 1623 | $ IF tmp.NE.%X10B90001
|
---|
| 1624 | $ THEN
|
---|
| 1625 | $ echo "Apparently you don't have that one."
|
---|
| 1626 | $ ELSE
|
---|
| 1627 | $ GOSUB List_parse
|
---|
| 1628 | $ echo "You also have: ''line' ''archsufx' ''F$GETSYI("VERSION")'"
|
---|
| 1629 | $ vms_cc_available = vms_cc_available + "cc/decc "
|
---|
| 1630 | $ ENDIF
|
---|
| 1631 | $ ELSE
|
---|
| 1632 | $ IF (F$LOCATE("DEC",line).NE.F$LENGTH(line)).or.(F$LOCATE("Compaq",line).NE.F$LENGTH(line)) -
|
---|
| 1633 | .or.(F$LOCATE("HP",F$EDIT(line,"UPCASE")).NE.F$LENGTH(line))
|
---|
| 1634 | $ THEN
|
---|
| 1635 | $ vms_cc_dflt = "/decc"
|
---|
| 1636 | $ vms_cc_available = vms_cc_available + "cc/decc "
|
---|
| 1637 | $ ENDIF
|
---|
| 1638 | $ ENDIF
|
---|
| 1639 | $!
|
---|
| 1640 | $Gcc_initial_check:
|
---|
| 1641 | $ echo "Checking for gcc"
|
---|
| 1642 | $ OPEN/WRITE CONFIG gccvers.lis
|
---|
| 1643 | $ SET NOON
|
---|
| 1644 | $ DEFINE/USER_MODE SYS$ERROR CONFIG
|
---|
| 1645 | $ DEFINE/USER_MODE SYS$OUTPUT CONFIG
|
---|
| 1646 | $ 'gcc_symbol'/noobj/version _nla0:
|
---|
| 1647 | $ tmp = $status
|
---|
| 1648 | $ SET ON
|
---|
| 1649 | $ IF (silent) THEN GOSUB Shut_up
|
---|
| 1650 | $ CLOSE CONFIG
|
---|
| 1651 | $ IF (tmp.NE.%X10000001).and.(tmp.ne.%X00030001)
|
---|
| 1652 | $ THEN
|
---|
| 1653 | $ echo "Symbol ""''gcc_symbol'"" is not defined. I guess you do not have it."
|
---|
| 1654 | $ DELETE/NOLOG/NOCONFIRM gccvers.lis;
|
---|
| 1655 | $ GOTO Cxx_initial_check
|
---|
| 1656 | $ ENDIF
|
---|
| 1657 | $ OPEN/READ CONFIG gccvers.lis
|
---|
| 1658 | $GCC_List_Read:
|
---|
| 1659 | $ READ/END_OF_FILE=GCC_List_End CONFIG line
|
---|
| 1660 | $ GOTO GCC_List_Read
|
---|
| 1661 | $GCC_List_End:
|
---|
| 1662 | $ CLOSE CONFIG
|
---|
| 1663 | $ echo line
|
---|
| 1664 | $ vms_cc_available = vms_cc_available + "''gcc_symbol' "
|
---|
| 1665 | $ DELETE/NOLOG/NOCONFIRM gccvers.lis;
|
---|
| 1666 | $!
|
---|
| 1667 | $Cxx_initial_check:
|
---|
| 1668 | $!
|
---|
| 1669 | $! Do note that [vms]perl source files have a ways to go before they will
|
---|
| 1670 | $! compile under CXX.
|
---|
| 1671 | $! In order to test Configure.com with CXX invoke it with "-Dtry_cxx" on
|
---|
| 1672 | $! the command line.
|
---|
| 1673 | $!
|
---|
| 1674 | $ IF F$TYPE(try_cxx) .EQS. "" THEN try_cxx := n
|
---|
| 1675 | $ IF try_cxx .OR. try_cxx .EQS. "define"
|
---|
| 1676 | $!
|
---|
| 1677 | $ THEN
|
---|
| 1678 | $!
|
---|
| 1679 | $ echo "Checking for CXX..."
|
---|
| 1680 | $ OPEN/WRITE CONFIG ccvms.c
|
---|
| 1681 | $ WRITE CONFIG "#include <iostream>"
|
---|
| 1682 | $ WRITE CONFIG "int main() {"
|
---|
| 1683 | $ WRITE CONFIG "#ifdef __DECCXX"
|
---|
| 1684 | $ WRITE CONFIG " cout << __DECCXX, endl;"
|
---|
| 1685 | $ WRITE CONFIG "#else"
|
---|
| 1686 | $ WRITE CONFIG " cout << 0,endl;"
|
---|
| 1687 | $ WRITE CONFIG "#endif"
|
---|
| 1688 | $! Todo: add G++ identifier check ??
|
---|
| 1689 | $ WRITE CONFIG " return(0);"
|
---|
| 1690 | $ WRITE CONFIG "}"
|
---|
| 1691 | $ CLOSE CONFIG
|
---|
| 1692 | $ SET NOON
|
---|
| 1693 | $ DEFINE/USER_MODE SYS$OUTPUT NL:
|
---|
| 1694 | $ DEFINE/USER_MODE SYS$ERROR NL:
|
---|
| 1695 | $ cxx ccvms.c
|
---|
| 1696 | $ tmp = $status
|
---|
| 1697 | $ SET ON
|
---|
| 1698 | $! success $status with:
|
---|
| 1699 | $! DEC C++ V1.1-001 on VMS VAX V5.5-2
|
---|
| 1700 | $! DEC C++ V5.6-013 on OpenVMS VAX V7.1
|
---|
| 1701 | $! DEC C++ V6.1-003 on OpenVMS Alpha V7.1
|
---|
| 1702 | $! Compaq C++ V6.2-016 for OpenVMS Alpha V7.2-1
|
---|
| 1703 | $ IF tmp .eq. %X15F60001
|
---|
| 1704 | $ THEN
|
---|
| 1705 | $! Which linker?
|
---|
| 1706 | $ SET NOON
|
---|
| 1707 | $ DEFINE/USER_MODE SYS$OUTPUT NL:
|
---|
| 1708 | $ DEFINE/USER_MODE SYS$ERROR NL:
|
---|
| 1709 | $ link/nodebug ccvms.obj
|
---|
| 1710 | $ tmp = $status
|
---|
| 1711 | $ SET ON
|
---|
| 1712 | $ ! success $status with:
|
---|
| 1713 | $ ! link && DEC C++ V1.1-001 on VMS VAX V5.5-2
|
---|
| 1714 | $ ! link && DEC C++ V5.6-013 on OpenVMS VAX V7.1
|
---|
| 1715 | $ IF tmp .eq. %X10000001
|
---|
| 1716 | $ THEN
|
---|
| 1717 | $ ld_try = "Link"
|
---|
| 1718 | $ vms_cc_available = vms_cc_available + "cxx "
|
---|
| 1719 | $ echo "CXX and LINK are available."
|
---|
| 1720 | $ ELSE
|
---|
| 1721 | $ IF F$SEARCH("ccvms.exe") .NES. "" THEN DELETE/NOLOG/NOCONFIRM ccvms.exe;
|
---|
| 1722 | $ SET NOON
|
---|
| 1723 | $ DEFINE/USER_MODE SYS$OUTPUT NL:
|
---|
| 1724 | $ DEFINE/USER_MODE SYS$ERROR NL:
|
---|
| 1725 | $ cxxlink ccvms.obj
|
---|
| 1726 | $ tmp = $status
|
---|
| 1727 | $ SET ON
|
---|
| 1728 | $ ! success $status with:
|
---|
| 1729 | $ ! cxxlink && DEC C++ V6.1-003 on OpenVMS Alpha V7.1
|
---|
| 1730 | $ ! cxxlink && Compaq C++ V6.2-016 for OpenVMS Alpha V7.2-1
|
---|
| 1731 | $ IF tmp .eq. %X10000001
|
---|
| 1732 | $ THEN
|
---|
| 1733 | $ ld_try = "cxxlink"
|
---|
| 1734 | $ vms_cc_available = vms_cc_available + "cxx "
|
---|
| 1735 | $ echo "CXX and CXXLINK are available."
|
---|
| 1736 | $ ENDIF
|
---|
| 1737 | $ ENDIF
|
---|
| 1738 | $ IF F$SEARCH("ccvms.exe") .NES. "" THEN DELETE/NOLOG/NOCONFIRM ccvms.exe;
|
---|
| 1739 | $ ELSE
|
---|
| 1740 | $ echo "Nope."
|
---|
| 1741 | $ ENDIF
|
---|
| 1742 | $ DELETE/NOLOG/NOCONFIRM ccvms.c;
|
---|
| 1743 | $ IF F$SEARCH("ccvms.obj") .NES. "" THEN DELETE/NOLOG/NOCONFIRM ccvms.obj;
|
---|
| 1744 | $ CALL Cxx_demangler_cleanup
|
---|
| 1745 | $!
|
---|
| 1746 | $ ENDIF ! 1 .eq. 0 or 1 .eq. 1
|
---|
| 1747 | $!
|
---|
| 1748 | $CC_Cleanup:
|
---|
| 1749 | $ DELETE/NOLOG/NOCONFIRM ccvms.*;
|
---|
| 1750 | $CC_Desired:
|
---|
| 1751 | $!: see if we need a special compiler
|
---|
| 1752 | $! echo ""
|
---|
| 1753 | $ echo "Available compiler(s):"
|
---|
| 1754 | $ echo "( ''vms_cc_available')"
|
---|
| 1755 | $ IF .NOT.nocc
|
---|
| 1756 | $ THEN
|
---|
| 1757 | $ dflt = "cc''vms_cc_dflt'" !-> "cc" in case first compile went OK
|
---|
| 1758 | $ ELSE
|
---|
| 1759 | $ dflt = gcc_symbol
|
---|
| 1760 | $ ENDIF
|
---|
| 1761 | $ rp = "Use which C compiler? [''dflt'] "
|
---|
| 1762 | $ GOSUB myread
|
---|
| 1763 | $ IF ans.NES.""
|
---|
| 1764 | $ THEN
|
---|
| 1765 | $ ans = F$EDIT(ans,"TRIM, COMPRESS, LOWERCASE")
|
---|
| 1766 | $ Mcc = ans
|
---|
| 1767 | $ IF (F$LOCATE("dec",ans).NE.F$LENGTH(ans)).or.(F$LOCATE("compaq",ans).NE.F$LENGTH(ans)) -
|
---|
| 1768 | .or.(F$LOCATE("hp",ans).NE.F$LENGTH(ans))
|
---|
| 1769 | $ THEN
|
---|
| 1770 | $ Mcc = "cc/decc"
|
---|
| 1771 | $! CPQ ?
|
---|
| 1772 | $ ccname := DEC
|
---|
| 1773 | $ C_COMPILER_Replace = "CC=cc=''Mcc'"
|
---|
| 1774 | $ ENDIF
|
---|
| 1775 | $ IF F$LOCATE("cxx",F$EDIT(ans,"COLLAPSE,LOWERCASE")) .NE. F$LENGTH(ans)
|
---|
| 1776 | $ THEN
|
---|
| 1777 | $ Mcc = "cxx"
|
---|
| 1778 | $ ccname := CXX
|
---|
| 1779 | $ ld = ld_try
|
---|
| 1780 | $ C_COMPILER_Replace = "CC=cc=''Mcc'"
|
---|
| 1781 | $ ELSE ! Not_cxx
|
---|
| 1782 | $ IF Mcc.NES.dflt
|
---|
| 1783 | $ THEN
|
---|
| 1784 | $ IF F$LOCATE("dec",dflt) .NE. F$LENGTH(dflt) .or. -
|
---|
| 1785 | F$LOCATE("compaq",dflt) .NE. F$LENGTH(dflt)
|
---|
| 1786 | $ THEN
|
---|
| 1787 | $ C_COMPILER_Replace = "CC=cc=''Mcc'"
|
---|
| 1788 | $ ELSE
|
---|
| 1789 | $ ccname := DEC
|
---|
| 1790 | $ ENDIF
|
---|
| 1791 | $ ELSE
|
---|
| 1792 | $ IF Mcc .EQS. "cc/decc"
|
---|
| 1793 | $ THEN
|
---|
| 1794 | $ ccname := DEC
|
---|
| 1795 | $ C_COMPILER_Replace = "CC=cc=''Mcc'"
|
---|
| 1796 | $ ENDIF
|
---|
| 1797 | $ ENDIF
|
---|
| 1798 | $ ENDIF
|
---|
| 1799 | $ ELSE
|
---|
| 1800 | $ Mcc = dflt
|
---|
| 1801 | $ IF Mcc .EQS. "cc/decc"
|
---|
| 1802 | $ THEN
|
---|
| 1803 | $ ccname := DEC
|
---|
| 1804 | $ C_COMPILER_Replace = "CC=cc=''Mcc'"
|
---|
| 1805 | $ ENDIF
|
---|
| 1806 | $ IF Mcc .EQS. "gcc"
|
---|
| 1807 | $ THEN
|
---|
| 1808 | $ ccname := GCC
|
---|
| 1809 | $ C_COMPILER_Replace = "CC=cc=''Mcc'"
|
---|
| 1810 | $ ENDIF
|
---|
| 1811 | $ ENDIF
|
---|
| 1812 | $Decc_Version_check:
|
---|
| 1813 | $ ccversion=""
|
---|
| 1814 | $ IF ccname .EQS. "DEC"
|
---|
| 1815 | $ THEN
|
---|
| 1816 | $ echo ""
|
---|
| 1817 | $ echo4 "Checking for the Dec C version number..."
|
---|
| 1818 | $ OPEN/WRITE CONFIG deccvers.c
|
---|
| 1819 | $ WRITE CONFIG "#include <stdlib.h>" !DECC is sooo picky
|
---|
| 1820 | $ WRITE CONFIG "#include <stdio.h>"
|
---|
| 1821 | $ WRITE CONFIG "int main() {"
|
---|
| 1822 | $ WRITE CONFIG "#ifdef __DECC"
|
---|
| 1823 | $ WRITE CONFIG "#ifdef __DECC_VER"
|
---|
| 1824 | $ WRITE CONFIG " printf(""%i\n"", __DECC_VER);"
|
---|
| 1825 | $ WRITE CONFIG "#else"
|
---|
| 1826 | $ WRITE CONFIG " printf(""%i\n"", ""1"");"
|
---|
| 1827 | $ WRITE CONFIG "#endif"
|
---|
| 1828 | $ WRITE CONFIG "#endif"
|
---|
| 1829 | $ WRITE CONFIG " exit(0);"
|
---|
| 1830 | $ WRITE CONFIG "}"
|
---|
| 1831 | $ CLOSE CONFIG
|
---|
| 1832 | $ SET NOON
|
---|
| 1833 | $ DEFINE/USER_MODE SYS$ERROR NL:
|
---|
| 1834 | $ DEFINE/USER_MODE SYS$OUTPUT NL:
|
---|
| 1835 | $ 'Mcc' deccvers.c
|
---|
| 1836 | $ tmp = $status
|
---|
| 1837 | $ IF (silent) THEN GOSUB Shut_up
|
---|
| 1838 | $ DEFINE/USER_MODE SYS$ERROR NL:
|
---|
| 1839 | $ DEFINE/USER_MODE SYS$OUTPUT NL:
|
---|
| 1840 | $ link/nodebug deccvers.obj
|
---|
| 1841 | $ tmp = $status
|
---|
| 1842 | $ IF (silent) THEN GOSUB Shut_up
|
---|
| 1843 | $ OPEN/WRITE CONFIG deccvers.out
|
---|
| 1844 | $ DEFINE/USER_MODE SYS$ERROR CONFIG
|
---|
| 1845 | $ DEFINE/USER_MODE SYS$OUTPUT CONFIG
|
---|
| 1846 | $ mcr []deccvers.exe
|
---|
| 1847 | $ tmp = $status
|
---|
| 1848 | $ SET ON
|
---|
| 1849 | $ CLOSE CONFIG
|
---|
| 1850 | $ IF (silent) THEN GOSUB Shut_up
|
---|
| 1851 | $ OPEN/READ CONFIG deccvers.out
|
---|
| 1852 | $ READ/END_OF_FILE=Dec_c_cleanup CONFIG line
|
---|
| 1853 | $Dec_c_cleanup:
|
---|
| 1854 | $ CLOSE CONFIG
|
---|
| 1855 | $ echo "You are using Dec C ''line'"
|
---|
| 1856 | $ ccversion = line
|
---|
| 1857 | $ Dec_C_Version = F$INTEGER(line)
|
---|
| 1858 | $ IF Dec_C_Version .GE. 60200000 .AND. archname .NES. "VMS_VAX"
|
---|
| 1859 | $ THEN
|
---|
| 1860 | $ echo4 "adding /NOANSI_ALIAS qualifier to ccflags."
|
---|
| 1861 | $ ccflags = ccflags + "/NOANSI_ALIAS"
|
---|
| 1862 | $ ENDIF
|
---|
| 1863 | $ DELETE/NOLOG/NOCONFIRM deccvers.*;
|
---|
| 1864 | $ ENDIF
|
---|
| 1865 | $Gcc_check:
|
---|
| 1866 | $ gccversion = ""
|
---|
| 1867 | $ IF ccname .EQS. "GCC"
|
---|
| 1868 | $ THEN
|
---|
| 1869 | $ vaxcrtl_olb = F$SEARCH("SYS$LIBRARY:VAXCRTL.OLB")
|
---|
| 1870 | $ vaxcrtl_exe = F$SEARCH("SYS$SHARE:VAXCRTL.EXE")
|
---|
| 1871 | $ gcclib_olb = F$SEARCH("GNU_CC:[000000]GCCLIB.OLB")
|
---|
| 1872 | $ IF gcclib_olb .EQS. ""
|
---|
| 1873 | $ THEN
|
---|
| 1874 | $! These objects/libs come w/ gcc 2.7.2 for AXP:
|
---|
| 1875 | $ tmp = F$SEARCH("GNU_CC:[000000]libgcc2.olb")
|
---|
| 1876 | $ IF tmp .NES. "" then gcclib_olb = tmp
|
---|
| 1877 | $ tmp = F$SEARCH("GNU_CC:[000000]libgcclib.olb")
|
---|
| 1878 | $ IF tmp .NES. ""
|
---|
| 1879 | $ THEN
|
---|
| 1880 | $ IF gcclib_olb .EQS. ""
|
---|
| 1881 | $ THEN gcclib_olb = tmp
|
---|
| 1882 | $ ELSE gcclib_olb = gcclib_olb + "/lib," + tmp
|
---|
| 1883 | $ ENDIF
|
---|
| 1884 | $ ENDIF
|
---|
| 1885 | $ tmp = F$SEARCH("SYS$LIBRARY:VAXCRTL.OLB")
|
---|
| 1886 | $ IF tmp .NES. ""
|
---|
| 1887 | $ THEN
|
---|
| 1888 | $ IF gcclib_olb .EQS. ""
|
---|
| 1889 | $ THEN gcclib_olb = tmp
|
---|
| 1890 | $ ELSE gcclib_olb = gcclib_olb + "/lib," + tmp
|
---|
| 1891 | $ ENDIF
|
---|
| 1892 | $ ENDIF
|
---|
| 1893 | $ tmp = F$SEARCH("GNU_CC:[000000]crt0.obj")
|
---|
| 1894 | $ IF tmp .NES. ""
|
---|
| 1895 | $ THEN
|
---|
| 1896 | $ IF gcclib_olb .EQS. ""
|
---|
| 1897 | $ THEN gcclib_olb = tmp
|
---|
| 1898 | $ ELSE gcclib_olb = gcclib_olb + "/lib," + tmp
|
---|
| 1899 | $ ENDIF
|
---|
| 1900 | $ ENDIF
|
---|
| 1901 | $ IF gcclib_olb .EQS. vaxcrtl_olb THEN gcclib_olb = "" !goofy order of axplibs
|
---|
| 1902 | $ ELSE
|
---|
| 1903 | $ gcclib_olb = gcclib_olb + "/lib"
|
---|
| 1904 | $ ENDIF
|
---|
| 1905 | $ IF gcclib_olb .NES. "" .AND. -
|
---|
| 1906 | (vaxcrtl_olb .NES. "" .OR. -
|
---|
| 1907 | vaxcrtl_exe .NES. "" )
|
---|
| 1908 | $ THEN
|
---|
| 1909 | $ echo ""
|
---|
| 1910 | $ echo4 "Checking for GNU cc in disguise and/or its version number..." !>&4
|
---|
| 1911 | $ OPEN/WRITE CONFIG gccvers.c
|
---|
| 1912 | $ WRITE CONFIG "#include <stdio.h>"
|
---|
| 1913 | $ WRITE CONFIG "int main() {"
|
---|
| 1914 | $ WRITE CONFIG "#ifdef __GNUC__"
|
---|
| 1915 | $ WRITE CONFIG "#ifdef __VERSION__"
|
---|
| 1916 | $ WRITE CONFIG " printf(""%s\n"", __VERSION__);"
|
---|
| 1917 | $ WRITE CONFIG "#else"
|
---|
| 1918 | $ WRITE CONFIG " printf(""%s\n"", ""1"");"
|
---|
| 1919 | $ WRITE CONFIG "#endif"
|
---|
| 1920 | $ WRITE CONFIG "#endif"
|
---|
| 1921 | $ WRITE CONFIG " exit(0);"
|
---|
| 1922 | $ WRITE CONFIG "}"
|
---|
| 1923 | $ CLOSE CONFIG
|
---|
| 1924 | $ DEFINE SYS$ERROR _NLA0:
|
---|
| 1925 | $ DEFINE SYS$OUTPUT _NLA0:
|
---|
| 1926 | $ 'Mcc' gccvers.c
|
---|
| 1927 | $ tmp = $status
|
---|
| 1928 | $ DEASSIGN SYS$ERROR _NLA0:
|
---|
| 1929 | $ DEASSIGN SYS$OUTPUT _NLA0:
|
---|
| 1930 | $ IF (silent) THEN GOSUB Shut_up
|
---|
| 1931 | $ DEFINE SYS$ERROR _NLA0:
|
---|
| 1932 | $ DEFINE SYS$OUTPUT _NLA0:
|
---|
| 1933 | $ IF vaxcrtl_exe .EQS. ""
|
---|
| 1934 | $ THEN
|
---|
| 1935 | $ IF F$LOCATE("VAXCRTL",gcclib_olb).NE.F$LENGTH(gcclib_olb)
|
---|
| 1936 | $ THEN
|
---|
| 1937 | $ link/nodebug gccvers.obj,'gcclib_olb',SYS$LIBRARY:VAXCRTL/Library
|
---|
| 1938 | $ tmp = $status
|
---|
| 1939 | $ ELSE
|
---|
| 1940 | $ link/nodebug gccvers.obj,'gcclib_olb'
|
---|
| 1941 | $ tmp = $status
|
---|
| 1942 | $ ENDIF
|
---|
| 1943 | $ ELSE
|
---|
| 1944 | $ OPEN/WRITE CONFIG GCCVERS.OPT
|
---|
| 1945 | $ WRITE CONFIG "SYS$SHARE:VAXCRTL/SHARE"
|
---|
| 1946 | $ CLOSE CONFIG
|
---|
| 1947 | $ link/nodebug gccvers.obj,GCCVERS.OPT/OPT,'gcclib_olb'
|
---|
| 1948 | $ tmp = $status
|
---|
| 1949 | $ ENDIF
|
---|
| 1950 | $ DEASSIGN SYS$ERROR
|
---|
| 1951 | $ DEASSIGN SYS$OUTPUT
|
---|
| 1952 | $ IF (silent) THEN GOSUB Shut_up
|
---|
| 1953 | $ OPEN/WRITE CONFIG gccvers.out
|
---|
| 1954 | $ DEFINE SYS$ERROR CONFIG
|
---|
| 1955 | $ DEFINE SYS$OUTPUT CONFIG
|
---|
| 1956 | $ mcr []gccvers.exe
|
---|
| 1957 | $ tmp = $status
|
---|
| 1958 | $ CLOSE CONFIG
|
---|
| 1959 | $ DEASSIGN SYS$OUTPUT
|
---|
| 1960 | $ DEASSIGN SYS$ERROR
|
---|
| 1961 | $ IF (silent) THEN GOSUB Shut_up
|
---|
| 1962 | $ OPEN/READ CONFIG gccvers.out
|
---|
| 1963 | $ READ/END_OF_FILE=Gcc_cleanup CONFIG line
|
---|
| 1964 | $Gcc_cleanup:
|
---|
| 1965 | $ CLOSE CONFIG
|
---|
| 1966 | $ DELETE/NOLOG/NOCONFIRM gccvers.*;
|
---|
| 1967 | $ IF F$LOCATE("GNU C version ",line).NE.F$LENGTH(line)
|
---|
| 1968 | $ THEN
|
---|
| 1969 | $ echo "You are not using GNU cc."
|
---|
| 1970 | $ GOTO Host_name
|
---|
| 1971 | $ ELSE
|
---|
| 1972 | $ echo "You are using GNU cc ''line'"
|
---|
| 1973 | $ gccversion = line
|
---|
| 1974 | $ ccname := "GCC"
|
---|
| 1975 | $ C_COMPILER_Replace = "CC=cc=''Mcc'"
|
---|
| 1976 | $ GOTO Include_dirs
|
---|
| 1977 | $ ENDIF
|
---|
| 1978 | $ ENDIF
|
---|
| 1979 | $ ENDIF
|
---|
| 1980 | $Cxx_Version_check:
|
---|
| 1981 | $ IF ccname .EQS. "CXX"
|
---|
| 1982 | $ THEN
|
---|
| 1983 | $ OPEN/WRITE CONFIG cxxvers.c
|
---|
| 1984 | $ WRITE CONFIG "#include <stdio.h>"
|
---|
| 1985 | $ WRITE CONFIG "int main() {"
|
---|
| 1986 | $ WRITE CONFIG "#ifdef __DECCXX_VER"
|
---|
| 1987 | $ WRITE CONFIG " printf(""%i\n"", __DECCXX_VER);"
|
---|
| 1988 | $ WRITE CONFIG "#else"
|
---|
| 1989 | $ WRITE CONFIG " printf(""%i\n"", ""0"");"
|
---|
| 1990 | $ WRITE CONFIG "#endif"
|
---|
| 1991 | $ WRITE CONFIG " return(0);"
|
---|
| 1992 | $ WRITE CONFIG "}"
|
---|
| 1993 | $ CLOSE CONFIG
|
---|
| 1994 | $ SET NOON
|
---|
| 1995 | $ DEFINE/USER_MODE SYS$ERROR NL:
|
---|
| 1996 | $ DEFINE/USER_MODE SYS$OUTPUT NL:
|
---|
| 1997 | $ 'Mcc' cxxvers.c
|
---|
| 1998 | $ tmp = $status
|
---|
| 1999 | $ SET ON
|
---|
| 2000 | $ IF (silent) THEN GOSUB Shut_up
|
---|
| 2001 | $ SET NOON
|
---|
| 2002 | $ DEFINE/USER_MODE SYS$ERROR NL:
|
---|
| 2003 | $ DEFINE/USER_MODE SYS$OUTPUT NL:
|
---|
| 2004 | $ 'ld' cxxvers.obj
|
---|
| 2005 | $ tmp = $status
|
---|
| 2006 | $ SET ON
|
---|
| 2007 | $ IF (silent) THEN GOSUB Shut_up
|
---|
| 2008 | $ OPEN/WRITE CONFIG cxxvers.out
|
---|
| 2009 | $ SET NOON
|
---|
| 2010 | $ DEFINE/USER_MODE SYS$ERROR CONFIG
|
---|
| 2011 | $ DEFINE/USER_MODE SYS$OUTPUT CONFIG
|
---|
| 2012 | $ mcr []cxxvers.exe
|
---|
| 2013 | $ tmp = $status
|
---|
| 2014 | $ SET ON
|
---|
| 2015 | $ CLOSE CONFIG
|
---|
| 2016 | $ IF (silent) THEN GOSUB Shut_up
|
---|
| 2017 | $ OPEN/READ CONFIG cxxvers.out
|
---|
| 2018 | $ READ/END_OF_FILE=Cxx_cleanup CONFIG line
|
---|
| 2019 | $Cxx_cleanup:
|
---|
| 2020 | $ CLOSE CONFIG
|
---|
| 2021 | $ DELETE/NOLOG/NOCONFIRM cxxvers.*;
|
---|
| 2022 | $ echo "You are using CXX ''line'"
|
---|
| 2023 | $ cxxversion = line
|
---|
| 2024 | $ ccversion = line
|
---|
| 2025 | $ CALL Cxx_demangler_cleanup
|
---|
| 2026 | $ ENDIF
|
---|
| 2027 | $!
|
---|
| 2028 | $Cxx_demangler_cleanup: SUBROUTINE
|
---|
| 2029 | $!
|
---|
| 2030 | $! If we do build with CXX these demangler Dbs will be left all over.
|
---|
| 2031 | $! However, configure.com does try to remove the [.UU] sub directory.
|
---|
| 2032 | $! Be sure to set default to the correct place before calling this sub.
|
---|
| 2033 | $!
|
---|
| 2034 | $ SET NOON
|
---|
| 2035 | $ IF F$SEARCH("[.CXX_REPOSITORY]*.*") .NES. "" THEN DELETE/NOLOG/NOCONFIRM [.CXX_REPOSITORY]*.*;*
|
---|
| 2036 | $ IF F$SEARCH("CXX_REPOSITORY.DIR") .NES. ""
|
---|
| 2037 | $ THEN
|
---|
| 2038 | $ SET PROTECTION=(SYSTEM:RWED,OWNER:RWED) CXX_REPOSITORY.DIR
|
---|
| 2039 | $ DELETE/NOLOG/NOCONFIRM CXX_REPOSITORY.DIR;
|
---|
| 2040 | $ ENDIF
|
---|
| 2041 | $ SET ON
|
---|
| 2042 | $ EXIT
|
---|
| 2043 | $ ENDSUBROUTINE ! Cxx_demangler_cleanup
|
---|
| 2044 | $!
|
---|
| 2045 | $ GOTO Host_name
|
---|
| 2046 | $!
|
---|
| 2047 | $List_Parse:
|
---|
| 2048 | $ OPEN/READ CONFIG ccvms.lis
|
---|
| 2049 | $ READ CONFIG line
|
---|
| 2050 | $ IF archname .EQS. "VMS_VAX"
|
---|
| 2051 | $ THEN
|
---|
| 2052 | $ read CONFIG line
|
---|
| 2053 | $ archsufx = "VAX"
|
---|
| 2054 | $ ELSE
|
---|
| 2055 | $ IF archname .EQS. "VMS_AXP"
|
---|
| 2056 | $ THEN
|
---|
| 2057 | $ archsufx = "AXP"
|
---|
| 2058 | $ ELSE
|
---|
| 2059 | $ archsufx = "IA64"
|
---|
| 2060 | $ ENDIF
|
---|
| 2061 | $ ENDIF
|
---|
| 2062 | $ CLOSE CONFIG
|
---|
| 2063 | $ line = F$EDIT(line,"TRIM,COMPRESS")
|
---|
| 2064 | $ line = line - "Page 1" ! occurs at end all compilers
|
---|
| 2065 | $ line = line - "CCVMS " ! filename appears w/ VAXC
|
---|
| 2066 | $ line = line - "Source Listing " ! Seen w/ AXP DECC
|
---|
| 2067 | $ tmp = F$EXTRACT(0,20,line) !timestamp, e.g. "30-JUL-1996 21:12:54 "
|
---|
| 2068 | $ line = line - tmp
|
---|
| 2069 | $ line = F$EDIT(line,"TRIM") !bit redundant but we're in no big hurry
|
---|
| 2070 | $ DELETE/NOLOG/NOCONFIRM ccvms.lis;
|
---|
| 2071 | $ RETURN
|
---|
| 2072 | $!
|
---|
| 2073 | $Include_dirs:
|
---|
| 2074 | $!: What should the include directory be ? (.TLB text libraries)
|
---|
| 2075 | $ dflt = gcclib_olb
|
---|
| 2076 | $ rp = "Where are the include files you want to use? "
|
---|
| 2077 | $ IF f$length( rp + "[''dflt'] " ).gt.76
|
---|
| 2078 | $ THEN rp = F$FAO("!AS!/!AS",rp,"[''dflt'] ")
|
---|
| 2079 | $ ELSE rp = rp + "[''dflt'] "
|
---|
| 2080 | $ ENDIF
|
---|
| 2081 | $ GOSUB myread
|
---|
| 2082 | $ usrinc = ans
|
---|
| 2083 | $!
|
---|
| 2084 | $!: see if we have to deal with yellow pages, now NIS.
|
---|
| 2085 | $!: now get the host name
|
---|
| 2086 | $Host_name:
|
---|
| 2087 | $ echo ""
|
---|
| 2088 | $ echo4 "Figuring out host name..." !>&4
|
---|
| 2089 | $ myhostname = ""
|
---|
| 2090 | $ IF myhostname.eqs."" THEN myhostname = F$TRNLNM("ARPANET_HOST_NAME")
|
---|
| 2091 | $ IF myhostname.eqs."" THEN myhostname = F$TRNLNM("INTERNET_HOST_NAME")
|
---|
| 2092 | $ IF myhostname.eqs."" THEN myhostname = F$TRNLNM("MULTINET_HOST_NAME")
|
---|
| 2093 | $ IF myhostname.eqs."" THEN myhostname = F$TRNLNM("UCX$INET_HOST_NAME")
|
---|
| 2094 | $ IF myhostname.eqs."".and. -
|
---|
| 2095 | F$TRNLNM("UCX$INET_HOST") .nes. "" .and. -
|
---|
| 2096 | F$TRNLNM("UCX$INET_DOMAIN") .nes. "" THEN -
|
---|
| 2097 | myhostname = F$TRNLNM("UCX$INET_HOST") + "." + F$TRNLNM("UCX$INET_DOMAIN")
|
---|
| 2098 | $ IF myhostname.eqs."".and. -
|
---|
| 2099 | F$TRNLNM("TCPIP$INET_HOST") .nes. "" .and. -
|
---|
| 2100 | F$TRNLNM("TCPIP$INET_DOMAIN") .nes. "" THEN -
|
---|
| 2101 | myhostname = F$TRNLNM("TCPIP$INET_HOST") + "." + F$TRNLNM("TCPIP$INET_DOMAIN")
|
---|
| 2102 | $ IF myhostname.eqs."" THEN myhostname = F$TRNLNM("TCPWARE_DOMAINNAME")
|
---|
| 2103 | $ IF myhostname.eqs."" THEN myhostname = F$TRNLNM("NEWS_ADDRESS")
|
---|
| 2104 | $ IF myhostname.eqs."" THEN myhostname = F$TRNLNM("SYS$NODE") - "::"
|
---|
| 2105 | $ IF myhostname.eqs."" THEN myhostname = F$EDIT(F$GETSYI("SCSNODE"),"TRIM")
|
---|
| 2106 | $!: you do not want to know about this
|
---|
| 2107 | $!: verify guess
|
---|
| 2108 | $ rp = "Your host name appears to be """"''myhostname'"""". Right? "
|
---|
| 2109 | $ bool_dflt = "y"
|
---|
| 2110 | $ GOSUB myread
|
---|
| 2111 | $ IF (.not.ans)
|
---|
| 2112 | $ THEN
|
---|
| 2113 | $ READ SYS$COMMAND/PROMPT= -
|
---|
| 2114 | "Please type the (one word) name of your host: " ans
|
---|
| 2115 | $ myhostname = ans
|
---|
| 2116 | $ ENDIF
|
---|
| 2117 | $!: translate upper to lower if necessary
|
---|
| 2118 | $ myhostname = F$EDIT(myhostname,"COLLAPSE")
|
---|
| 2119 | $ mylowhostname = F$EDIT(myhostname," LOWERCASE")
|
---|
| 2120 | $ IF mylowhostname.NES.myhostname
|
---|
| 2121 | $ THEN
|
---|
| 2122 | $ echo "(Normalizing case in your host name)"
|
---|
| 2123 | $ myhostname = mylowhostname
|
---|
| 2124 | $ ENDIF
|
---|
| 2125 | $!
|
---|
| 2126 | $ fp = F$LOCATE(".",myhostname)
|
---|
| 2127 | $ mydomain = F$EXTRACT(fp,(F$LENGTH(myhostname)-fp)+1,myhostname)
|
---|
| 2128 | $ IF mydomain.NES."" !no periods in DECnet names like "MYDECNODE::"
|
---|
| 2129 | $ THEN
|
---|
| 2130 | $ rp = "What is your domain name? [''mydomain'] "
|
---|
| 2131 | $ dflt = mydomain
|
---|
| 2132 | $ GOSUB myread
|
---|
| 2133 | $ mydomain = ans
|
---|
| 2134 | $!: translate upper to lower if necessary
|
---|
| 2135 | $ mydomain = F$EDIT(mydomain,"COLLAPSE")
|
---|
| 2136 | $ mylowdomain = F$EDIT(mydomain," LOWERCASE")
|
---|
| 2137 | $ IF mylowdomain.NES.mydomain
|
---|
| 2138 | $ THEN
|
---|
| 2139 | $ echo "(Normalizing case in your domain name)"
|
---|
| 2140 | $ mydomain = mylowdomain
|
---|
| 2141 | $ ENDIF
|
---|
| 2142 | $ ENDIF
|
---|
| 2143 | $ myhostname = myhostname - mydomain
|
---|
| 2144 | $ echo "(Trimming domain name from host name--host name is now ''myhostname')"
|
---|
| 2145 | $ IF .NOT.silent
|
---|
| 2146 | $ THEN
|
---|
| 2147 | $ TYPE SYS$INPUT:
|
---|
| 2148 | $ DECK
|
---|
| 2149 |
|
---|
| 2150 | I need to get your e-mail address in Internet format if possible, i.e.
|
---|
| 2151 | something like user@host.domain. Please answer accurately since I have
|
---|
| 2152 | no easy means to double check it. The default value provided below
|
---|
| 2153 | is most probably close to the reality but may not be valid from outside
|
---|
| 2154 | your organization...
|
---|
| 2155 | $ EOD
|
---|
| 2156 | $ ENDIF
|
---|
| 2157 | $ IF F$TYPE(cf_email) .EQS. ""
|
---|
| 2158 | $ THEN
|
---|
| 2159 | $ dflt = "''cf_by'@''myhostname'"+"''mydomain'"
|
---|
| 2160 | $ rp = "What is your e-mail address? [''dflt'] "
|
---|
| 2161 | $ GOSUB myread
|
---|
| 2162 | $ cf_email = ans
|
---|
| 2163 | $ ENDIF
|
---|
| 2164 | $!
|
---|
| 2165 | $ IF .NOT.silent
|
---|
| 2166 | $ THEN
|
---|
| 2167 | $ TYPE SYS$INPUT:
|
---|
| 2168 | $ DECK
|
---|
| 2169 |
|
---|
| 2170 | If you or somebody else will be maintaining perl at your site, please
|
---|
| 2171 | fill in the correct e-mail address here so that they may be contacted
|
---|
| 2172 | if necessary. Currently, the "perlbug" program included with perl
|
---|
| 2173 | will send mail to this address in addition to perlbug@perl.com. You may
|
---|
| 2174 | enter "none" for no administrator.
|
---|
| 2175 | $ EOD
|
---|
| 2176 | $ ENDIF
|
---|
| 2177 | $ dflt = "''cf_email'"
|
---|
| 2178 | $ rp = "Perl administrator e-mail address [''dflt'] "
|
---|
| 2179 | $ GOSUB myread
|
---|
| 2180 | $ perladmin = ans
|
---|
| 2181 | $!
|
---|
| 2182 | $!: determine where public executable scripts go
|
---|
| 2183 | $!: determine perl absolute location
|
---|
| 2184 | $!: figure out how to guarantee perl startup
|
---|
| 2185 | $!
|
---|
| 2186 | $!: see how we invoke the C preprocessor
|
---|
| 2187 | $! echo ""
|
---|
| 2188 | $! echo4 "Now, how can we feed standard input to your C preprocessor..." !>&4
|
---|
| 2189 | $!: Set private lib path
|
---|
| 2190 | $!: Now check and see which directories actually exist, avoiding duplicates
|
---|
| 2191 | $!: determine optimize, if desired, or use for debug flag also
|
---|
| 2192 | $!: We will not override a previous value, but we might want to
|
---|
| 2193 | $!: augment a hint file
|
---|
| 2194 | $!: the following weeds options from ccflags that are of no interest to cpp
|
---|
| 2195 | $!: flags used in final linking phase
|
---|
| 2196 | $!: Try to guess additional flags to pick up local libraries.
|
---|
| 2197 | $!: coherency check
|
---|
| 2198 | $! echo ""
|
---|
| 2199 | $! echo4 "Checking your choice of C compiler and flags for coherency..." !>&4
|
---|
| 2200 | $!: compute shared library extension
|
---|
| 2201 | $!: Looking for optional libraries
|
---|
| 2202 | $!: see if nm is to be used to determine whether a symbol is defined or not
|
---|
| 2203 | $!: get list of predefined functions in a handy place
|
---|
| 2204 | $!: see if we have sigaction or sigprocmask
|
---|
| 2205 | $!: see whether socketshr exists
|
---|
| 2206 | $ IF (F$SEARCH(F$PARSE("SocketShr","Sys$Share:.Exe")).NES."")
|
---|
| 2207 | $ THEN
|
---|
| 2208 | $ Has_socketshr = "T"
|
---|
| 2209 | $ echo ""
|
---|
| 2210 | $ echo4 "Hmm... Looks like you have SOCKETSHR Berkeley networking support."
|
---|
| 2211 | $ ELSE
|
---|
| 2212 | $ Has_socketshr = "F"
|
---|
| 2213 | $ ENDIF
|
---|
| 2214 | $ IF (ccname .EQS. "DEC" .AND. Dec_C_Version .GE. 50200000) .OR. (ccname .EQS. "CXX")
|
---|
| 2215 | $ THEN
|
---|
| 2216 | $ Has_Dec_C_Sockets = "T"
|
---|
| 2217 | $ echo ""
|
---|
| 2218 | $ echo4 "Hmm... Looks like you have Dec C Berkeley networking support."
|
---|
| 2219 | $ ELSE
|
---|
| 2220 | $ Has_Dec_C_Sockets = "F"
|
---|
| 2221 | $ ENDIF
|
---|
| 2222 | $ ! Hey, we've got both. Default to Dec C, then, since it's better
|
---|
| 2223 | $ IF Has_socketshr .OR. Has_Dec_C_Sockets
|
---|
| 2224 | $ THEN
|
---|
| 2225 | $ echo ""
|
---|
| 2226 | $ echo "You have sockets available. Which socket stack do you want to"
|
---|
| 2227 | $ echo "build into Perl?"
|
---|
| 2228 | $ IF Has_Dec_C_Sockets
|
---|
| 2229 | $ THEN
|
---|
| 2230 | $ dflt = "DECC"
|
---|
| 2231 | $ ELSE
|
---|
| 2232 | $ dflt = "SOCKETSHR"
|
---|
| 2233 | $ ENDIF
|
---|
| 2234 | $ rp = "Choose socket stack (NONE"
|
---|
| 2235 | $ IF Has_socketshr THEN rp = rp + ",SOCKETSHR"
|
---|
| 2236 | $ IF Has_Dec_C_Sockets THEN rp = rp + ",DECC"
|
---|
| 2237 | $ rp = rp + ") [''dflt'] "
|
---|
| 2238 | $ GOSUB myread
|
---|
| 2239 | $ Has_Dec_C_Sockets = "F"
|
---|
| 2240 | $ Has_socketshr = "F"
|
---|
| 2241 | $ ans = F$EDIT(ans,"TRIM,COMPRESS,LOWERCASE")
|
---|
| 2242 | $ IF ans.eqs."decc" THEN Has_Dec_C_Sockets = "T"
|
---|
| 2243 | $ IF ans.eqs."socketshr" THEN Has_socketshr = "T"
|
---|
| 2244 | $ ENDIF
|
---|
| 2245 | $!
|
---|
| 2246 | $!
|
---|
| 2247 | $! Ask if they want to build with VMS_DEBUG perl
|
---|
| 2248 | $ echo ""
|
---|
| 2249 | $ echo "Perl can be built to run under the VMS debugger."
|
---|
| 2250 | $ echo "You should only select this option if you are debugging"
|
---|
| 2251 | $ echo "perl itself. This can be a useful feature if you are "
|
---|
| 2252 | $ echo "embedding perl in a program."
|
---|
| 2253 | $ bool_dflt = "n"
|
---|
| 2254 | $ if f$type(usevmsdebug) .nes. ""
|
---|
| 2255 | $ then
|
---|
| 2256 | $ if usevmsdebug .or. usevmsdebug .eqs. "define" then bool_dflt="y"
|
---|
| 2257 | $ endif
|
---|
| 2258 | $ rp = "Build a VMS-DEBUG version of Perl? [''bool_dflt'] "
|
---|
| 2259 | $ GOSUB myread
|
---|
| 2260 | $ use_vmsdebug_perl = ans
|
---|
| 2261 | $ IF use_vmsdebug_perl
|
---|
| 2262 | $ THEN
|
---|
| 2263 | $ usevmsdebug = "define"
|
---|
| 2264 | $ macros = macros + """__DEBUG__=1"","
|
---|
| 2265 | $ ELSE
|
---|
| 2266 | $ usevmsdebug = "undef"
|
---|
| 2267 | $ ENDIF
|
---|
| 2268 | $!
|
---|
| 2269 | $! Ask if they want to build with DEBUGGING
|
---|
| 2270 | $ echo ""
|
---|
| 2271 | $ echo "Perl can be built with extra runtime debugging enabled. This"
|
---|
| 2272 | $ echo "enables the -D switch, at the cost of some performance. It"
|
---|
| 2273 | $ echo "was mandatory on perl 5.005 and before on VMS, but is now"
|
---|
| 2274 | $ echo "optional. If you do not generally use it you should probably"
|
---|
| 2275 | $ echo "leave this off and gain a bit of extra speed."
|
---|
| 2276 | $ bool_dflt = "y"
|
---|
| 2277 | $ if f$type(useperldebug) .nes. ""
|
---|
| 2278 | $ then
|
---|
| 2279 | $ if f$extract(0,1,f$edit(useperldebug,"collapse,upcase")).eqs."N" .or. useperldebug .eqs. "undef" then bool_dflt="n"
|
---|
| 2280 | $ endif
|
---|
| 2281 | $ rp = "Build a DEBUGGING version of Perl? [''bool_dflt'] "
|
---|
| 2282 | $ GOSUB myread
|
---|
| 2283 | $ use_debugging_perl = ans
|
---|
| 2284 | $!
|
---|
| 2285 | $! Ask if they want to build with MULTIPLICITY
|
---|
| 2286 | $ echo ""
|
---|
| 2287 | $ echo "Perl can be built so that multiple Perl interpreters can coexist"
|
---|
| 2288 | $ echo "within the same Perl executable."
|
---|
| 2289 | $ echo "There is some performance overhead, however, so you"
|
---|
| 2290 | $ echo "probably do not want to choose this unless you are going to be"
|
---|
| 2291 | $ echo "doing things with embedded perl."
|
---|
| 2292 | $ bool_dflt = "n"
|
---|
| 2293 | $ if f$type(usemultiplicity) .nes. ""
|
---|
| 2294 | $ then
|
---|
| 2295 | $ if usemultiplicity .or. usemultiplicity .eqs. "define" then bool_dflt = "y"
|
---|
| 2296 | $ endif
|
---|
| 2297 | $ rp = "Build Perl for multiplicity? [''bool_dflt'] "
|
---|
| 2298 | $ GOSUB myread
|
---|
| 2299 | $ IF ans
|
---|
| 2300 | $ THEN
|
---|
| 2301 | $ usemultiplicity="define"
|
---|
| 2302 | $ ELSE
|
---|
| 2303 | $ usemultiplicity="undef"
|
---|
| 2304 | $ ENDIF
|
---|
| 2305 | $!
|
---|
| 2306 | $! Ask if they want to build with 64-bit support
|
---|
| 2307 | $ IF (archname.NES."VMS_VAX").and.("''f$extract(1,3, f$getsyi(""version""))'".ges."7.1")
|
---|
| 2308 | $ THEN
|
---|
| 2309 | $ bool_dflt = "n"
|
---|
| 2310 | $ IF F$TYPE(use64bitint) .NES. ""
|
---|
| 2311 | $ THEN
|
---|
| 2312 | $ IF use64bitint .OR. use64bitint .eqs. "define" THEN bool_dflt = "y"
|
---|
| 2313 | $ ENDIF
|
---|
| 2314 | $ echo ""
|
---|
| 2315 | $ echo "You have natively 64-bit long integers."
|
---|
| 2316 | $ echo ""
|
---|
| 2317 | $ echo "Perl can be built to take advantage of 64-bit integer types"
|
---|
| 2318 | $ echo "on some systems, To do so, Configure can be run with -Duse64bitint."
|
---|
| 2319 | $ echo "Choosing this option will most probably introduce binary incompatibilities."
|
---|
| 2320 | $ echo ""
|
---|
| 2321 | $ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
|
---|
| 2322 | $ rp = "Try to use 64-bit integers, if available? [''bool_dflt'] "
|
---|
| 2323 | $ GOSUB myread
|
---|
| 2324 | $ use64bitint = ans
|
---|
| 2325 | $!
|
---|
| 2326 | $ bool_dflt = "n"
|
---|
| 2327 | $ IF F$TYPE(use64bitall) .NES. ""
|
---|
| 2328 | $ THEN
|
---|
| 2329 | $ IF use64bitall .OR. use64bitall .eqs. "define" THEN bool_dflt = "y"
|
---|
| 2330 | $ ENDIF
|
---|
| 2331 | $ echo ""
|
---|
| 2332 | $ echo "You may also choose to try maximal 64-bitness. It means using as much"
|
---|
| 2333 | $ echo "64-bitness as possible on the platform. This in turn means even more"
|
---|
| 2334 | $ echo "binary incompatibilities. On the other hand, your platform may not"
|
---|
| 2335 | $ echo "have any more 64-bitness available than what you already have chosen."
|
---|
| 2336 | $ echo ""
|
---|
| 2337 | $ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
|
---|
| 2338 | $ rp = "Try to use maximal 64-bit support, if available? [''bool_dflt'] "
|
---|
| 2339 | $ GOSUB myread
|
---|
| 2340 | $ use64bitall=ans
|
---|
| 2341 | $ IF use64bitall .AND. .NOT. use64bitint
|
---|
| 2342 | $ THEN
|
---|
| 2343 | $ echo ""
|
---|
| 2344 | $ echo "Since you have chosen a maximally 64-bit build, I'm also turning on"
|
---|
| 2345 | $ echo "the use of 64-bit integers."
|
---|
| 2346 | $ echo "I am also setting the default to use large files if available."
|
---|
| 2347 | $ use64bitint="Y"
|
---|
| 2348 | $ ENDIF
|
---|
| 2349 | $!
|
---|
| 2350 | $ bool_dflt = use64bitall
|
---|
| 2351 | $ IF F$TYPE(uselargefiles) .NES. ""
|
---|
| 2352 | $ THEN
|
---|
| 2353 | $ IF uselargefiles .OR. uselargefiles .eqs. "define" THEN bool_dflt = "y"
|
---|
| 2354 | $ ENDIF
|
---|
| 2355 | $ echo ""
|
---|
| 2356 | $ echo "Perl can be built to understand large files (files larger than 2 gigabytes)"
|
---|
| 2357 | $ echo "on some systems. To do so, Configure can be run with -Duselargefiles."
|
---|
| 2358 | $ echo ""
|
---|
| 2359 | $ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
|
---|
| 2360 | $ rp = "Try to understand large files, if available? [''bool_dflt'] "
|
---|
| 2361 | $ GOSUB myread
|
---|
| 2362 | $ uselargefiles=ans
|
---|
| 2363 | $!
|
---|
| 2364 | $ ENDIF ! not VAX && >= 7.1
|
---|
| 2365 | $!
|
---|
| 2366 | $ IF usesitecustomize .OR. usesitecustomize .eqs. "define"
|
---|
| 2367 | $ THEN
|
---|
| 2368 | $ usesitecustomize = "define"
|
---|
| 2369 | $ ELSE
|
---|
| 2370 | $ usesitecustomize = "undef"
|
---|
| 2371 | $ ENDIF
|
---|
| 2372 | $!
|
---|
| 2373 | $! Ask about threads, if appropriate
|
---|
| 2374 | $ IF ccname .EQS. "DEC" .OR. ccname .EQS. "CXX"
|
---|
| 2375 | $ THEN
|
---|
| 2376 | $ echo ""
|
---|
| 2377 | $ echo "Perl can be built to take advantage of threads on some systems."
|
---|
| 2378 | $ echo "To do so, configure.com can be run with -""Dusethreads""."
|
---|
| 2379 | $ echo ""
|
---|
| 2380 | $ echo "Note that Perl built with threading support runs slightly slower"
|
---|
| 2381 | $ echo "and uses more memory than plain Perl. The current implementation"
|
---|
| 2382 | $ echo "is believed to be stable, but it is fairly new, and so should be"
|
---|
| 2383 | $ echo "treated with caution."
|
---|
| 2384 | $ echo ""
|
---|
| 2385 | $ bool_dflt = "n"
|
---|
| 2386 | $ if f$type(usethreads) .nes. ""
|
---|
| 2387 | $ then
|
---|
| 2388 | $ if usethreads .or. usethreads .eqs. "define" then bool_dflt="y"
|
---|
| 2389 | $ endif
|
---|
| 2390 | $! Catch cases where user specified ithreads or 5005threads but
|
---|
| 2391 | $! forgot -Dusethreads
|
---|
| 2392 | $ if f$type(useithreads) .nes. ""
|
---|
| 2393 | $ then
|
---|
| 2394 | $ if useithreads .or. useithreads .eqs. "define" then bool_dflt="y"
|
---|
| 2395 | $ endif
|
---|
| 2396 | $ if f$type(use5005threads) .nes. ""
|
---|
| 2397 | $ then
|
---|
| 2398 | $ if use5005threads .or. use5005threads .eqs. "define" then bool_dflt="y"
|
---|
| 2399 | $ endif
|
---|
| 2400 | $ echo "If this doesn't make any sense to you, just accept the default '" + bool_dflt + "'."
|
---|
| 2401 | $ rp = "Build a threading Perl? [''bool_dflt'] "
|
---|
| 2402 | $ GOSUB myread
|
---|
| 2403 | $ if ans
|
---|
| 2404 | $ THEN
|
---|
| 2405 | $ use_threads="T"
|
---|
| 2406 | $ ! Shall we do the 5.005-type threads, or IThreads?
|
---|
| 2407 | $ echo "Since release 5.6, Perl has had two different threading implementations,"
|
---|
| 2408 | $ echo "the newer interpreter-based version (ithreads) with one interpreter per"
|
---|
| 2409 | $ echo "thread, and the older 5.005 version (5005threads)."
|
---|
| 2410 | $ echo "The 5005threads version is effectively unmaintained and will probably be"
|
---|
| 2411 | $ echo "removed in Perl 5.10, so there should be no need to build a Perl using it"
|
---|
| 2412 | $ echo "unless needed for backwards compatibility with some existing 5.005threads"
|
---|
| 2413 | $ echo "code."
|
---|
| 2414 | $ echo ""
|
---|
| 2415 | $ bool_dflt = "y"
|
---|
| 2416 | $ if f$type(useithreads) .nes. ""
|
---|
| 2417 | $ then
|
---|
| 2418 | $ if useithreads .eqs. "undef" then bool_dflt="n"
|
---|
| 2419 | $ endif
|
---|
| 2420 | $ if f$type(use5005threads) .nes. ""
|
---|
| 2421 | $ then
|
---|
| 2422 | $ if use5005threads .or. use5005threads .eqs. "define" then bool_dflt="n"
|
---|
| 2423 | $ endif
|
---|
| 2424 | $ rp = "Use the newer intepreter-based ithreads? [''bool_dflt'] "
|
---|
| 2425 | $ GOSUB myread
|
---|
| 2426 | $ use_ithreads=ans
|
---|
| 2427 | $ if use_ithreads
|
---|
| 2428 | $ THEN
|
---|
| 2429 | $ use_5005_threads="N"
|
---|
| 2430 | $ ELSE
|
---|
| 2431 | $ use_5005_threads="Y"
|
---|
| 2432 | $ ENDIF
|
---|
| 2433 | $ ! Are they on VMS 7.1 on an alpha or itanium?
|
---|
| 2434 | $ if (archname.nes."VMS_VAX").and.("''f$extract(1,3, f$getsyi(""version""))'".ges."7.1")
|
---|
| 2435 | $ THEN
|
---|
| 2436 | $ echo ""
|
---|
| 2437 | $ echo "Threaded perl can be linked to use multiple kernel threads"
|
---|
| 2438 | $ echo "and system upcalls on VMS 7.1+ on Alpha systems. This feature"
|
---|
| 2439 | $ echo "allows multiple threads to execute simultaneously on an SMP"
|
---|
| 2440 | $ echo "system as well as preventing a single thread from blocking"
|
---|
| 2441 | $ echo "all the threads in a program, even on a single-processor"
|
---|
| 2442 | $ echo "machine. Unfortunately, this feature isn't safe on an"
|
---|
| 2443 | $ echo "unpatched 7.1 system (several OS patches were required when"
|
---|
| 2444 | $ echo "this procedure was written)."
|
---|
| 2445 | $ bool_dflt = "n"
|
---|
| 2446 | $ rp = "Enable multiple kernel threads and upcalls? [''bool_dflt'] "
|
---|
| 2447 | $ gosub myread
|
---|
| 2448 | $ if ans
|
---|
| 2449 | $ THEN
|
---|
| 2450 | $ Thread_Live_Dangerously = "MT=MT=1"
|
---|
| 2451 | $ ENDIF
|
---|
| 2452 | $ ENDIF
|
---|
| 2453 | $ ENDIF
|
---|
| 2454 | $ ENDIF
|
---|
| 2455 | $ IF archname .NES. "VMS_VAX"
|
---|
| 2456 | $ THEN
|
---|
| 2457 | $! Case sensitive?
|
---|
| 2458 | $ echo ""
|
---|
| 2459 | $ echo "By default, perl (and pretty much everything else on VMS) uses"
|
---|
| 2460 | $ echo "case-insensitive linker symbols. Which is to say, when the"
|
---|
| 2461 | $ echo "underlying C code makes a call to a routine called Perl_foo in"
|
---|
| 2462 | $ echo "the source, the name in the object modules or shareable images"
|
---|
| 2463 | $ echo "is really PERL_FOO. There are some packages that use an"
|
---|
| 2464 | $ echo "embedded perl interpreter that instead require case-sensitive"
|
---|
| 2465 | $ echo "linker symbols."
|
---|
| 2466 | $ echo ""
|
---|
| 2467 | $ echo "If you have no idea what this means, and do not have"
|
---|
| 2468 | $ echo "any program requiring anything, choose the default."
|
---|
| 2469 | $ bool_dflt = be_case_sensitive
|
---|
| 2470 | $ if f$type(usecasesensitive) .nes. ""
|
---|
| 2471 | $ then
|
---|
| 2472 | $ if usecasesensitive .or. usecasesensitive .eqs. "define" then bool_dflt = "y"
|
---|
| 2473 | $ if f$extract(0,1,f$edit(usecasesensitive,"collapse,upcase")).eqs."N" .or. usecasesensitive .eqs. "undef" then bool_dflt = "n"
|
---|
| 2474 | $ endif
|
---|
| 2475 | $ rp = "Build with case-sensitive symbols? [''bool_dflt'] "
|
---|
| 2476 | $ GOSUB myread
|
---|
| 2477 | $ be_case_sensitive = ans
|
---|
| 2478 | $! IEEE math?
|
---|
| 2479 | $ echo ""
|
---|
| 2480 | $ echo "Perl normally uses IEEE format (T_FLOAT) floating point numbers"
|
---|
| 2481 | $ echo "internally on Alpha, but if you need G_FLOAT for binary compatibility"
|
---|
| 2482 | $ echo "with an external library or existing data, you may wish to disable"
|
---|
| 2483 | $ echo "the IEEE math option."
|
---|
| 2484 | $ bool_dflt = use_ieee_math
|
---|
| 2485 | $ if f$type(useieee) .nes. ""
|
---|
| 2486 | $ then
|
---|
| 2487 | $ if useieee .or. useieee .eqs. "define"
|
---|
| 2488 | $ then
|
---|
| 2489 | $ bool_dflt="y"
|
---|
| 2490 | $ else
|
---|
| 2491 | $ bool_dflt="n"
|
---|
| 2492 | $ endif
|
---|
| 2493 | $ endif
|
---|
| 2494 | $ rp = "Use IEEE math? [''bool_dflt'] "
|
---|
| 2495 | $ GOSUB myread
|
---|
| 2496 | $ use_ieee_math = ans
|
---|
| 2497 | $ ELSE
|
---|
| 2498 | $ be_case_sensitive = "n"
|
---|
| 2499 | $ use_ieee_math = "n"
|
---|
| 2500 | $ ENDIF
|
---|
| 2501 | $ useieee = "undef"
|
---|
| 2502 | $ usecasesensitive = "undef"
|
---|
| 2503 | $ if (use_ieee_math) then useieee = "define"
|
---|
| 2504 | $ if (be_case_sensitive) then usecasesensitive = "define"
|
---|
| 2505 | $! Unlink all versions?
|
---|
| 2506 | $ echo ""
|
---|
| 2507 | $ echo "By default, Perl's unlink() provides VMS-like behavior and only"
|
---|
| 2508 | $ echo "deletes the latest version of a file. Enabling this option builds"
|
---|
| 2509 | $ echo "Perl so that unlink() deletes all versions of a file."
|
---|
| 2510 | $ bool_dflt = unlink_all_versions
|
---|
| 2511 | $ if f$type(unlink_all_versions) .nes. ""
|
---|
| 2512 | $ then
|
---|
| 2513 | $ if unlink_all_versions .or. unlink_all_versions .eqs. "define"
|
---|
| 2514 | $ then
|
---|
| 2515 | $ bool_dflt="y"
|
---|
| 2516 | $ else
|
---|
| 2517 | $ bool_dflt="n"
|
---|
| 2518 | $ endif
|
---|
| 2519 | $ endif
|
---|
| 2520 | $ rp = "Make unlink() delete all versions of a file? [''bool_dflt'] "
|
---|
| 2521 | $ GOSUB myread
|
---|
| 2522 | $ unlink_all_versions = ans
|
---|
| 2523 | $ IF unlink_all_versions
|
---|
| 2524 | $ THEN
|
---|
| 2525 | $ d_unlink_all_versions = "define"
|
---|
| 2526 | $ ELSE
|
---|
| 2527 | $ d_unlink_all_versions = "undef"
|
---|
| 2528 | $ ENDIF
|
---|
| 2529 | $! CC Flags
|
---|
| 2530 | $ echo ""
|
---|
| 2531 | $ echo "Your compiler may want other flags. For this question you should include"
|
---|
| 2532 | $ echo "/INCLUDE=(whatever) and /DEFINE=(whatever), flags and any other flags"
|
---|
| 2533 | $ echo "or qualifiers used by the compiler."
|
---|
| 2534 | $ echo ""
|
---|
| 2535 | $ echo "To use no flags, specify the word ""none""."
|
---|
| 2536 | $ dflt = user_c_flags
|
---|
| 2537 | $ rp = "Any additional cc flags? [''dflt'] "
|
---|
| 2538 | $ GOSUB myread
|
---|
| 2539 | $ IF ans .EQS. "none" THEN ans = ""
|
---|
| 2540 | $ user_c_flags = "''ans'"
|
---|
| 2541 | $!
|
---|
| 2542 | $! Ask whether they want to use secure logical translation when tainting
|
---|
| 2543 | $ echo ""
|
---|
| 2544 | $ echo "As Perl starts up, it checks several logical names, such as"
|
---|
| 2545 | $ echo "PERL5LIB and PERL_ENV_TABLES, which allow you to modify aspects"
|
---|
| 2546 | $ echo "of its behavior. For additional security, you may limit this"
|
---|
| 2547 | $ echo "process to executive- and kernel-mode translation when tainting"
|
---|
| 2548 | $ echo "is enabled. In this case, logical names normally skipped when"
|
---|
| 2549 | $ echo "tainting is enabled (e.g. PERL5OPTS) are translated as well."
|
---|
| 2550 | $ echo "If you do not choose to do this, the usual order of access modes"
|
---|
| 2551 | $ echo "is used for logical name translation."
|
---|
| 2552 | $ echo ""
|
---|
| 2553 | $ echo "This restriction does not apply to the %ENV hash or to implicit"
|
---|
| 2554 | $ echo "logical name translation during parsing of file specifications;"
|
---|
| 2555 | $ echo "these always use the normal sequence of access modes for logical"
|
---|
| 2556 | $ echo "name translation."
|
---|
| 2557 | $ bool_dflt = "y"
|
---|
| 2558 | $ if f$type(usesecurelog) .nes. ""
|
---|
| 2559 | $ then
|
---|
| 2560 | $ if f$extract(0,1,f$edit(usesecurelog,"collapse,upcase")).eqs."N" .or. usesecurelog .eqs. "undef" then bool_dflt = "n"
|
---|
| 2561 | $ endif
|
---|
| 2562 | $ rp = "Use secure logical name translation? [''bool_dflt'] "
|
---|
| 2563 | $ GOSUB myread
|
---|
| 2564 | $ d_secintgenv = ans
|
---|
| 2565 | $ usesecurelog = "undef"
|
---|
| 2566 | $ if (d_secintgenv) then usesecurelog = "define"
|
---|
| 2567 | $!
|
---|
| 2568 | $! Ask whether they want to default filetypes
|
---|
| 2569 | $ echo ""
|
---|
| 2570 | $ echo "When you pass the name of a program to Perl on the command line,"
|
---|
| 2571 | $ echo "it generally doesn't supply any defaults unless the -S command"
|
---|
| 2572 | $ echo "line switch is specified. In keeping with the VMS tradition of"
|
---|
| 2573 | $ echo "default file types, however, you can configure Perl to try default"
|
---|
| 2574 | $ echo "file types of nothing, .pl, and .com, in that order (e.g. typing"
|
---|
| 2575 | $ echo """$ perl foo"" would cause Perl to look for foo., then foo.pl, and"
|
---|
| 2576 | $ echo "finally foo.com)."
|
---|
| 2577 | $ echo ""
|
---|
| 2578 | $ echo "This is currently broken in some configurations. Only enable it if"
|
---|
| 2579 | $ echo "you know what you are doing."
|
---|
| 2580 | $ bool_dflt = "n"
|
---|
| 2581 | $ if f$type(usedefaulttypes) .nes. ""
|
---|
| 2582 | $ then
|
---|
| 2583 | $ if usedefaulttypes .or. usedefaulttypes .eqs. "define" then bool_dflt="y"
|
---|
| 2584 | $ endif
|
---|
| 2585 | $ rp = "Always use default file types? [''bool_dflt'] "
|
---|
| 2586 | $ GOSUB myread
|
---|
| 2587 | $ d_alwdeftype = ans
|
---|
| 2588 | $ usedefaulttypes = "undef"
|
---|
| 2589 | $ if (d_alwdeftype) then usedefaulttypes = "define"
|
---|
| 2590 | $!
|
---|
| 2591 | $! determine whether to use malloc wrapping
|
---|
| 2592 | $ echo ""
|
---|
| 2593 | $ bool_dflt = "y"
|
---|
| 2594 | $ IF F$TYPE(usemallocwrap) .nes. ""
|
---|
| 2595 | $ then
|
---|
| 2596 | $ if .NOT. usemallocwrap .or. usemallocwrap .eqs. "undef" then bool_dflt = "n"
|
---|
| 2597 | $ endif
|
---|
| 2598 | $ rp = "Do you wish to wrap malloc calls to protect against potential overflows? [''bool_dflt'] "
|
---|
| 2599 | $ GOSUB myread
|
---|
| 2600 | $ IF ans
|
---|
| 2601 | $ THEN usemallocwrap = "define"
|
---|
| 2602 | $ ELSE usemallocwrap = "undef"
|
---|
| 2603 | $ ENDIF
|
---|
| 2604 | $!
|
---|
| 2605 | $! Ask if they want to use perl's memory allocator
|
---|
| 2606 | $ echo ""
|
---|
| 2607 | $ echo "Perl has a built-in memory allocator that is tuned for normal"
|
---|
| 2608 | $ echo "memory usage. It is oftentimes better than the standard system"
|
---|
| 2609 | $ echo "memory allocator. It also has the advantage of providing memory"
|
---|
| 2610 | $ echo "allocation statistics, if you choose to enable them."
|
---|
| 2611 | $ bool_dflt = "n"
|
---|
| 2612 | $ IF F$TYPE(usemymalloc) .nes. ""
|
---|
| 2613 | $ then
|
---|
| 2614 | $ if usemymalloc .or. usemymalloc .eqs. "define" then bool_dflt = "y"
|
---|
| 2615 | $ endif
|
---|
| 2616 | $ rp = "Do you wish to attempt to use the malloc that comes with ''package'? [''bool_dflt'] "
|
---|
| 2617 | $ GOSUB myread
|
---|
| 2618 | $ mymalloc = ans
|
---|
| 2619 | $ IF mymalloc
|
---|
| 2620 | $ THEN
|
---|
| 2621 | $ IF use_debugging_perl
|
---|
| 2622 | $ THEN
|
---|
| 2623 | $ echo ""
|
---|
| 2624 | $ echo "Perl can keep statistics on memory usage if you choose to use"
|
---|
| 2625 | $ echo "them. This is useful for debugging, but does have some"
|
---|
| 2626 | $ echo "performance overhead."
|
---|
| 2627 | $ bool_dflt = "n"
|
---|
| 2628 | $ rp = "Do you want the debugging memory allocator? [''bool_dflt'] "
|
---|
| 2629 | $ gosub myread
|
---|
| 2630 | $ use_debugmalloc = ans
|
---|
| 2631 | $ ENDIF
|
---|
| 2632 | $ ! Check which memory allocator we want
|
---|
| 2633 | $ echo ""
|
---|
| 2634 | $ echo "There are currently three different memory allocators: the"
|
---|
| 2635 | $ echo "default (which is a pretty good general-purpose memory manager),"
|
---|
| 2636 | $ echo "the TWO_POT allocator (which is optimized to save memory for"
|
---|
| 2637 | $ echo "larger allocations), and PACK_MALLOC (which is optimized to save"
|
---|
| 2638 | $ echo "memory for smaller allocations). They're all good, but if your"
|
---|
| 2639 | $ echo "usage tends towards larger chunks use TWO_POT, otherwise use"
|
---|
| 2640 | $ echo "PACK_MALLOC."
|
---|
| 2641 | $ dflt = "DEFAULT"
|
---|
| 2642 | $ rp = "Memory allocator (DEFAULT, TWO_POT, PACK_MALLOC) [''dflt'] "
|
---|
| 2643 | $ GOSUB myread
|
---|
| 2644 | $ if ans.eqs."TWO_POT" then use_two_pot_malloc = "Y"
|
---|
| 2645 | $ if ans.eqs."PACK_MALLOC" then use_pack_malloc = "Y"
|
---|
| 2646 | $ ENDIF
|
---|
| 2647 | $!
|
---|
| 2648 | $ known_extensions = ""
|
---|
| 2649 | $ xxx = ""
|
---|
| 2650 | $ OPEN/READ CONFIG 'manifestfound'
|
---|
| 2651 | $ext_loop:
|
---|
| 2652 | $ READ/END_OF_FILE=end_ext/ERROR=end_ext CONFIG line
|
---|
| 2653 | $ IF F$EXTRACT(0,4,line) .NES. "ext/" .AND. -
|
---|
| 2654 | F$EXTRACT(0,8,line) .NES. "vms/ext/" THEN goto ext_loop
|
---|
| 2655 | $ line = F$EDIT(line,"COMPRESS")
|
---|
| 2656 | $ line = F$ELEMENT(0," ",line)
|
---|
| 2657 | $ line_len = F$LENGTH(line)
|
---|
| 2658 | $ IF F$EXTRACT(line_len - 12,12,line) .NES. "/Makefile.PL" THEN goto ext_loop
|
---|
| 2659 | $ IF F$EXTRACT(0,4,line) .EQS. "ext/" THEN -
|
---|
| 2660 | xxx = F$EXTRACT(4,line_len - 16,line)
|
---|
| 2661 | $ IF xxx .EQS. "DynaLoader" THEN goto ext_loop ! omit
|
---|
| 2662 | $ IF xxx .EQS. "SDBM_File/sdbm" THEN goto ext_loop ! sub extension - omit
|
---|
| 2663 | $ IF xxx .EQS. "Devel/PPPort/harness" THEN goto ext_loop ! sub extension - omit
|
---|
| 2664 | $ IF F$EXTRACT(0,7,xxx) .EQS. "Encode/" THEN goto ext_loop ! sub extension - omit
|
---|
| 2665 | $ IF xxx .EQS. "B/C" THEN goto ext_loop ! sub extension - omit
|
---|
| 2666 | $ IF F$EXTRACT(0,8,line) .EQS. "vms/ext/" THEN -
|
---|
| 2667 | xxx = "VMS/" + F$EXTRACT(8,line_len - 20,line)
|
---|
| 2668 | $ known_extensions = known_extensions + " ''xxx'"
|
---|
| 2669 | $ goto ext_loop
|
---|
| 2670 | $end_ext:
|
---|
| 2671 | $ close CONFIG
|
---|
| 2672 | $ DELETE/SYMBOL xxx
|
---|
| 2673 | $ known_extensions = F$EDIT(known_extensions,"TRIM,COMPRESS")
|
---|
| 2674 | $ dflt = known_extensions
|
---|
| 2675 | $ IF ccname .NES. "DEC" .AND. ccname .NES. "CXX"
|
---|
| 2676 | $ THEN
|
---|
| 2677 | $ dflt = dflt - "POSIX" ! not with VAX C or GCC
|
---|
| 2678 | $ ENDIF
|
---|
| 2679 | $ dflt = dflt - "ByteLoader" ! needs to be ported
|
---|
| 2680 | $ dflt = dflt - "DB_File" ! needs to be ported
|
---|
| 2681 | $ dflt = dflt - "GDBM_File" ! needs porting/special library
|
---|
| 2682 | $ dflt = dflt - "IPC/SysV" ! needs to be ported
|
---|
| 2683 | $ dflt = dflt - "NDBM_File" ! needs porting/special library
|
---|
| 2684 | $ dflt = dflt - "ODBM_File" ! needs porting/special library
|
---|
| 2685 | $ dflt = dflt - "Sys/Syslog" ! needs porting/special library "GDBM_File macro LOG_DEBUG"
|
---|
| 2686 | $ IF .NOT. Has_socketshr .AND. .NOT. Has_Dec_C_Sockets
|
---|
| 2687 | $ THEN
|
---|
| 2688 | $ dflt = dflt - "Socket" ! optional on VMS
|
---|
| 2689 | $ ENDIF
|
---|
| 2690 | $ IF .NOT. use_threads THEN dflt = dflt - "Thread"
|
---|
| 2691 | $ dflt = F$EDIT(dflt,"TRIM,COMPRESS")
|
---|
| 2692 | $!
|
---|
| 2693 | $! Ask for their default list of extensions to build
|
---|
| 2694 | $ echo ""
|
---|
| 2695 | $ echo "It is time to specify which modules you want to build into"
|
---|
| 2696 | $ echo "perl. Most of these are standard and should be chosen, though"
|
---|
| 2697 | $ echo "you might, for example, want to build GDBM_File instead of"
|
---|
| 2698 | $ echo "SDBM_File if you have the GDBM library built on your machine."
|
---|
| 2699 | $ echo ""
|
---|
| 2700 | $ echo "Which modules do you want to build into perl?"
|
---|
| 2701 | $ rp = "[''dflt'] "
|
---|
| 2702 | $ GOSUB myread
|
---|
| 2703 | $ extensions = F$EDIT(ans,"TRIM,COMPRESS")
|
---|
| 2704 | $!
|
---|
| 2705 | $! %Config-I-VMS, determine build/make utility here (make gmake mmk mms)
|
---|
| 2706 | $ echo ""
|
---|
| 2707 | $ echo "Checking your ""make"" utilities..."
|
---|
| 2708 | $! If the 'build' that you use is not here add it and it's test
|
---|
| 2709 | $! switch to the _END_ of these strings (and increment max_build)
|
---|
| 2710 | $! (e.g. builders = builders + "/FOOMAKE"
|
---|
| 2711 | $! probers = probers + " -fooVersionSwitch"
|
---|
| 2712 | $! ) & please let me know about it.
|
---|
| 2713 | $ builders = "IMAKE/GNUMAKE/MGMAKE/GMAKE/MAKE/MMS/MMK"
|
---|
| 2714 | $ probers = "-f Makefile. -v!-f Makefile. -v!-f Makefile. -v!-f Makefile. -v!-f Makefile. -v!/IDENT!/IDENT"
|
---|
| 2715 | $ max_build = 7
|
---|
| 2716 | $!
|
---|
| 2717 | $ orig_dflt = f$edit(builder,"UPCASE")
|
---|
| 2718 | $ if orig_dflt .eqs. "" then orig_dflt = "MMK"
|
---|
| 2719 | $ default_set = ""
|
---|
| 2720 | $ ok_builders = ""
|
---|
| 2721 | $ OPEN/WRITE/ERROR=Open_error CONFIG Makefile.
|
---|
| 2722 | $ WRITE CONFIG "dont_make_anything_yet:"
|
---|
| 2723 | $ WRITE CONFIG F$FAO("!_")
|
---|
| 2724 | $ CLOSE CONFIG
|
---|
| 2725 | $ n = 0
|
---|
| 2726 | $ messages = F$ENVIRONMENT("MESSAGE")
|
---|
| 2727 | $Build_probe:
|
---|
| 2728 | $ build = F$ELEMENT(n,"/",builders)
|
---|
| 2729 | $ probe = F$ELEMENT(n,"!",probers)
|
---|
| 2730 | $ echo "Testing whether you have ''build' on your system..."
|
---|
| 2731 | $!
|
---|
| 2732 | $! Noted with GNU Make version 3.60 that the $status and $severity
|
---|
| 2733 | $! with the 'probe' Makefile appear to be: $STATUS == "%X1000000C"
|
---|
| 2734 | $! $SEVERITY == "4".
|
---|
| 2735 | $!
|
---|
| 2736 | $ SET NOON
|
---|
| 2737 | $ ON CONTROL_Y THEN GOTO Reenable_messages_build
|
---|
| 2738 | $ SET MESSAGE/NOFAC/NOSEV/NOIDENT/NOTEXT
|
---|
| 2739 | $ 'build' 'probe'
|
---|
| 2740 | $ IF ($SEVERITY .EQ. 1) ! not adequate?
|
---|
| 2741 | $ THEN
|
---|
| 2742 | $ echo "OK."
|
---|
| 2743 | $ IF (build .EQS. orig_dflt)
|
---|
| 2744 | $ THEN
|
---|
| 2745 | $ default_set = "TRUE"
|
---|
| 2746 | $ dflt = build
|
---|
| 2747 | $ ENDIF
|
---|
| 2748 | $ ok_builders = ok_builders + " " + build
|
---|
| 2749 | $ IF (.NOT. default_set) THEN dflt = build
|
---|
| 2750 | $ ELSE
|
---|
| 2751 | $ echo "Nope."
|
---|
| 2752 | $ ENDIF
|
---|
| 2753 | $Reenable_messages_build:
|
---|
| 2754 | $ SET MESSAGE 'messages'
|
---|
| 2755 | $ SET ON
|
---|
| 2756 | $ on control_y then goto clean_up
|
---|
| 2757 | $ n = n + 1
|
---|
| 2758 | $ IF (n .LT. max_build) THEN GOTO Build_probe
|
---|
| 2759 | $!
|
---|
| 2760 | $ echo ""
|
---|
| 2761 | $ IF (ok_builders .NES. "")
|
---|
| 2762 | $ THEN
|
---|
| 2763 | $ echo "Here is the list of builders you can apparently use:"
|
---|
| 2764 | $ echo "(",ok_builders," )"
|
---|
| 2765 | $ rp = "Which """"make"""" utility do you wish to use? [''dflt'] "
|
---|
| 2766 | $ GOSUB myread
|
---|
| 2767 | $ ans = F$EDIT(ans,"TRIM, COMPRESS")
|
---|
| 2768 | $ ans = F$EXTRACT(0,F$LOCATE(" ",ans),ans) !throw out "-f Makefile." here
|
---|
| 2769 | $ IF (ans .EQS. "")
|
---|
| 2770 | $ THEN build = dflt
|
---|
| 2771 | $ ELSE build = ans
|
---|
| 2772 | $ ENDIF
|
---|
| 2773 | $ ELSE
|
---|
| 2774 | $ TYPE SYS$INPUT:
|
---|
| 2775 | $ DECK
|
---|
| 2776 |
|
---|
| 2777 | %Config-E-VMS, ERROR:
|
---|
| 2778 | Well this looks pretty serious. Perl5 cannot be compiled without a "make"
|
---|
| 2779 | utility of some sort and after checking my "builders" list I cannot find
|
---|
| 2780 | the symbol or command you use on your system to compile programs.
|
---|
| 2781 |
|
---|
| 2782 | $ EOD
|
---|
| 2783 | $ READ SYS$COMMAND/PROMPT="Which ""MMS"" do you use? " ans
|
---|
| 2784 | $ ans = F$EDIT(ans,"TRIM, COMPRESS")
|
---|
| 2785 | $ ans = F$EXTRACT(0,F$LOCATE(" ",ans),ans) !throw out "-f Makefile." here
|
---|
| 2786 | $ IF (ans .EQS. "")
|
---|
| 2787 | $ THEN build = dflt
|
---|
| 2788 | $ echo "I do not know where ""make"" is, and my life depends on it."
|
---|
| 2789 | $ echo "Go find a make program or fix your DCL$PATH setting!"
|
---|
| 2790 | $ echo "ABORTING..."
|
---|
| 2791 | $ SET DEFAULT 'vms_default_directory_name' !be kind rewind
|
---|
| 2792 | $ STOP
|
---|
| 2793 | $ EXIT 2 !$STATUS = "%X00000002" (error)
|
---|
| 2794 | $ ELSE
|
---|
| 2795 | $ build = ans
|
---|
| 2796 | $ ENDIF
|
---|
| 2797 | $ ENDIF
|
---|
| 2798 | $!
|
---|
| 2799 | $ DELETE/NOLOG/NOCONFIRM Makefile.;
|
---|
| 2800 | $ GOTO Beyond_open
|
---|
| 2801 | $Open_error:
|
---|
| 2802 | $ TYPE SYS$INPUT:
|
---|
| 2803 | $ DECK
|
---|
| 2804 |
|
---|
| 2805 | There seems to be trouble. I just tried to create a file in
|
---|
| 2806 | $ EOD
|
---|
| 2807 | $ echo4 'F$ENVIRONMENT("DEFAULT")'
|
---|
| 2808 | $ TYPE SYS$INPUT:
|
---|
| 2809 | $ DECK
|
---|
| 2810 | but was unsuccessful. I am stopping now. Please check that directories'
|
---|
| 2811 | PROTECTION bits. I will leave you in the directory where you started
|
---|
| 2812 | Configure.com
|
---|
| 2813 | $ EOD
|
---|
| 2814 | $ echo4 "ABORTING..."
|
---|
| 2815 | $ GOTO Clean_up
|
---|
| 2816 | $ STOP
|
---|
| 2817 | $ EXIT
|
---|
| 2818 | $!
|
---|
| 2819 | $Beyond_open:
|
---|
| 2820 | $! echo " Very well I will proceed with ""''build'"""
|
---|
| 2821 | $ make = F$EDIT(build,"UPCASE")
|
---|
| 2822 | $!
|
---|
| 2823 | $!: locate the preferred pager for this system
|
---|
| 2824 | $!pagers = "most|more|less|type/page"
|
---|
| 2825 | $ IF osvers .GES. "V6.1"
|
---|
| 2826 | $ THEN
|
---|
| 2827 | $ dflt = "type/page=save=10"
|
---|
| 2828 | $ ELSE
|
---|
| 2829 | $ dflt = "type/page"
|
---|
| 2830 | $ ENDIF
|
---|
| 2831 | $! assume that the presence of a most symbol indicates the presence
|
---|
| 2832 | $! of the pager.
|
---|
| 2833 | $ IF F$TYPE(most) .EQS. "STRING" THEN dflt = "most"
|
---|
| 2834 | $ IF F$TYPE(pager) .EQS. "STRING" THEN dflt = pager
|
---|
| 2835 | $ rp="What pager is used on your system? [''dflt'] "
|
---|
| 2836 | $ GOSUB myread
|
---|
| 2837 | $ pager = ans
|
---|
| 2838 | $!
|
---|
| 2839 | $! update [.vms]config.vms here
|
---|
| 2840 | $!
|
---|
| 2841 | $! update makefile here
|
---|
| 2842 | $! echo4 "Updating makefile..."
|
---|
| 2843 | $!
|
---|
| 2844 | $ IF (make .EQS. "MMS").OR.(make .EQS. "MMK")
|
---|
| 2845 | $ THEN
|
---|
| 2846 | $ makefile = "" !wrt MANIFEST dir
|
---|
| 2847 | $ UUmakefile = "[-]DESCRIP.MMS" !wrt CWD dir
|
---|
| 2848 | $ DEFmakefile = "DESCRIP.MMS" !wrt DEF dir (?)
|
---|
| 2849 | $ Makefile_SH = "descrip_mms.template"
|
---|
| 2850 | $ ELSE
|
---|
| 2851 | $ makefile = " -f Makefile." !wrt MANIFEST dir
|
---|
| 2852 | $ UUmakefile = "[-]Makefile." !wrt CWD dir
|
---|
| 2853 | $ DEFmakefile = "Makefile." !wrt DEF dir (?)
|
---|
| 2854 | $ Makefile_SH = "Makefile.in"
|
---|
| 2855 | $ ENDIF
|
---|
| 2856 | $!
|
---|
| 2857 | $ IF macros .NES. ""
|
---|
| 2858 | $ THEN
|
---|
| 2859 | $ tmp = F$LENGTH(macros)
|
---|
| 2860 | $ macros = F$EXTRACT(0,(tmp-1),macros) !miss trailing comma
|
---|
| 2861 | $ macros = "/macro=(" + macros + ")"
|
---|
| 2862 | $ ENDIF
|
---|
| 2863 | $! Build up the extra C flags
|
---|
| 2864 | $!
|
---|
| 2865 | $ IF use_ieee_math
|
---|
| 2866 | $ THEN
|
---|
| 2867 | $ extra_flags = "''extra_flags'" + "/float=ieee/ieee=denorm"
|
---|
| 2868 | $ ENDIF
|
---|
| 2869 | $ IF be_case_sensitive
|
---|
| 2870 | $ THEN
|
---|
| 2871 | $ extra_flags = "''extra_flags'" + "/Names=As_Is"
|
---|
| 2872 | $ ENDIF
|
---|
| 2873 | $ extra_flags = "''extra_flags'" + "''user_c_flags'"
|
---|
| 2874 | $!
|
---|
| 2875 | $ min_pgflquota = "100000"
|
---|
| 2876 | $ pgflquota = F$STRING(F$GETJPI("","PGFLQUOTA"))
|
---|
| 2877 | $ IF pgflquota .LES. min_pgflquota
|
---|
| 2878 | $ THEN
|
---|
| 2879 | $ echo4 "Your PGFLQUOTA of ''pgflquota' appears too small to build ''package'."
|
---|
| 2880 | $ READ SYS$COMMAND/PROMPT="Continue? [n] " ans
|
---|
| 2881 | $ IF ans
|
---|
| 2882 | $ THEN
|
---|
| 2883 | $ echo4 "Continuing..."
|
---|
| 2884 | $ ELSE
|
---|
| 2885 | $ echo4 "ABORTING..."
|
---|
| 2886 | $ GOTO Clean_up
|
---|
| 2887 | $ ENDIF
|
---|
| 2888 | $ ENDIF
|
---|
| 2889 | $!
|
---|
| 2890 | $! PerlIO abstraction
|
---|
| 2891 | $!
|
---|
| 2892 | $ bool_dflt = "y"
|
---|
| 2893 | $ IF F$TYPE(useperlio) .NES. ""
|
---|
| 2894 | $ then
|
---|
| 2895 | $ if f$extract(0,1,f$edit(useperlio,"collapse,upcase")) .eqs. "N" .or. useperlio .eqs. "undef" then bool_dflt = "n"
|
---|
| 2896 | $ endif
|
---|
| 2897 | $ IF .NOT. silent
|
---|
| 2898 | $ THEN
|
---|
| 2899 | $ echo "Previous versions of ''package' used the standard IO mechanisms as"
|
---|
| 2900 | $ TYPE SYS$INPUT:
|
---|
| 2901 | $ DECK
|
---|
| 2902 | defined in <stdio.h>. Versions 5.003_02 and later of perl allow
|
---|
| 2903 | alternate IO mechanisms via the PerlIO abstraction layer, but the
|
---|
| 2904 | stdio mechanism is still available if needed. The abstraction layer
|
---|
| 2905 | can use AT&T's sfio (if you already have sfio installed) or regular stdio.
|
---|
| 2906 | Using PerlIO with sfio may cause problems with some extension modules.
|
---|
| 2907 |
|
---|
| 2908 | $ EOD
|
---|
| 2909 | $ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
|
---|
| 2910 | $ ENDIF
|
---|
| 2911 | $ rp = "Use the PerlIO abstraction layer? [''bool_dflt'] "
|
---|
| 2912 | $ GOSUB myread
|
---|
| 2913 | $ IF ans
|
---|
| 2914 | $ THEN
|
---|
| 2915 | $ useperlio = "define"
|
---|
| 2916 | $ ELSE
|
---|
| 2917 | $ echo "Ok, doing things the stdio way."
|
---|
| 2918 | $ useperlio = "undef"
|
---|
| 2919 | $ ENDIF
|
---|
| 2920 | $!
|
---|
| 2921 | $ echo ""
|
---|
| 2922 | $ echo4 "Checking the C run-time library."
|
---|
| 2923 | $!
|
---|
| 2924 | $! Former SUBCONFIGURE.COM
|
---|
| 2925 | $!
|
---|
| 2926 | $! - build a config.sh for VMS Perl.
|
---|
| 2927 | $! - use built config.sh to take config_h.SH -> config.h
|
---|
| 2928 | $! - also take vms/descrip_mms.template -> descrip.mms (VMS Makefile)
|
---|
| 2929 | $! vms/Makefile.in -> Makefile. (VMS GNU Makefile?)
|
---|
| 2930 | $! vms/Makefile.SH -> Makefile. (VMS GNU Makefile?)
|
---|
| 2931 | $!
|
---|
| 2932 | $! Note for folks from other platforms changing things in here:
|
---|
| 2933 | $!
|
---|
| 2934 | $! Fancy changes (based on compiler capabilities or VMS version or
|
---|
| 2935 | $! whatever) are tricky, so go ahead and punt on those.
|
---|
| 2936 | $!
|
---|
| 2937 | $! Simple changes, though (say, always setting something to 1, or undef,
|
---|
| 2938 | $! or something like that) are straightforward. Adding a new constant
|
---|
| 2939 | $! item for the ultimately created config.sh requires at least one
|
---|
| 2940 | $! (possibly more) line(s) to this file.
|
---|
| 2941 | $!
|
---|
| 2942 | $! Add a line in the format:
|
---|
| 2943 | $!
|
---|
| 2944 | $! $ WC "foo='undef'"
|
---|
| 2945 | $!
|
---|
| 2946 | $! somewhere between the line tagged '##BEGIN WRITE NEW CONSTANTS HERE##'
|
---|
| 2947 | $! and the one tagged '##END WRITE NEW CONSTANTS HERE##' (note the order
|
---|
| 2948 | $! is sorted ASCII and corresponds to the output of config.sh in the
|
---|
| 2949 | $! Bourne shell version of Configure).
|
---|
| 2950 | $! Be very careful with quoting, as it can be tricky.
|
---|
| 2951 | $! For example if instead of a constant string like 'undef' or 'define'
|
---|
| 2952 | $! you wanted to add something to VMS's config.sh that looks like:
|
---|
| 2953 | $!
|
---|
| 2954 | $! blank_string=''
|
---|
| 2955 | $!
|
---|
| 2956 | $! then add a line that looks like this before the
|
---|
| 2957 | $! '##END WRITE NEW CONSTANTS HERE##' tagged line:
|
---|
| 2958 | $!
|
---|
| 2959 | $! $ WC "blank_string='" + "'"
|
---|
| 2960 | $!
|
---|
| 2961 | $! (+ is the string concatenator and "''var'" has the effect
|
---|
| 2962 | $! of "${var}" in perl or sh, but "'const'" is not interpolated).
|
---|
| 2963 | $!
|
---|
| 2964 | $! Note that unitialized variables, such as a line like:
|
---|
| 2965 | $!
|
---|
| 2966 | $! $ WC "new_var='" + new_var + "'"
|
---|
| 2967 | $!
|
---|
| 2968 | $! should be avoided unless new_var has a value assigned prior
|
---|
| 2969 | $! to that line (think of perl's -w warnings).
|
---|
| 2970 | $!
|
---|
| 2971 | $! %DCL-W-UNDSYM, undefined symbol - check validity and spelling
|
---|
| 2972 | $! \NEW_VAR\
|
---|
| 2973 | $!
|
---|
| 2974 | $!
|
---|
| 2975 | $ vms_ver = F$EXTRACT(1,3, osvers)
|
---|
| 2976 | $ IF F$LENGTH(Mcc) .EQ. 0 THEN Mcc := "cc"
|
---|
| 2977 | $ MCC = f$edit(mcc, "UPCASE")
|
---|
| 2978 | $ C_Compiler_Replace := "CC=CC=''Mcc'''ccflags'"
|
---|
| 2979 | $ IF ccname .EQS. "DEC"
|
---|
| 2980 | $ THEN
|
---|
| 2981 | $ Checkcc := "''Mcc'/prefix=all"
|
---|
| 2982 | $ ELSE
|
---|
| 2983 | $ IF ccname .EQS. "CXX"
|
---|
| 2984 | $ THEN
|
---|
| 2985 | $ Checkcc := cxx
|
---|
| 2986 | $ ELSE
|
---|
| 2987 | $ Checkcc := "''Mcc'"
|
---|
| 2988 | $ ENDIF
|
---|
| 2989 | $ ENDIF
|
---|
| 2990 | $ ccflags = ccflags + extra_flags
|
---|
| 2991 | $ IF be_case_sensitive
|
---|
| 2992 | $ THEN
|
---|
| 2993 | $ d_vms_be_case_sensitive = "define"
|
---|
| 2994 | $ ELSE
|
---|
| 2995 | $ d_vms_be_case_sensitive = "undef"
|
---|
| 2996 | $ ENDIF
|
---|
| 2997 | $! Some constant defaults.
|
---|
| 2998 | $ hwname = f$getsyi("HW_NAME")
|
---|
| 2999 | $ myname = myhostname
|
---|
| 3000 | $ IF myname .EQS. "" THEN myname = F$TRNLNM("SYS$NODE")
|
---|
| 3001 | $!
|
---|
| 3002 | $ ccdlflags=""
|
---|
| 3003 | $ cccdlflags=""
|
---|
| 3004 | $!
|
---|
| 3005 | $ IF use64bitint .OR. use64bitint .EQS. "define"
|
---|
| 3006 | $ THEN
|
---|
| 3007 | $ use64bitint = "define"
|
---|
| 3008 | $ uselongdouble = "define"
|
---|
| 3009 | $ alignbytes="16"
|
---|
| 3010 | $ usemorebits = "define"
|
---|
| 3011 | $ ivdformat="""Ld"""
|
---|
| 3012 | $ uvuformat="""Lu"""
|
---|
| 3013 | $ uvoformat="""Lo"""
|
---|
| 3014 | $ uvxformat="""Lx"""
|
---|
| 3015 | $ uvXUformat="""LX"""
|
---|
| 3016 | $ ELSE
|
---|
| 3017 | $ use64bitint = "undef"
|
---|
| 3018 | $ uselongdouble = "undef"
|
---|
| 3019 | $ usemorebits = "undef"
|
---|
| 3020 | $ ivdformat="""ld"""
|
---|
| 3021 | $ uvuformat="""lu"""
|
---|
| 3022 | $ uvoformat="""lo"""
|
---|
| 3023 | $ uvxformat="""lx"""
|
---|
| 3024 | $ uvXUformat="""lX"""
|
---|
| 3025 | $ ENDIF
|
---|
| 3026 | $ IF uselongdouble .OR. uselongdouble .EQS. "define"
|
---|
| 3027 | $ THEN
|
---|
| 3028 | $ nveformat="""Le"""
|
---|
| 3029 | $ nvfformat="""Lf"""
|
---|
| 3030 | $ nvgformat="""Lg"""
|
---|
| 3031 | $ ELSE
|
---|
| 3032 | $ nveformat="""e"""
|
---|
| 3033 | $ nvfformat="""f"""
|
---|
| 3034 | $ nvgformat="""g"""
|
---|
| 3035 | $ ENDIF
|
---|
| 3036 | $ IF use64bitall .OR. use64bitall .EQS. "define"
|
---|
| 3037 | $ THEN
|
---|
| 3038 | $ use64bitall = "define"
|
---|
| 3039 | $ ELSE
|
---|
| 3040 | $ use64bitall = "undef"
|
---|
| 3041 | $ ENDIF
|
---|
| 3042 | $ IF uselargefiles .OR. uselargefiles .EQS. "define"
|
---|
| 3043 | $ THEN
|
---|
| 3044 | $ uselargefiles = "define"
|
---|
| 3045 | $ ELSE
|
---|
| 3046 | $ uselargefiles = "undef"
|
---|
| 3047 | $ ENDIF
|
---|
| 3048 | $!
|
---|
| 3049 | $ usemymalloc = "undef"
|
---|
| 3050 | $ if mymalloc then usemymalloc = "define"
|
---|
| 3051 | $!
|
---|
| 3052 | $ perl_cc=Mcc
|
---|
| 3053 | $!
|
---|
| 3054 | $ IF (sharedperl .AND. archname .EQS. "VMS_AXP")
|
---|
| 3055 | $ THEN
|
---|
| 3056 | $ obj_ext=".abj"
|
---|
| 3057 | $ so="axe"
|
---|
| 3058 | $ dlext="axe"
|
---|
| 3059 | $ exe_ext=".axe"
|
---|
| 3060 | $ lib_ext=".alb"
|
---|
| 3061 | $ ELSE
|
---|
| 3062 | $ IF (sharedperl .AND. archname .EQS. "VMS_IA64")
|
---|
| 3063 | $ THEN
|
---|
| 3064 | $ obj_ext=".ibj"
|
---|
| 3065 | $ so="ixe"
|
---|
| 3066 | $ dlext="ixe"
|
---|
| 3067 | $ exe_ext=".ixe"
|
---|
| 3068 | $ lib_ext=".ilb"
|
---|
| 3069 | $ ELSE
|
---|
| 3070 | $ obj_ext=".obj"
|
---|
| 3071 | $ so="exe"
|
---|
| 3072 | $ dlext="exe"
|
---|
| 3073 | $ exe_ext=".exe"
|
---|
| 3074 | $ lib_ext=".olb"
|
---|
| 3075 | $ ENDIF
|
---|
| 3076 | $ ENDIF
|
---|
| 3077 | $ dlobj="dl_vms''obj_ext'"
|
---|
| 3078 | $!
|
---|
| 3079 | $ cppstdin="''perl_cc'/noobj/comments=as_is/preprocess=sys$output sys$input"
|
---|
| 3080 | $ cppminus=" "
|
---|
| 3081 | $ cpprun="''perl_cc'/noobj/comments=as_is/preprocess=sys$output sys$input"
|
---|
| 3082 | $ cpplast=" "
|
---|
| 3083 | $!
|
---|
| 3084 | $ timetype="time_t"
|
---|
| 3085 | $ signal_t="void"
|
---|
| 3086 | $ stdchar="char"
|
---|
| 3087 | $!
|
---|
| 3088 | $ IF mymalloc
|
---|
| 3089 | $ THEN d_mymalloc="define"
|
---|
| 3090 | $ ELSE d_mymalloc="undef"
|
---|
| 3091 | $ ENDIF
|
---|
| 3092 | $!
|
---|
| 3093 | $ usedl="define"
|
---|
| 3094 | $ startperl="""$ perl 'f$env(\""procedure\"")' \""'"+"'p1'\"" \""'"+"'p2'\"" \""'"+"'p3'\"" \""'"+"'p4'\"" \""'"+"'p5'\"" \""'"+"'p6'\"" \""'"+"'p7'\"" \""'"+"'p8'\""!\n"
|
---|
| 3095 | $ startperl=startperl + "$ exit++ + ++$status!=0 and $exit=$status=undef; while($#ARGV != -1 and $ARGV[$#ARGV] eq '"+"'){pop @ARGV;}"""
|
---|
| 3096 | $!
|
---|
| 3097 | $ IF ((use_threads) .AND. (vms_ver .LES. "6.2"))
|
---|
| 3098 | $ THEN
|
---|
| 3099 | $ libs="SYS$SHARE:CMA$LIB_SHR.EXE/SHARE SYS$SHARE:CMA$RTL.EXE/SHARE SYS$SHARE:CMA$OPEN_LIB_SHR.exe/SHARE SYS$SHARE:CMA$OPEN_RTL.exe/SHARE"
|
---|
| 3100 | $ ELSE
|
---|
| 3101 | $ libs=" "
|
---|
| 3102 | $ ENDIF
|
---|
| 3103 | $ IF ccname .EQS. "DEC" .OR. ccname .EQS. "CXX"
|
---|
| 3104 | $ THEN
|
---|
| 3105 | $ libc="(DECCRTL)"
|
---|
| 3106 | $ ELSE
|
---|
| 3107 | $ libc=" "
|
---|
| 3108 | $ ENDIF
|
---|
| 3109 | $!
|
---|
| 3110 | $! perllibs should be libs with all non-core libs (such as gdbm) removed.
|
---|
| 3111 | $!
|
---|
| 3112 | $ perllibs=libs
|
---|
| 3113 | $!
|
---|
| 3114 | $! Are we 64 bit?
|
---|
| 3115 | $!
|
---|
| 3116 | $ IF use64bitint .OR. use64bitint .EQS. "define"
|
---|
| 3117 | $ THEN
|
---|
| 3118 | $ d_PRId64 = "define"
|
---|
| 3119 | $ d_PRIu64 = "define"
|
---|
| 3120 | $ d_PRIo64 = "define"
|
---|
| 3121 | $ d_PRIx64 = "define"
|
---|
| 3122 | $ d_PRIXU64 = "define"
|
---|
| 3123 | $ sPRId64 = """Ld"""
|
---|
| 3124 | $ sPRIXU64 = """LX"""
|
---|
| 3125 | $ sPRIi64 = """Li"""
|
---|
| 3126 | $ sPRIo64 = """Lo"""
|
---|
| 3127 | $ sPRIu64 = """Lu"""
|
---|
| 3128 | $ sPRIx64 = """Lx"""
|
---|
| 3129 | $ d_quad = "define"
|
---|
| 3130 | $ quadtype = "long long"
|
---|
| 3131 | $ uquadtype = "unsigned long long"
|
---|
| 3132 | $ quadkind = "QUAD_IS_LONG_LONG"
|
---|
| 3133 | $ d_frexpl = "define"
|
---|
| 3134 | $ d_isnan = "define"
|
---|
| 3135 | $ d_isnanl = "define"
|
---|
| 3136 | $ d_modfl = "define"
|
---|
| 3137 | $ d_modflproto = "define"
|
---|
| 3138 | $ ELSE
|
---|
| 3139 | $ d_PRId64 = "undef"
|
---|
| 3140 | $ d_PRIXU64 = "undef"
|
---|
| 3141 | $ d_PRIu64 = "undef"
|
---|
| 3142 | $ d_PRIo64 = "undef"
|
---|
| 3143 | $ d_PRIx64 = "undef"
|
---|
| 3144 | $ sPRId64 = ""
|
---|
| 3145 | $ sPRIXU64 = """lX"""
|
---|
| 3146 | $ sPRIi64 = ""
|
---|
| 3147 | $ sPRIo64 = ""
|
---|
| 3148 | $ sPRIu64 = ""
|
---|
| 3149 | $ sPRIx64 = ""
|
---|
| 3150 | $ d_quad = "undef"
|
---|
| 3151 | $ quadtype = "long"
|
---|
| 3152 | $ uquadtype = "unsigned long"
|
---|
| 3153 | $ quadkind = "QUAD_IS_LONG"
|
---|
| 3154 | $ d_frexpl = "undef"
|
---|
| 3155 | $ d_isnan = "undef"
|
---|
| 3156 | $ d_isnanl = "undef"
|
---|
| 3157 | $ d_modfl = "undef"
|
---|
| 3158 | $ d_modflproto = "undef"
|
---|
| 3159 | $ ENDIF
|
---|
| 3160 | $!
|
---|
| 3161 | $! Now some that we build up
|
---|
| 3162 | $!
|
---|
| 3163 | $ IF use_threads
|
---|
| 3164 | $ THEN
|
---|
| 3165 | $ IF use_5005_threads
|
---|
| 3166 | $ THEN
|
---|
| 3167 | $ arch = "''arch'-thread"
|
---|
| 3168 | $ archname = "''archname'-thread"
|
---|
| 3169 | $ d_old_pthread_create_joinable = "undef"
|
---|
| 3170 | $ old_pthread_create_joinable = " "
|
---|
| 3171 | $ use5005threads = "define"
|
---|
| 3172 | $ useithreads = "undef"
|
---|
| 3173 | $ ELSE
|
---|
| 3174 | $ arch = "''arch'-ithread"
|
---|
| 3175 | $ archname = "''archname'-ithread"
|
---|
| 3176 | $ d_old_pthread_create_joinable = "undef"
|
---|
| 3177 | $ old_pthread_create_joinable = " "
|
---|
| 3178 | $ use5005threads = "undef"
|
---|
| 3179 | $ useithreads = "define"
|
---|
| 3180 | $ ENDIF
|
---|
| 3181 | $ ELSE
|
---|
| 3182 | $ d_old_pthread_create_joinable = "undef"
|
---|
| 3183 | $ old_pthread_create_joinable = " "
|
---|
| 3184 | $ use5005threads = "undef"
|
---|
| 3185 | $ useithreads = "undef"
|
---|
| 3186 | $ ENDIF
|
---|
| 3187 | $!
|
---|
| 3188 | $! Some that we need to invoke the compiler for
|
---|
| 3189 | $!
|
---|
| 3190 | $!
|
---|
| 3191 | $! handy construction aliases/symbols
|
---|
| 3192 | $!
|
---|
| 3193 | $ OS := "open/write CONFIG []try.c"
|
---|
| 3194 | $ WS := "write CONFIG"
|
---|
| 3195 | $ CS := "close CONFIG"
|
---|
| 3196 | $ DS := "delete/nolog/noconfirm []try.*;*"
|
---|
| 3197 | $ Needs_Opt := N
|
---|
| 3198 | $ good_compile = %X10B90001
|
---|
| 3199 | $ IF ccname .EQS. "GCC"
|
---|
| 3200 | $ THEN
|
---|
| 3201 | $ open/write OPTCHAN []try.opt
|
---|
| 3202 | $ write OPTCHAN "Gnu_CC:[000000]gcclib.olb/library"
|
---|
| 3203 | $ write OPTCHAN "Sys$Share:VAXCRTL/Share"
|
---|
| 3204 | $ Close OPTCHAN
|
---|
| 3205 | $ Needs_Opt := Y
|
---|
| 3206 | $ good_compile = %X10000001
|
---|
| 3207 | $ ENDIF
|
---|
| 3208 | $ IF ccname .EQS. "CXX"
|
---|
| 3209 | $ THEN
|
---|
| 3210 | $ good_compile = %X15F60001
|
---|
| 3211 | $ ENDIF
|
---|
| 3212 | $ good_link = %X10000001
|
---|
| 3213 | $ tmp = "" ! null string default
|
---|
| 3214 | $!
|
---|
| 3215 | $ GOTO beyond_compile_ok
|
---|
| 3216 | $!
|
---|
| 3217 | $! Check for type sizes
|
---|
| 3218 | $!
|
---|
| 3219 | $type_size_check:
|
---|
| 3220 | $!
|
---|
| 3221 | $ OS
|
---|
| 3222 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3223 | $ WS "#include <stdlib.h>"
|
---|
| 3224 | $ WS "#endif"
|
---|
| 3225 | $ WS "#include <stdio.h>"
|
---|
| 3226 | $ WS "int main()"
|
---|
| 3227 | $ WS "{"
|
---|
| 3228 | $ WS "printf(""%d\n"", sizeof(''tmp'));"
|
---|
| 3229 | $ WS "exit(0);"
|
---|
| 3230 | $ WS "}"
|
---|
| 3231 | $ CS
|
---|
| 3232 | $ GOSUB compile
|
---|
| 3233 | $ RETURN
|
---|
| 3234 | $!
|
---|
| 3235 | $!: locate header file
|
---|
| 3236 | $findhdr:
|
---|
| 3237 | $!
|
---|
| 3238 | $ OS
|
---|
| 3239 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3240 | $ WS "#include <stdlib.h>"
|
---|
| 3241 | $ WS "#endif"
|
---|
| 3242 | $ WS "#include <stdio.h>"
|
---|
| 3243 | $ WS "#include <''tmp'>"
|
---|
| 3244 | $ WS "int main()"
|
---|
| 3245 | $ WS "{"
|
---|
| 3246 | $ WS "printf(""define\n"");"
|
---|
| 3247 | $ WS "exit(0);"
|
---|
| 3248 | $ WS "}"
|
---|
| 3249 | $ CS
|
---|
| 3250 | $ GOSUB link_ok
|
---|
| 3251 | $ RETURN
|
---|
| 3252 | $!
|
---|
| 3253 | $!: define an alternate in-header-list? function
|
---|
| 3254 | $inhdr:
|
---|
| 3255 | $!
|
---|
| 3256 | $ GOSUB findhdr
|
---|
| 3257 | $ IF compile_status .EQ. good_compile .AND. link_status .EQ. good_link
|
---|
| 3258 | $ THEN
|
---|
| 3259 | $ echo4 "<''tmp'> found."
|
---|
| 3260 | $ tmp = "define"
|
---|
| 3261 | $ ELSE
|
---|
| 3262 | $ echo4 "<''tmp'> NOT found."
|
---|
| 3263 | $ tmp = "undef"
|
---|
| 3264 | $ ENDIF
|
---|
| 3265 | $ RETURN
|
---|
| 3266 | $!
|
---|
| 3267 | $!: define an is-in-libc? function
|
---|
| 3268 | $inlibc:
|
---|
| 3269 | $ GOSUB link_ok
|
---|
| 3270 | $ IF compile_status .EQ. good_compile .AND. link_status .EQ. good_link
|
---|
| 3271 | $ THEN
|
---|
| 3272 | $ echo4 "''tmp'() found."
|
---|
| 3273 | $ tmp = "define"
|
---|
| 3274 | $ ELSE
|
---|
| 3275 | $ echo4 "''tmp'() NOT found."
|
---|
| 3276 | $ tmp = "undef"
|
---|
| 3277 | $ ENDIF
|
---|
| 3278 | $ RETURN
|
---|
| 3279 | $!
|
---|
| 3280 | $!: define a shorthand compile call
|
---|
| 3281 | $compile:
|
---|
| 3282 | $ GOSUB link_ok
|
---|
| 3283 | $just_mcr_it:
|
---|
| 3284 | $ IF compile_status .EQ. good_compile .AND. link_status .EQ. good_link
|
---|
| 3285 | $ THEN
|
---|
| 3286 | $ OPEN/WRITE CONFIG []try.out
|
---|
| 3287 | $ DEFINE/USER_MODE SYS$ERROR CONFIG
|
---|
| 3288 | $ DEFINE/USER_MODE SYS$OUTPUT CONFIG
|
---|
| 3289 | $ MCR []try.exe
|
---|
| 3290 | $ CLOSE CONFIG
|
---|
| 3291 | $ OPEN/READ CONFIG []try.out
|
---|
| 3292 | $ READ CONFIG tmp
|
---|
| 3293 | $ CLOSE CONFIG
|
---|
| 3294 | $ DELETE/NOLOG/NOCONFIRM []try.out;
|
---|
| 3295 | $ DELETE/NOLOG/NOCONFIRM []try.exe;
|
---|
| 3296 | $ ELSE
|
---|
| 3297 | $ tmp = "" ! null string default
|
---|
| 3298 | $ ENDIF
|
---|
| 3299 | $ RETURN
|
---|
| 3300 | $!
|
---|
| 3301 | $link_ok:
|
---|
| 3302 | $ GOSUB compile_ok
|
---|
| 3303 | $ DEFINE/USER_MODE SYS$ERROR _NLA0:
|
---|
| 3304 | $ DEFINE/USER_MODE SYS$OUTPUT _NLA0:
|
---|
| 3305 | $ SET NOON
|
---|
| 3306 | $ IF Needs_Opt
|
---|
| 3307 | $ THEN
|
---|
| 3308 | $ 'ld' try.obj,try.opt/opt
|
---|
| 3309 | $ link_status = $status
|
---|
| 3310 | $ ELSE
|
---|
| 3311 | $ 'ld' try.obj
|
---|
| 3312 | $ link_status = $status
|
---|
| 3313 | $ ENDIF
|
---|
| 3314 | $ SET ON
|
---|
| 3315 | $ IF F$SEARCH("try.obj") .NES. "" THEN DELETE/NOLOG/NOCONFIRM try.obj;
|
---|
| 3316 | $ RETURN
|
---|
| 3317 | $!
|
---|
| 3318 | $!: define a shorthand compile call for compilations that should be ok.
|
---|
| 3319 | $compile_ok:
|
---|
| 3320 | $ DEFINE/USER_MODE SYS$ERROR _NLA0:
|
---|
| 3321 | $ DEFINE/USER_MODE SYS$OUTPUT _NLA0:
|
---|
| 3322 | $ SET NOON
|
---|
| 3323 | $ 'Checkcc' try.c
|
---|
| 3324 | $ compile_status = $status
|
---|
| 3325 | $ SET ON
|
---|
| 3326 | $ DELETE/NOLOG/NOCONFIRM try.c;
|
---|
| 3327 | $ RETURN
|
---|
| 3328 | $!
|
---|
| 3329 | $beyond_compile_ok:
|
---|
| 3330 | $!
|
---|
| 3331 | $! Check for __STDC__
|
---|
| 3332 | $!
|
---|
| 3333 | $ OS
|
---|
| 3334 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3335 | $ WS "#include <stdlib.h>"
|
---|
| 3336 | $ WS "#endif"
|
---|
| 3337 | $ WS "#include <stdio.h>"
|
---|
| 3338 | $ WS "int main()"
|
---|
| 3339 | $ WS "{"
|
---|
| 3340 | $ WS "#ifdef __STDC__"
|
---|
| 3341 | $ WS "printf(""42\n"");"
|
---|
| 3342 | $ WS "#else"
|
---|
| 3343 | $ WS "printf(""1\n"");"
|
---|
| 3344 | $ WS "#endif"
|
---|
| 3345 | $ WS "exit(0);"
|
---|
| 3346 | $ WS "}"
|
---|
| 3347 | $ CS
|
---|
| 3348 | $ GOSUB compile
|
---|
| 3349 | $ cpp_stuff=tmp
|
---|
| 3350 | $ IF F$INTEGER(tmp) .eq. 42
|
---|
| 3351 | $ THEN
|
---|
| 3352 | $ echo4 "Your C compiler and pre-processor defines the symbol:"
|
---|
| 3353 | $ echo4 "__STDC__"
|
---|
| 3354 | $ ENDIF
|
---|
| 3355 | $!
|
---|
| 3356 | $! Check for double size
|
---|
| 3357 | $!
|
---|
| 3358 | $ echo4 "Checking to see how big your double precision numbers are..."
|
---|
| 3359 | $ tmp="double"
|
---|
| 3360 | $ GOSUB type_size_check
|
---|
| 3361 | $ doublesize = tmp
|
---|
| 3362 | $ echo "Your double is ''doublesize' bytes long."
|
---|
| 3363 | $!
|
---|
| 3364 | $! Check for long double size
|
---|
| 3365 | $!
|
---|
| 3366 | $ OS
|
---|
| 3367 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3368 | $ WS "#pragma message disable ALL" ! VAX compilers may have distracting informationals
|
---|
| 3369 | $ WS "#include <stdlib.h>"
|
---|
| 3370 | $ WS "#endif"
|
---|
| 3371 | $ WS "#include <stdio.h>"
|
---|
| 3372 | $ WS "int main()"
|
---|
| 3373 | $ WS "{"
|
---|
| 3374 | $ WS "printf(""%d\n"", sizeof(long double));"
|
---|
| 3375 | $ WS "exit(0);"
|
---|
| 3376 | $ WS "}"
|
---|
| 3377 | $ CS
|
---|
| 3378 | $ echo4 "Checking to see if you have long double..."
|
---|
| 3379 | $ GOSUB link_ok
|
---|
| 3380 | $ IF link_status .NE. good_link
|
---|
| 3381 | $ THEN
|
---|
| 3382 | $ longdblsize="0"
|
---|
| 3383 | $ d_longdbl="undef"
|
---|
| 3384 | $ echo "You do not have long double."
|
---|
| 3385 | $ ELSE
|
---|
| 3386 | $ echo "You have long double."
|
---|
| 3387 | $ echo4 "Checking to see how big your long doubles are..."
|
---|
| 3388 | $ GOSUB just_mcr_it
|
---|
| 3389 | $ longdblsize = tmp
|
---|
| 3390 | $ d_longdbl = "define"
|
---|
| 3391 | $ echo "Your long doubles are ''longdblsize' bytes long."
|
---|
| 3392 | $ ENDIF
|
---|
| 3393 | $!
|
---|
| 3394 | $ IF d_longdbl .OR. d_longdbl .EQS. "define"
|
---|
| 3395 | $ THEN
|
---|
| 3396 | $ d_PRIEUldbl = "define"
|
---|
| 3397 | $ d_PRIFUldbl = "define"
|
---|
| 3398 | $ d_PRIGUldbl = "define"
|
---|
| 3399 | $ d_PRIeldbl = "define"
|
---|
| 3400 | $ d_PRIfldbl = "define"
|
---|
| 3401 | $ d_PRIgldbl = "define"
|
---|
| 3402 | $ sPRIEUldbl = """LE"""
|
---|
| 3403 | $ sPRIFUldbl = """LF"""
|
---|
| 3404 | $ sPRIGUldbl = """LG"""
|
---|
| 3405 | $ sPRIeldbl = """Le"""
|
---|
| 3406 | $ sPRIfldbl = """Lf"""
|
---|
| 3407 | $ sPRIgldbl = """Lg"""
|
---|
| 3408 | $ ELSE
|
---|
| 3409 | $ d_PRIEUldbl = "undef"
|
---|
| 3410 | $ d_PRIFUldbl = "undef"
|
---|
| 3411 | $ d_PRIGUldbl = "undef"
|
---|
| 3412 | $ d_PRIeldbl = "undef"
|
---|
| 3413 | $ d_PRIfldbl = "undef"
|
---|
| 3414 | $ d_PRIgldbl = "undef"
|
---|
| 3415 | $ sPRIEUldbl = ""
|
---|
| 3416 | $ sPRIFUldbl = ""
|
---|
| 3417 | $ sPRIGUldbl = ""
|
---|
| 3418 | $ sPRIeldbl = ""
|
---|
| 3419 | $ sPRIfldbl = ""
|
---|
| 3420 | $ sPRIgldbl = ""
|
---|
| 3421 | $ ENDIF
|
---|
| 3422 | $ d_SCNfldbl = d_PRIfldbl
|
---|
| 3423 | $ sSCNfldbl = sPRIfldbl ! expect consistency
|
---|
| 3424 | $!
|
---|
| 3425 | $!: check for long long
|
---|
| 3426 | $ OS
|
---|
| 3427 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3428 | $ WS "#include <stdlib.h>"
|
---|
| 3429 | $ WS "#endif"
|
---|
| 3430 | $ WS "#include <stdio.h>"
|
---|
| 3431 | $ WS "int main()"
|
---|
| 3432 | $ WS "{"
|
---|
| 3433 | $ WS "printf(""%d\n"", sizeof(long long));"
|
---|
| 3434 | $ WS "exit(0);"
|
---|
| 3435 | $ WS "}"
|
---|
| 3436 | $ CS
|
---|
| 3437 | $ echo4 "Checking to see if you have long long..."
|
---|
| 3438 | $ GOSUB link_ok
|
---|
| 3439 | $ IF link_status .NE. good_link
|
---|
| 3440 | $ THEN
|
---|
| 3441 | $ longlongsize="0"
|
---|
| 3442 | $ d_longlong="undef"
|
---|
| 3443 | $ echo "You do not have long long."
|
---|
| 3444 | $ ELSE
|
---|
| 3445 | $ echo "You have long long."
|
---|
| 3446 | $ echo4 "Checking to see how big your long longs are..."
|
---|
| 3447 | $ GOSUB just_mcr_it
|
---|
| 3448 | $ longlongsize = tmp
|
---|
| 3449 | $ d_longlong = "define"
|
---|
| 3450 | $ echo "Your long longs are ''longlongsize' bytes long."
|
---|
| 3451 | $ ENDIF
|
---|
| 3452 | $!
|
---|
| 3453 | $! Check the prototype for getgid
|
---|
| 3454 | $!
|
---|
| 3455 | $ echo "Looking for the type for group ids returned by getgid()."
|
---|
| 3456 | $ OS
|
---|
| 3457 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3458 | $ WS "#include <stdlib.h>"
|
---|
| 3459 | $ WS "#endif"
|
---|
| 3460 | $ WS "#include <stdio.h>"
|
---|
| 3461 | $ WS "#include <types.h>"
|
---|
| 3462 | $ WS "int main()"
|
---|
| 3463 | $ WS "{"
|
---|
| 3464 | $ WS "gid_t foo;"
|
---|
| 3465 | $ WS "exit(0);"
|
---|
| 3466 | $ WS "}"
|
---|
| 3467 | $ CS
|
---|
| 3468 | $ GOSUB compile_ok
|
---|
| 3469 | $ IF compile_status .NE. good_compile
|
---|
| 3470 | $ THEN
|
---|
| 3471 | $! Okay, gid_t failed. Must be unsigned int
|
---|
| 3472 | $ gidtype = "unsigned int"
|
---|
| 3473 | $ echo4 "assuming ""''gidtype'""."
|
---|
| 3474 | $ ELSE
|
---|
| 3475 | $ gidtype = "gid_t"
|
---|
| 3476 | $ echo4 "gid_t found."
|
---|
| 3477 | $ ENDIF
|
---|
| 3478 | $!
|
---|
| 3479 | $! Check to see if we've got dev_t
|
---|
| 3480 | $!
|
---|
| 3481 | $ echo "Looking for the type for dev."
|
---|
| 3482 | $ OS
|
---|
| 3483 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3484 | $ WS "#include <stdlib.h>"
|
---|
| 3485 | $ WS "#endif"
|
---|
| 3486 | $ WS "#include <stdio.h>"
|
---|
| 3487 | $ WS "#include <types.h>"
|
---|
| 3488 | $ WS "int main()"
|
---|
| 3489 | $ WS "{"
|
---|
| 3490 | $ WS "dev_t foo;"
|
---|
| 3491 | $ WS "exit(0);"
|
---|
| 3492 | $ WS "}"
|
---|
| 3493 | $ CS
|
---|
| 3494 | $ GOSUB compile_ok
|
---|
| 3495 | $ IF compile_status .NE. good_compile
|
---|
| 3496 | $ THEN
|
---|
| 3497 | $! Okay, dev_t failed. Must be unsigned int
|
---|
| 3498 | $ devtype = "unsigned int"
|
---|
| 3499 | $ echo4 "assuming ""''devtype'""."
|
---|
| 3500 | $ ELSE
|
---|
| 3501 | $ devtype = "dev_t"
|
---|
| 3502 | $ echo4 "dev_t found."
|
---|
| 3503 | $ ENDIF
|
---|
| 3504 | $!
|
---|
| 3505 | $! Check to see if we've got unistd.h (which we ought to, but you never know)
|
---|
| 3506 | $!
|
---|
| 3507 | $ i_netdb = "undef"
|
---|
| 3508 | $ tmp = "unistd.h"
|
---|
| 3509 | $ GOSUB inhdr
|
---|
| 3510 | $ i_unistd = tmp
|
---|
| 3511 | $!
|
---|
| 3512 | $! do we have getppid()?
|
---|
| 3513 | $!
|
---|
| 3514 | $ IF i_unistd .EQS. "define"
|
---|
| 3515 | $ THEN
|
---|
| 3516 | $ OS
|
---|
| 3517 | $ WS "#include <stdio.h>"
|
---|
| 3518 | $ WS "#include <unistd.h>"
|
---|
| 3519 | $ WS "int main() {"
|
---|
| 3520 | $ WS "printf(""%d\n"",getppid());"
|
---|
| 3521 | $ WS "return(0);"
|
---|
| 3522 | $ WS "}"
|
---|
| 3523 | $ CS
|
---|
| 3524 | $ tmp = "getppid"
|
---|
| 3525 | $ GOSUB inlibc
|
---|
| 3526 | $ d_getppid = tmp
|
---|
| 3527 | $ ELSE
|
---|
| 3528 | $ d_getppid = "undef"
|
---|
| 3529 | $ ENDIF
|
---|
| 3530 | $!
|
---|
| 3531 | $!: see if this is a libutil.h system
|
---|
| 3532 | $!
|
---|
| 3533 | $ tmp = "libutil.h"
|
---|
| 3534 | $ GOSUB inhdr
|
---|
| 3535 | $ i_libutil = tmp
|
---|
| 3536 | $!
|
---|
| 3537 | $! Check to see if we've got shadow.h (probably not, but...)
|
---|
| 3538 | $!
|
---|
| 3539 | $ tmp = "shadow.h"
|
---|
| 3540 | $ GOSUB inhdr
|
---|
| 3541 | $ i_shadow = tmp
|
---|
| 3542 | $!
|
---|
| 3543 | $! Check to see if we've got socks.h (probably not, but...)
|
---|
| 3544 | $!
|
---|
| 3545 | $ tmp = "socks.h"
|
---|
| 3546 | $ GOSUB inhdr
|
---|
| 3547 | $ i_socks = tmp
|
---|
| 3548 | $!
|
---|
| 3549 | $! Check the prototype for select
|
---|
| 3550 | $!
|
---|
| 3551 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 3552 | $ THEN
|
---|
| 3553 | $ OS
|
---|
| 3554 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3555 | $ WS "#include <stdlib.h>"
|
---|
| 3556 | $ WS "#endif"
|
---|
| 3557 | $ WS "#include <stdio.h>"
|
---|
| 3558 | $ WS "#include <types.h>"
|
---|
| 3559 | $ IF i_unistd .EQS. "define" THEN WS "#include <unistd.h>"
|
---|
| 3560 | $ IF Has_Socketshr
|
---|
| 3561 | $ THEN
|
---|
| 3562 | $ WS "#include <socketshr.h>"
|
---|
| 3563 | $ ELSE
|
---|
| 3564 | $ WS "#include <time.h>"
|
---|
| 3565 | $ WS "#include <socket.h>"
|
---|
| 3566 | $ ENDIF
|
---|
| 3567 | $ WS "int main()"
|
---|
| 3568 | $ WS "{"
|
---|
| 3569 | $ WS "fd_set *foo;"
|
---|
| 3570 | $ WS "int bar;"
|
---|
| 3571 | $ WS "foo = NULL;"
|
---|
| 3572 | $ WS "bar = select(2, foo, foo, foo, NULL);"
|
---|
| 3573 | $ WS "exit(0);"
|
---|
| 3574 | $ WS "}"
|
---|
| 3575 | $ CS
|
---|
| 3576 | $ GOSUB compile_ok
|
---|
| 3577 | $ IF compile_status .NE. good_compile
|
---|
| 3578 | $ THEN
|
---|
| 3579 | $! Okay, select failed. Must be an int *
|
---|
| 3580 | $ selecttype = "int *"
|
---|
| 3581 | $ echo4 "select() NOT found."
|
---|
| 3582 | $ ELSE
|
---|
| 3583 | $ selecttype="fd_set *"
|
---|
| 3584 | $ echo4 "select() found."
|
---|
| 3585 | $ ENDIF
|
---|
| 3586 | $ ELSE
|
---|
| 3587 | $ ! No sockets, so stick in an int * : no select, so pick a harmless default
|
---|
| 3588 | $ selecttype = "int *"
|
---|
| 3589 | $ ENDIF
|
---|
| 3590 | $!
|
---|
| 3591 | $! Check to see if fd_set exists
|
---|
| 3592 | $!
|
---|
| 3593 | $ echo "Checking to see how well your C compiler handles fd_set and friends ..."
|
---|
| 3594 | $ OS
|
---|
| 3595 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3596 | $ WS "#include <stdlib.h>"
|
---|
| 3597 | $ WS "#endif"
|
---|
| 3598 | $ WS "#include <stdio.h>"
|
---|
| 3599 | $ WS "#include <types.h>"
|
---|
| 3600 | $ IF Has_Socketshr
|
---|
| 3601 | $ THEN
|
---|
| 3602 | $ WS "#include <socketshr.h>"
|
---|
| 3603 | $ ENDIF
|
---|
| 3604 | $ IF Has_Dec_C_Sockets
|
---|
| 3605 | $ THEN
|
---|
| 3606 | $ WS "#include <time.h>"
|
---|
| 3607 | $ WS "#include <socket.h>"
|
---|
| 3608 | $ ENDIF
|
---|
| 3609 | $ WS "int main()"
|
---|
| 3610 | $ WS "{"
|
---|
| 3611 | $ WS "fd_set *foo;"
|
---|
| 3612 | $ WS "int bar;"
|
---|
| 3613 | $ WS "exit(0);"
|
---|
| 3614 | $ WS "}"
|
---|
| 3615 | $ CS
|
---|
| 3616 | $ GOSUB compile_ok
|
---|
| 3617 | $ IF compile_status .ne. good_compile
|
---|
| 3618 | $ THEN
|
---|
| 3619 | $! Okay, fd_set failed. Must not exist
|
---|
| 3620 | $ d_fd_set = "undef"
|
---|
| 3621 | $ echo4 "Hmm, your compiler has some difficulty with fd_set."
|
---|
| 3622 | $ ELSE
|
---|
| 3623 | $ d_fd_set="define"
|
---|
| 3624 | $ echo4 "Well, your system knows about the normal fd_set typedef..."
|
---|
| 3625 | $ ENDIF
|
---|
| 3626 | $!
|
---|
| 3627 | $! Check for inttypes.h
|
---|
| 3628 | $!
|
---|
| 3629 | $ tmp = "inttypes.h"
|
---|
| 3630 | $ GOSUB inhdr
|
---|
| 3631 | $ i_inttypes = tmp
|
---|
| 3632 | $!
|
---|
| 3633 | $! Check to see if off64_t exists
|
---|
| 3634 | $!
|
---|
| 3635 | $ echo4 "Checking to see if you have off64_t..."
|
---|
| 3636 | $ OS
|
---|
| 3637 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3638 | $ WS "#include <stdlib.h>"
|
---|
| 3639 | $ WS "#endif"
|
---|
| 3640 | $ WS "#include <stdio.h>"
|
---|
| 3641 | $ WS "#include <types.h>"
|
---|
| 3642 | $ WS "#''i_inttypes' IIH"
|
---|
| 3643 | $ WS "#ifdef IIH"
|
---|
| 3644 | $ WS "#include <inttypes.h>"
|
---|
| 3645 | $ WS "#endif"
|
---|
| 3646 | $ WS "int main()"
|
---|
| 3647 | $ WS "{"
|
---|
| 3648 | $ WS "off64_t bar;"
|
---|
| 3649 | $ WS "exit(0);"
|
---|
| 3650 | $ WS "}"
|
---|
| 3651 | $ CS
|
---|
| 3652 | $ GOSUB compile_ok
|
---|
| 3653 | $ IF compile_status .EQ. good_compile
|
---|
| 3654 | $ THEN
|
---|
| 3655 | $ d_off64_t="define"
|
---|
| 3656 | $ echo "You have off64_t."
|
---|
| 3657 | $ ELSE
|
---|
| 3658 | $ d_off64_t = "undef"
|
---|
| 3659 | $ echo "You do not have off64_t."
|
---|
| 3660 | $ ENDIF
|
---|
| 3661 | $!
|
---|
| 3662 | $! Check to see if fpos64_t exists
|
---|
| 3663 | $!
|
---|
| 3664 | $ echo4 "Checking to see if you have fpos64_t..."
|
---|
| 3665 | $ OS
|
---|
| 3666 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3667 | $ WS "#include <stdlib.h>"
|
---|
| 3668 | $ WS "#endif"
|
---|
| 3669 | $ WS "#include <stdio.h>"
|
---|
| 3670 | $ WS "#include <types.h>"
|
---|
| 3671 | $ WS "#''i_inttypes' IIH"
|
---|
| 3672 | $ WS "#ifdef IIH"
|
---|
| 3673 | $ WS "#include <inttypes.h>"
|
---|
| 3674 | $ WS "#endif"
|
---|
| 3675 | $ WS "int main()"
|
---|
| 3676 | $ WS "{"
|
---|
| 3677 | $ WS "fpos64_t bar;"
|
---|
| 3678 | $ WS "exit(0);"
|
---|
| 3679 | $ WS "}"
|
---|
| 3680 | $ CS
|
---|
| 3681 | $ GOSUB compile_ok
|
---|
| 3682 | $ IF compile_status .EQ. good_compile
|
---|
| 3683 | $ THEN
|
---|
| 3684 | $ d_fpos64_t="define"
|
---|
| 3685 | $ echo "You have fpos64_t."
|
---|
| 3686 | $ ELSE
|
---|
| 3687 | $ d_fpos64_t = "undef"
|
---|
| 3688 | $ echo "You do not have fpos64_t."
|
---|
| 3689 | $ ENDIF
|
---|
| 3690 | $!
|
---|
| 3691 | $! Check to see if int64_t exists
|
---|
| 3692 | $!
|
---|
| 3693 | $ echo4 "Checking to see if you have int64_t..."
|
---|
| 3694 | $ OS
|
---|
| 3695 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3696 | $ WS "#include <stdlib.h>"
|
---|
| 3697 | $ WS "#endif"
|
---|
| 3698 | $ WS "#include <stdio.h>"
|
---|
| 3699 | $ WS "#include <types.h>"
|
---|
| 3700 | $ WS "#''i_inttypes' IIH"
|
---|
| 3701 | $ WS "#ifdef IIH"
|
---|
| 3702 | $ WS "#include <inttypes.h>"
|
---|
| 3703 | $ WS "#endif"
|
---|
| 3704 | $ WS "int main()"
|
---|
| 3705 | $ WS "{"
|
---|
| 3706 | $ WS "int64_t bar;"
|
---|
| 3707 | $ WS "exit(0);"
|
---|
| 3708 | $ WS "}"
|
---|
| 3709 | $ CS
|
---|
| 3710 | $ GOSUB compile_ok
|
---|
| 3711 | $ IF compile_status .EQ. good_compile
|
---|
| 3712 | $ THEN
|
---|
| 3713 | $ d_int64_t="define"
|
---|
| 3714 | $ echo "You have int64_t."
|
---|
| 3715 | $ ELSE
|
---|
| 3716 | $ d_int64_t = "undef"
|
---|
| 3717 | $ echo "You do not have int64_t."
|
---|
| 3718 | $ ENDIF
|
---|
| 3719 | $!
|
---|
| 3720 | $! Check to see if fseeko exists
|
---|
| 3721 | $!
|
---|
| 3722 | $ OS
|
---|
| 3723 | $ WS "#include <stdio.h>"
|
---|
| 3724 | $ WS "int main()"
|
---|
| 3725 | $ WS "{"
|
---|
| 3726 | $ WS "FILE *f=NULL;"
|
---|
| 3727 | $ WS "fseeko(f,(off_t)0,SEEK_SET);"
|
---|
| 3728 | $ WS "return(0);"
|
---|
| 3729 | $ WS "}"
|
---|
| 3730 | $ CS
|
---|
| 3731 | $ tmp = "fseeko"
|
---|
| 3732 | $ GOSUB inlibc
|
---|
| 3733 | $ d_fseeko = tmp
|
---|
| 3734 | $!
|
---|
| 3735 | $! Check to see if ftello exists
|
---|
| 3736 | $!
|
---|
| 3737 | $ OS
|
---|
| 3738 | $ WS "#include <stdio.h>"
|
---|
| 3739 | $ WS "int main()"
|
---|
| 3740 | $ WS "{"
|
---|
| 3741 | $ WS "FILE *f=NULL; off_t o=0;"
|
---|
| 3742 | $ WS "o=ftello(f);"
|
---|
| 3743 | $ WS "return(0);"
|
---|
| 3744 | $ WS "}"
|
---|
| 3745 | $ CS
|
---|
| 3746 | $ tmp = "ftello"
|
---|
| 3747 | $ GOSUB inlibc
|
---|
| 3748 | $ d_ftello = tmp
|
---|
| 3749 | $!
|
---|
| 3750 | $!: see if this is a netdb.h system
|
---|
| 3751 | $ IF Has_Dec_C_Sockets
|
---|
| 3752 | $ THEN
|
---|
| 3753 | $ tmp = "netdb.h"
|
---|
| 3754 | $ GOSUB inhdr
|
---|
| 3755 | $ i_netdb = tmp
|
---|
| 3756 | $ ENDIF
|
---|
| 3757 | $!
|
---|
| 3758 | $! Check for h_errno
|
---|
| 3759 | $!
|
---|
| 3760 | $ echo4 "Checking to see if you have h_errno..."
|
---|
| 3761 | $ OS
|
---|
| 3762 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3763 | $ WS "#include <stdlib.h>"
|
---|
| 3764 | $ WS "#endif"
|
---|
| 3765 | $ WS "#include <stdio.h>"
|
---|
| 3766 | $ IF i_unistd .EQS. "define" THEN WS "#include <unistd.h>"
|
---|
| 3767 | $ IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 3768 | $ WS "int main()"
|
---|
| 3769 | $ WS "{"
|
---|
| 3770 | $ WS "h_errno = 3;"
|
---|
| 3771 | $ WS "exit(0);"
|
---|
| 3772 | $ WS "}"
|
---|
| 3773 | $ CS
|
---|
| 3774 | $ GOSUB link_ok
|
---|
| 3775 | $ IF compile_status .EQ. good_compile .AND. link_status .EQ. good_link
|
---|
| 3776 | $ THEN
|
---|
| 3777 | $ d_herrno="define"
|
---|
| 3778 | $ echo "You have h_errno."
|
---|
| 3779 | $ ELSE
|
---|
| 3780 | $ d_herrno="undef"
|
---|
| 3781 | $ echo "You do not have h_errno."
|
---|
| 3782 | $ ENDIF
|
---|
| 3783 | $!
|
---|
| 3784 | $! Check to see if gethostname exists
|
---|
| 3785 | $!
|
---|
| 3786 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 3787 | $ THEN
|
---|
| 3788 | $ OS
|
---|
| 3789 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3790 | $ WS "#include <stdlib.h>"
|
---|
| 3791 | $ WS "#endif"
|
---|
| 3792 | $ WS "#include <stdio.h>"
|
---|
| 3793 | $ WS "#include <types.h>"
|
---|
| 3794 | $ IF Has_Socketshr
|
---|
| 3795 | $ THEN
|
---|
| 3796 | $ WS "#include <socketshr.h>"
|
---|
| 3797 | $ ELSE
|
---|
| 3798 | $ WS "#include <time.h>"
|
---|
| 3799 | $ WS "#include <socket.h>"
|
---|
| 3800 | $ ENDIF
|
---|
| 3801 | $ WS "int main()"
|
---|
| 3802 | $ WS "{"
|
---|
| 3803 | $ WS "char name[100];"
|
---|
| 3804 | $ WS "int bar, baz;"
|
---|
| 3805 | $ WS "bar = 100;"
|
---|
| 3806 | $ WS "baz = gethostname(name, bar);"
|
---|
| 3807 | $ WS "exit(0);"
|
---|
| 3808 | $ WS "}"
|
---|
| 3809 | $ CS
|
---|
| 3810 | $ GOSUB link_ok
|
---|
| 3811 | $ IF compile_status .EQ. good_compile .AND. link_status .EQ. good_link
|
---|
| 3812 | $ THEN
|
---|
| 3813 | $ d_gethname="define"
|
---|
| 3814 | $ echo4 "gethostname() found."
|
---|
| 3815 | $ ELSE
|
---|
| 3816 | $ d_gethname="undef"
|
---|
| 3817 | $ ENDIF
|
---|
| 3818 | $ ELSE
|
---|
| 3819 | $ ! No sockets, so no gethname
|
---|
| 3820 | $ d_gethname = "undef"
|
---|
| 3821 | $ ENDIF
|
---|
| 3822 | $!
|
---|
| 3823 | $! Check for sys/file.h
|
---|
| 3824 | $!
|
---|
| 3825 | $ tmp = "sys/file.h"
|
---|
| 3826 | $ GOSUB inhdr
|
---|
| 3827 | $ i_sysfile = tmp
|
---|
| 3828 | $!
|
---|
| 3829 | $!
|
---|
| 3830 | $! Check for sys/ioctl.h
|
---|
| 3831 | $!
|
---|
| 3832 | $ tmp = "sys/ioctl.h"
|
---|
| 3833 | $ GOSUB inhdr
|
---|
| 3834 | $ i_sysioctl = tmp
|
---|
| 3835 | $!
|
---|
| 3836 | $! Check for sys/utsname.h
|
---|
| 3837 | $!
|
---|
| 3838 | $ tmp = "sys/utsname.h"
|
---|
| 3839 | $ GOSUB inhdr
|
---|
| 3840 | $ i_sysutsname = tmp
|
---|
| 3841 | $!
|
---|
| 3842 | $! Check for syslog.h
|
---|
| 3843 | $!
|
---|
| 3844 | $ tmp = "syslog.h"
|
---|
| 3845 | $ GOSUB inhdr
|
---|
| 3846 | $ i_syslog = tmp
|
---|
| 3847 | $!
|
---|
| 3848 | $! Check for poll.h
|
---|
| 3849 | $!
|
---|
| 3850 | $ tmp = "poll.h"
|
---|
| 3851 | $ GOSUB inhdr
|
---|
| 3852 | $ i_poll = tmp
|
---|
| 3853 | $!
|
---|
| 3854 | $! Check for sys/uio.h
|
---|
| 3855 | $!
|
---|
| 3856 | $ tmp = "sys/uio.h"
|
---|
| 3857 | $ GOSUB inhdr
|
---|
| 3858 | $ i_sysuio = tmp
|
---|
| 3859 | $!
|
---|
| 3860 | $! Check for sys/mode.h
|
---|
| 3861 | $!
|
---|
| 3862 | $ tmp = "sys/mode.h"
|
---|
| 3863 | $ GOSUB inhdr
|
---|
| 3864 | $ i_sysmode = tmp
|
---|
| 3865 | $!
|
---|
| 3866 | $! Check for sys/access.h
|
---|
| 3867 | $!
|
---|
| 3868 | $ tmp = "sys/access.h"
|
---|
| 3869 | $ GOSUB inhdr
|
---|
| 3870 | $ i_sysaccess = tmp
|
---|
| 3871 | $!
|
---|
| 3872 | $! Check for sys/security.h
|
---|
| 3873 | $!
|
---|
| 3874 | $ tmp = "sys/security.h"
|
---|
| 3875 | $ GOSUB inhdr
|
---|
| 3876 | $ i_syssecrt = tmp
|
---|
| 3877 | $!
|
---|
| 3878 | $! Check for fcntl.h
|
---|
| 3879 | $!
|
---|
| 3880 | $ tmp = "fcntl.h"
|
---|
| 3881 | $ GOSUB inhdr
|
---|
| 3882 | $ i_fcntl = tmp
|
---|
| 3883 | $!
|
---|
| 3884 | $! Check for fcntl
|
---|
| 3885 | $!
|
---|
| 3886 | $ OS
|
---|
| 3887 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3888 | $ WS "#include <stdlib.h>"
|
---|
| 3889 | $ WS "#endif"
|
---|
| 3890 | $ WS "#include <stdio.h>"
|
---|
| 3891 | $ WS "#include <fcntl.h>"
|
---|
| 3892 | $ WS "int main()"
|
---|
| 3893 | $ WS "{"
|
---|
| 3894 | $ WS "fcntl(1,2,3);"
|
---|
| 3895 | $ WS "exit(0);"
|
---|
| 3896 | $ WS "}"
|
---|
| 3897 | $ CS
|
---|
| 3898 | $ tmp = "fcntl"
|
---|
| 3899 | $ GOSUB inlibc
|
---|
| 3900 | $ d_fcntl = tmp
|
---|
| 3901 | $!
|
---|
| 3902 | $! Check for fcntl locking capability
|
---|
| 3903 | $!
|
---|
| 3904 | $ echo4 "Checking if fcntl-based file locking works... "
|
---|
| 3905 | $ tmp = "undef"
|
---|
| 3906 | $ IF d_fcntl .EQS. "define"
|
---|
| 3907 | $ THEN
|
---|
| 3908 | $ OS
|
---|
| 3909 | $ WS "#include <stdio.h>"
|
---|
| 3910 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3911 | $ WS "#include <stdlib.h>"
|
---|
| 3912 | $ WS "#endif"
|
---|
| 3913 | $ WS "#include <fcntl.h>"
|
---|
| 3914 | $ WS "#include <unistd.h>"
|
---|
| 3915 | $ WS "int main() {"
|
---|
| 3916 | $ WS "#if defined(F_SETLK) && defined(F_SETLKW)"
|
---|
| 3917 | $ WS " struct flock flock;"
|
---|
| 3918 | $ WS " int retval, fd;"
|
---|
| 3919 | $ WS " fd = open(""try.c"", O_RDONLY);"
|
---|
| 3920 | $ WS " flock.l_type = F_RDLCK;"
|
---|
| 3921 | $ WS " flock.l_whence = SEEK_SET;"
|
---|
| 3922 | $ WS " flock.l_start = flock.l_len = 0;"
|
---|
| 3923 | $ WS " retval = fcntl(fd, F_SETLK, &flock);"
|
---|
| 3924 | $ WS " close(fd);"
|
---|
| 3925 | $ WS " (retval < 0 ? printf(""undef\n"") : printf(""define\n""));"
|
---|
| 3926 | $ WS "#else"
|
---|
| 3927 | $ WS " printf(""undef\n"");"
|
---|
| 3928 | $ WS "#endif"
|
---|
| 3929 | $ WS "}"
|
---|
| 3930 | $ CS
|
---|
| 3931 | $ GOSUB link_ok
|
---|
| 3932 | $ IF compile_status .EQ. good_compile .AND. link_status .EQ. good_link
|
---|
| 3933 | $ THEN
|
---|
| 3934 | $ GOSUB just_mcr_it
|
---|
| 3935 | $ IF tmp .EQS. "define"
|
---|
| 3936 | $ THEN
|
---|
| 3937 | $ echo4 "Yes, it seems to work."
|
---|
| 3938 | $ ELSE
|
---|
| 3939 | $ echo4 "Nope, it didn't work."
|
---|
| 3940 | $ ENDIF
|
---|
| 3941 | $ ELSE
|
---|
| 3942 | $ echo4 "I'm unable to compile the test program, so I'll assume not."
|
---|
| 3943 | $ tmp = "undef"
|
---|
| 3944 | $ ENDIF
|
---|
| 3945 | $ ELSE
|
---|
| 3946 | $ echo4 "Nope, since you don't even have fcntl()."
|
---|
| 3947 | $ ENDIF
|
---|
| 3948 | $ d_fcntl_can_lock = tmp
|
---|
| 3949 | $!
|
---|
| 3950 | $! Check for memchr
|
---|
| 3951 | $!
|
---|
| 3952 | $ OS
|
---|
| 3953 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3954 | $ WS "#include <stdlib.h>"
|
---|
| 3955 | $ WS "#endif"
|
---|
| 3956 | $ WS "#include <string.h>"
|
---|
| 3957 | $ WS "int main()"
|
---|
| 3958 | $ WS "{"
|
---|
| 3959 | $ WS "char * place;"
|
---|
| 3960 | $ WS "place = memchr(""foo"", 47, 3);"
|
---|
| 3961 | $ WS "exit(0);"
|
---|
| 3962 | $ WS "}"
|
---|
| 3963 | $ CS
|
---|
| 3964 | $ tmp = "memchr"
|
---|
| 3965 | $ GOSUB inlibc
|
---|
| 3966 | $ d_memchr = tmp
|
---|
| 3967 | $!
|
---|
| 3968 | $! Check for strtoull
|
---|
| 3969 | $!
|
---|
| 3970 | $ OS
|
---|
| 3971 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3972 | $ WS "#include <stdlib.h>"
|
---|
| 3973 | $ WS "#endif"
|
---|
| 3974 | $ WS "#include <string.h>"
|
---|
| 3975 | $ WS "int main()"
|
---|
| 3976 | $ WS "{"
|
---|
| 3977 | $ WS "unsigned __int64 result;"
|
---|
| 3978 | $ WS "result = strtoull(""123123"", NULL, 10);"
|
---|
| 3979 | $ WS "exit(0);"
|
---|
| 3980 | $ WS "}"
|
---|
| 3981 | $ CS
|
---|
| 3982 | $ tmp = "strtoull"
|
---|
| 3983 | $ GOSUB inlibc
|
---|
| 3984 | $ d_strtoull = tmp
|
---|
| 3985 | $!
|
---|
| 3986 | $! Check for strtouq
|
---|
| 3987 | $!
|
---|
| 3988 | $ OS
|
---|
| 3989 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 3990 | $ WS "#include <stdlib.h>"
|
---|
| 3991 | $ WS "#endif"
|
---|
| 3992 | $ WS "#include <string.h>"
|
---|
| 3993 | $ WS "int main()"
|
---|
| 3994 | $ WS "{"
|
---|
| 3995 | $ WS "unsigned __int64 result;"
|
---|
| 3996 | $ WS "result = strtouq(""123123"", NULL, 10);"
|
---|
| 3997 | $ WS "exit(0);"
|
---|
| 3998 | $ WS "}"
|
---|
| 3999 | $ CS
|
---|
| 4000 | $ tmp = "strtouq"
|
---|
| 4001 | $ GOSUB inlibc
|
---|
| 4002 | $ d_strtouq = tmp
|
---|
| 4003 | $!
|
---|
| 4004 | $! Check for strtoll
|
---|
| 4005 | $!
|
---|
| 4006 | $ OS
|
---|
| 4007 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4008 | $ WS "#include <stdlib.h>"
|
---|
| 4009 | $ WS "#endif"
|
---|
| 4010 | $ WS "#include <string.h>"
|
---|
| 4011 | $ WS "int main()"
|
---|
| 4012 | $ WS "{"
|
---|
| 4013 | $ WS "__int64 result;"
|
---|
| 4014 | $ WS "result = strtoll(""123123"", NULL, 10);"
|
---|
| 4015 | $ WS "exit(0);"
|
---|
| 4016 | $ WS "}"
|
---|
| 4017 | $ CS
|
---|
| 4018 | $ tmp = "strtoll"
|
---|
| 4019 | $ GOSUB inlibc
|
---|
| 4020 | $ d_strtoll = tmp
|
---|
| 4021 | $!
|
---|
| 4022 | $! Check for strtoq
|
---|
| 4023 | $!
|
---|
| 4024 | $ OS
|
---|
| 4025 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4026 | $ WS "#include <stdlib.h>"
|
---|
| 4027 | $ WS "#endif"
|
---|
| 4028 | $ WS "#include <string.h>"
|
---|
| 4029 | $ WS "int main()"
|
---|
| 4030 | $ WS "{"
|
---|
| 4031 | $ WS "__int64 result;"
|
---|
| 4032 | $ WS "result = strtoq(""123123"", NULL, 10);"
|
---|
| 4033 | $ WS "exit(0);"
|
---|
| 4034 | $ WS "}"
|
---|
| 4035 | $ CS
|
---|
| 4036 | $ tmp = "strtoq"
|
---|
| 4037 | $ GOSUB inlibc
|
---|
| 4038 | $ d_strtoq = tmp
|
---|
| 4039 | $!
|
---|
| 4040 | $! Check for strtold
|
---|
| 4041 | $!
|
---|
| 4042 | $ OS
|
---|
| 4043 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4044 | $ WS "#include <stdlib.h>"
|
---|
| 4045 | $ WS "#endif"
|
---|
| 4046 | $ WS "#include <string.h>"
|
---|
| 4047 | $ WS "int main()"
|
---|
| 4048 | $ WS "{"
|
---|
| 4049 | $ WS "long double result;"
|
---|
| 4050 | $ WS "result = strtold(""123123"", NULL, 10);"
|
---|
| 4051 | $ WS "exit(0);"
|
---|
| 4052 | $ WS "}"
|
---|
| 4053 | $ CS
|
---|
| 4054 | $ tmp = "strtold"
|
---|
| 4055 | $ GOSUB inlibc
|
---|
| 4056 | $ d_strtold = tmp
|
---|
| 4057 | $!
|
---|
| 4058 | $! Check for atoll
|
---|
| 4059 | $!
|
---|
| 4060 | $ OS
|
---|
| 4061 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4062 | $ WS "#include <stdlib.h>"
|
---|
| 4063 | $ WS "#endif"
|
---|
| 4064 | $ WS "#include <string.h>"
|
---|
| 4065 | $ WS "int main()"
|
---|
| 4066 | $ WS "{"
|
---|
| 4067 | $ WS " __int64 result;"
|
---|
| 4068 | $ WS "result = atoll(""123123"");"
|
---|
| 4069 | $ WS "exit(0);"
|
---|
| 4070 | $ WS "}"
|
---|
| 4071 | $ CS
|
---|
| 4072 | $ tmp = "atoll"
|
---|
| 4073 | $ GOSUB inlibc
|
---|
| 4074 | $ d_atoll = tmp
|
---|
| 4075 | $!
|
---|
| 4076 | $! Check for atolf
|
---|
| 4077 | $!
|
---|
| 4078 | $ OS
|
---|
| 4079 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4080 | $ WS "#include <stdlib.h>"
|
---|
| 4081 | $ WS "#endif"
|
---|
| 4082 | $ WS "#include <string.h>"
|
---|
| 4083 | $ WS "int main()"
|
---|
| 4084 | $ WS "{"
|
---|
| 4085 | $ WS "long double"
|
---|
| 4086 | $ WS "result = atolf(""123123"");"
|
---|
| 4087 | $ WS "exit(0);"
|
---|
| 4088 | $ WS "}"
|
---|
| 4089 | $ CS
|
---|
| 4090 | $ tmp = "atolf"
|
---|
| 4091 | $ GOSUB inlibc
|
---|
| 4092 | $ d_atolf = tmp
|
---|
| 4093 | $!
|
---|
| 4094 | $! Check for access
|
---|
| 4095 | $!
|
---|
| 4096 | $ OS
|
---|
| 4097 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4098 | $ WS "#include <stdlib.h>"
|
---|
| 4099 | $ WS "#endif"
|
---|
| 4100 | $ WS "#include <stdio.h>"
|
---|
| 4101 | $ WS "int main()"
|
---|
| 4102 | $ WS "{"
|
---|
| 4103 | $ WS "access(""foo"", F_OK);"
|
---|
| 4104 | $ WS "exit(0);"
|
---|
| 4105 | $ WS "}"
|
---|
| 4106 | $ CS
|
---|
| 4107 | $ tmp = "acess"
|
---|
| 4108 | $ GOSUB inlibc
|
---|
| 4109 | $ d_access = tmp
|
---|
| 4110 | $!
|
---|
| 4111 | $! Check for bzero
|
---|
| 4112 | $!
|
---|
| 4113 | $ OS
|
---|
| 4114 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4115 | $ WS "#include <stdlib.h>"
|
---|
| 4116 | $ WS "#endif"
|
---|
| 4117 | $ WS "#include <stdio.h>"
|
---|
| 4118 | $ WS "#include <strings.h>"
|
---|
| 4119 | $ WS "int main()"
|
---|
| 4120 | $ WS "{"
|
---|
| 4121 | $ WS "char foo[10];"
|
---|
| 4122 | $ WS "bzero(foo, 10);"
|
---|
| 4123 | $ WS "exit(0);"
|
---|
| 4124 | $ WS "}"
|
---|
| 4125 | $ CS
|
---|
| 4126 | $ tmp = "bzero"
|
---|
| 4127 | $ GOSUB inlibc
|
---|
| 4128 | $ d_bzero = tmp
|
---|
| 4129 | $!
|
---|
| 4130 | $! Check for bcopy
|
---|
| 4131 | $!
|
---|
| 4132 | $ OS
|
---|
| 4133 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4134 | $ WS "#include <stdlib.h>"
|
---|
| 4135 | $ WS "#endif"
|
---|
| 4136 | $ WS "#include <stdio.h>"
|
---|
| 4137 | $ WS "#include <strings.h>"
|
---|
| 4138 | $ WS "int main()"
|
---|
| 4139 | $ WS "{"
|
---|
| 4140 | $ WS "char foo[10], bar[10];"
|
---|
| 4141 | $ WS "bcopy(""foo"", bar, 3);"
|
---|
| 4142 | $ WS "exit(0);"
|
---|
| 4143 | $ WS "}"
|
---|
| 4144 | $ CS
|
---|
| 4145 | $ tmp = "bcopy"
|
---|
| 4146 | $ GOSUB inlibc
|
---|
| 4147 | $ d_bcopy = tmp
|
---|
| 4148 | $!
|
---|
| 4149 | $! Check for mkstemp
|
---|
| 4150 | $!
|
---|
| 4151 | $ OS
|
---|
| 4152 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4153 | $ WS "#include <stdlib.h>"
|
---|
| 4154 | $ WS "#endif"
|
---|
| 4155 | $ WS "#include <stdio.h>"
|
---|
| 4156 | $ WS "int main()"
|
---|
| 4157 | $ WS "{"
|
---|
| 4158 | $ WS "mkstemp(""foo"");"
|
---|
| 4159 | $ WS "exit(0);"
|
---|
| 4160 | $ WS "}"
|
---|
| 4161 | $ CS
|
---|
| 4162 | $ tmp = "mkstemp"
|
---|
| 4163 | $ GOSUB inlibc
|
---|
| 4164 | $ d_mkstemp = tmp
|
---|
| 4165 | $!
|
---|
| 4166 | $! Check for mkstemps
|
---|
| 4167 | $!
|
---|
| 4168 | $ OS
|
---|
| 4169 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4170 | $ WS "#include <stdlib.h>"
|
---|
| 4171 | $ WS "#endif"
|
---|
| 4172 | $ WS "#include <stdio.h>"
|
---|
| 4173 | $ WS "int main()"
|
---|
| 4174 | $ WS "{"
|
---|
| 4175 | $ WS "mkstemps(""foo"", 1);"
|
---|
| 4176 | $ WS "exit(0);"
|
---|
| 4177 | $ WS "}"
|
---|
| 4178 | $ CS
|
---|
| 4179 | $ tmp = "mkstemps"
|
---|
| 4180 | $ GOSUB inlibc
|
---|
| 4181 | $ d_mkstemps = tmp
|
---|
| 4182 | $!
|
---|
| 4183 | $! Check for mkdtemp
|
---|
| 4184 | $!
|
---|
| 4185 | $ OS
|
---|
| 4186 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4187 | $ WS "#include <stdlib.h>"
|
---|
| 4188 | $ WS "#endif"
|
---|
| 4189 | $ WS "#include <stdio.h>"
|
---|
| 4190 | $ WS "int main()"
|
---|
| 4191 | $ WS "{"
|
---|
| 4192 | $ WS "mkdtemp(""foo"");"
|
---|
| 4193 | $ WS "exit(0);"
|
---|
| 4194 | $ WS "}"
|
---|
| 4195 | $ CS
|
---|
| 4196 | $ tmp = "mkdtemp"
|
---|
| 4197 | $ GOSUB inlibc
|
---|
| 4198 | $ d_mkdtemp = tmp
|
---|
| 4199 | $!
|
---|
| 4200 | $! Check for poll
|
---|
| 4201 | $!
|
---|
| 4202 | $ if i_poll .eqs. "define"
|
---|
| 4203 | $ then
|
---|
| 4204 | $ OS
|
---|
| 4205 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4206 | $ WS "#include <stdlib.h>"
|
---|
| 4207 | $ WS "#endif"
|
---|
| 4208 | $ WS "#include <poll.h>"
|
---|
| 4209 | $ WS "int main()"
|
---|
| 4210 | $ WS "{"
|
---|
| 4211 | $ WS "struct pollfd pfd;"
|
---|
| 4212 | $ WS "int count=poll(&pfd,1,0);"
|
---|
| 4213 | $ WS "exit(0);"
|
---|
| 4214 | $ WS "}"
|
---|
| 4215 | $ CS
|
---|
| 4216 | $ tmp = "poll"
|
---|
| 4217 | $ GOSUB inlibc
|
---|
| 4218 | $ d_poll = tmp
|
---|
| 4219 | $ else
|
---|
| 4220 | $ d_poll = "undef"
|
---|
| 4221 | $ endif
|
---|
| 4222 | $!
|
---|
| 4223 | $! Check for setvbuf
|
---|
| 4224 | $!
|
---|
| 4225 | $ OS
|
---|
| 4226 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4227 | $ WS "#include <stdlib.h>"
|
---|
| 4228 | $ WS "#endif"
|
---|
| 4229 | $ WS "#include <stdio.h>"
|
---|
| 4230 | $ WS "int main()"
|
---|
| 4231 | $ WS "{"
|
---|
| 4232 | $ WS "FILE *foo;"
|
---|
| 4233 | $ WS "char Buffer[99];"
|
---|
| 4234 | $ WS "foo = fopen(""foo"", ""r"");"
|
---|
| 4235 | $ WS "setvbuf(foo, Buffer, 0, 0);"
|
---|
| 4236 | $ WS "exit(0);"
|
---|
| 4237 | $ WS "}"
|
---|
| 4238 | $ CS
|
---|
| 4239 | $ tmp = "setvbuf"
|
---|
| 4240 | $ GOSUB inlibc
|
---|
| 4241 | $ d_setvbuf = tmp
|
---|
| 4242 | $!
|
---|
| 4243 | $! see if sfio.h is available
|
---|
| 4244 | $! see if sfio library is available
|
---|
| 4245 | $! Ok, but do we want to use it.
|
---|
| 4246 | $! IF F$TYPE(usesfio) .EQS. "" THEN usesfio = "undef"
|
---|
| 4247 | $! IF val .EQS. "define"
|
---|
| 4248 | $! THEN
|
---|
| 4249 | $! IF usesfio .EQS. "define"
|
---|
| 4250 | $! THEN dflt = "y"
|
---|
| 4251 | $! ELSE dflt = "n"
|
---|
| 4252 | $! ENDIF
|
---|
| 4253 | $! echo "''package' can use the sfio library, but it is experimental."
|
---|
| 4254 | $! IF useperlio .EQS. "undef"
|
---|
| 4255 | $! THEN
|
---|
| 4256 | $! echo "For sfio also the PerlIO abstraction layer is needed."
|
---|
| 4257 | $! echo "Earlier you said you would not want that."
|
---|
| 4258 | $! ENDIF
|
---|
| 4259 | $! rp="You seem to have sfio available, do you want to try using it? [''dflt'] "
|
---|
| 4260 | $! GOSUB myread
|
---|
| 4261 | $! IF ans .EQS. "" THEN ans = dflt
|
---|
| 4262 | $! IF ans
|
---|
| 4263 | $! THEN
|
---|
| 4264 | $! echo "Ok, turning on both sfio and PerlIO, then."
|
---|
| 4265 | $! useperlio="define"
|
---|
| 4266 | $! val="define"
|
---|
| 4267 | $! ELSE
|
---|
| 4268 | $! echo "Ok, avoiding sfio this time. I'll use stdio instead."
|
---|
| 4269 | $! val="undef"
|
---|
| 4270 | $! ENDIF
|
---|
| 4271 | $! ELSE
|
---|
| 4272 | $! IF usesfio .EQS. "define"
|
---|
| 4273 | $! THEN
|
---|
| 4274 | $! echo4 "Sorry, cannot find sfio on this machine."
|
---|
| 4275 | $! echo4 "Ignoring your setting of usesfio=''usesfio'."
|
---|
| 4276 | $! val="undef"
|
---|
| 4277 | $! ENDIF
|
---|
| 4278 | $! ENDIF
|
---|
| 4279 | $!
|
---|
| 4280 | $! Check for setenv
|
---|
| 4281 | $!
|
---|
| 4282 | $ OS
|
---|
| 4283 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4284 | $ WS "#include <stdlib.h>"
|
---|
| 4285 | $ WS "#endif"
|
---|
| 4286 | $ WS "#include <stdio.h>"
|
---|
| 4287 | $ WS "int main()"
|
---|
| 4288 | $ WS "{"
|
---|
| 4289 | $ WS "setenv(""FOO"", ""BAR"", 0);"
|
---|
| 4290 | $ WS "exit(0);"
|
---|
| 4291 | $ WS "}"
|
---|
| 4292 | $ CS
|
---|
| 4293 | $ tmp = "setenv"
|
---|
| 4294 | $ GOSUB inlibc
|
---|
| 4295 | $ d_setenv = tmp
|
---|
| 4296 | $!
|
---|
| 4297 | $! Check for setproctitle
|
---|
| 4298 | $!
|
---|
| 4299 | $ OS
|
---|
| 4300 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4301 | $ WS "#include <stdlib.h>"
|
---|
| 4302 | $ WS "#endif"
|
---|
| 4303 | $ WS "#include <stdio.h>"
|
---|
| 4304 | $ WS "int main()"
|
---|
| 4305 | $ WS "{"
|
---|
| 4306 | $ WS "setproctitle(""%s"", ""FOO"");"
|
---|
| 4307 | $ WS "exit(0);"
|
---|
| 4308 | $ WS "}"
|
---|
| 4309 | $ CS
|
---|
| 4310 | $ tmp = "setproctitle"
|
---|
| 4311 | $ GOSUB inlibc
|
---|
| 4312 | $ d_setproctitle = tmp
|
---|
| 4313 | $!
|
---|
| 4314 | $! Check for <netinet/in.h>
|
---|
| 4315 | $!
|
---|
| 4316 | $ IF Has_Dec_C_Sockets .or. Has_Socketshr
|
---|
| 4317 | $ THEN
|
---|
| 4318 | $ tmp = "netinet/in.h"
|
---|
| 4319 | $ GOSUB inhdr
|
---|
| 4320 | $ i_niin = tmp
|
---|
| 4321 | $ ELSE
|
---|
| 4322 | $ i_niin="undef"
|
---|
| 4323 | $ ENDIF
|
---|
| 4324 | $!
|
---|
| 4325 | $! Check for <netinet/tcp.h>
|
---|
| 4326 | $!
|
---|
| 4327 | $ IF Has_Dec_C_Sockets .or. Has_Socketshr
|
---|
| 4328 | $ THEN
|
---|
| 4329 | $ tmp = "netinet/tcp.h"
|
---|
| 4330 | $ GOSUB inhdr
|
---|
| 4331 | $ i_netinettcp = tmp
|
---|
| 4332 | $ ELSE
|
---|
| 4333 | $ i_netinettcp="undef"
|
---|
| 4334 | $ ENDIF
|
---|
| 4335 | $!
|
---|
| 4336 | $! Check for endhostent
|
---|
| 4337 | $!
|
---|
| 4338 | $ IF Has_Dec_C_Sockets .or. Has_Socketshr
|
---|
| 4339 | $ THEN
|
---|
| 4340 | $ OS
|
---|
| 4341 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4342 | $ WS "#include <stdlib.h>"
|
---|
| 4343 | $ WS "#endif"
|
---|
| 4344 | $ WS "#include <stdio.h>"
|
---|
| 4345 | $ IF Has_Socketshr
|
---|
| 4346 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4347 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4348 | $ ENDIF
|
---|
| 4349 | $ WS "int main()"
|
---|
| 4350 | $ WS "{"
|
---|
| 4351 | $ WS "endhostent();"
|
---|
| 4352 | $ WS "exit(0);"
|
---|
| 4353 | $ WS "}"
|
---|
| 4354 | $ CS
|
---|
| 4355 | $ tmp = "endhostent"
|
---|
| 4356 | $ GOSUB inlibc
|
---|
| 4357 | $ d_endhent = tmp
|
---|
| 4358 | $ ELSE
|
---|
| 4359 | $ d_endhent="undef"
|
---|
| 4360 | $ ENDIF
|
---|
| 4361 | $!
|
---|
| 4362 | $! Check for endnetent
|
---|
| 4363 | $!
|
---|
| 4364 | $ IF Has_Dec_C_Sockets .or. Has_Socketshr
|
---|
| 4365 | $ THEN
|
---|
| 4366 | $ OS
|
---|
| 4367 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4368 | $ WS "#include <stdlib.h>"
|
---|
| 4369 | $ WS "#endif"
|
---|
| 4370 | $ WS "#include <stdio.h>"
|
---|
| 4371 | $ IF Has_Socketshr
|
---|
| 4372 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4373 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4374 | $ ENDIF
|
---|
| 4375 | $ WS "int main()"
|
---|
| 4376 | $ WS "{"
|
---|
| 4377 | $ WS "endnetent();"
|
---|
| 4378 | $ WS "exit(0);"
|
---|
| 4379 | $ WS "}"
|
---|
| 4380 | $ CS
|
---|
| 4381 | $ tmp = "endnetent"
|
---|
| 4382 | $ GOSUB inlibc
|
---|
| 4383 | $ d_endnent = tmp
|
---|
| 4384 | $ ELSE
|
---|
| 4385 | $ d_endnent="undef"
|
---|
| 4386 | $ ENDIF
|
---|
| 4387 | $!
|
---|
| 4388 | $! Check for endprotoent
|
---|
| 4389 | $!
|
---|
| 4390 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 4391 | $ THEN
|
---|
| 4392 | $ OS
|
---|
| 4393 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4394 | $ WS "#include <stdlib.h>"
|
---|
| 4395 | $ WS "#endif"
|
---|
| 4396 | $ WS "#include <stdio.h>"
|
---|
| 4397 | $ IF Has_Socketshr
|
---|
| 4398 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4399 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4400 | $ ENDIF
|
---|
| 4401 | $ WS "int main()"
|
---|
| 4402 | $ WS "{"
|
---|
| 4403 | $ WS "endprotoent();"
|
---|
| 4404 | $ WS "exit(0);"
|
---|
| 4405 | $ WS "}"
|
---|
| 4406 | $ CS
|
---|
| 4407 | $ tmp = "endprotoent"
|
---|
| 4408 | $ GOSUB inlibc
|
---|
| 4409 | $ d_endpent = tmp
|
---|
| 4410 | $ ELSE
|
---|
| 4411 | $ d_endpent="undef"
|
---|
| 4412 | $ ENDIF
|
---|
| 4413 | $!
|
---|
| 4414 | $! Check for endservent
|
---|
| 4415 | $!
|
---|
| 4416 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 4417 | $ THEN
|
---|
| 4418 | $ OS
|
---|
| 4419 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4420 | $ WS "#include <stdlib.h>"
|
---|
| 4421 | $ WS "#endif"
|
---|
| 4422 | $ WS "#include <stdio.h>"
|
---|
| 4423 | $ IF Has_Socketshr
|
---|
| 4424 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4425 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4426 | $ ENDIF
|
---|
| 4427 | $ WS "int main()"
|
---|
| 4428 | $ WS "{"
|
---|
| 4429 | $ WS "endservent();"
|
---|
| 4430 | $ WS "exit(0);"
|
---|
| 4431 | $ WS "}"
|
---|
| 4432 | $ CS
|
---|
| 4433 | $ tmp = "endservent"
|
---|
| 4434 | $ GOSUB inlibc
|
---|
| 4435 | $ d_endsent = tmp
|
---|
| 4436 | $ ELSE
|
---|
| 4437 | $ d_endsent="undef"
|
---|
| 4438 | $ ENDIF
|
---|
| 4439 | $!
|
---|
| 4440 | $! Check for sethostent
|
---|
| 4441 | $!
|
---|
| 4442 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 4443 | $ THEN
|
---|
| 4444 | $ OS
|
---|
| 4445 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4446 | $ WS "#include <stdlib.h>"
|
---|
| 4447 | $ WS "#endif"
|
---|
| 4448 | $ WS "#include <stdio.h>"
|
---|
| 4449 | $ IF Has_Socketshr
|
---|
| 4450 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4451 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4452 | $ ENDIF
|
---|
| 4453 | $ WS "int main()"
|
---|
| 4454 | $ WS "{"
|
---|
| 4455 | $ WS "sethostent(1);"
|
---|
| 4456 | $ WS "exit(0);"
|
---|
| 4457 | $ WS "}"
|
---|
| 4458 | $ CS
|
---|
| 4459 | $ tmp = "sethostent"
|
---|
| 4460 | $ GOSUB inlibc
|
---|
| 4461 | $ d_sethent = tmp
|
---|
| 4462 | $ ELSE
|
---|
| 4463 | $ d_sethent="undef"
|
---|
| 4464 | $ ENDIF
|
---|
| 4465 | $!
|
---|
| 4466 | $! Check for setnetent
|
---|
| 4467 | $!
|
---|
| 4468 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 4469 | $ THEN
|
---|
| 4470 | $ OS
|
---|
| 4471 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4472 | $ WS "#include <stdlib.h>"
|
---|
| 4473 | $ WS "#endif"
|
---|
| 4474 | $ WS "#include <stdio.h>"
|
---|
| 4475 | $ IF Has_Socketshr
|
---|
| 4476 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4477 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4478 | $ ENDIF
|
---|
| 4479 | $ WS "int main()"
|
---|
| 4480 | $ WS "{"
|
---|
| 4481 | $ WS "setnetent(1);"
|
---|
| 4482 | $ WS "exit(0);"
|
---|
| 4483 | $ WS "}"
|
---|
| 4484 | $ CS
|
---|
| 4485 | $ tmp = "setnetent"
|
---|
| 4486 | $ GOSUB inlibc
|
---|
| 4487 | $ d_setnent = tmp
|
---|
| 4488 | $ ELSE
|
---|
| 4489 | $ d_setnent="undef"
|
---|
| 4490 | $ ENDIF
|
---|
| 4491 | $!
|
---|
| 4492 | $! Check for setprotoent
|
---|
| 4493 | $!
|
---|
| 4494 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 4495 | $ THEN
|
---|
| 4496 | $ OS
|
---|
| 4497 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4498 | $ WS "#include <stdlib.h>"
|
---|
| 4499 | $ WS "#endif"
|
---|
| 4500 | $ WS "#include <stdio.h>"
|
---|
| 4501 | $ IF Has_Socketshr
|
---|
| 4502 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4503 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4504 | $ ENDIF
|
---|
| 4505 | $ WS "int main()"
|
---|
| 4506 | $ WS "{"
|
---|
| 4507 | $ WS "setprotoent(1);"
|
---|
| 4508 | $ WS "exit(0);"
|
---|
| 4509 | $ WS "}"
|
---|
| 4510 | $ CS
|
---|
| 4511 | $ tmp = "setprotoent"
|
---|
| 4512 | $ GOSUB inlibc
|
---|
| 4513 | $ d_setpent = tmp
|
---|
| 4514 | $ ELSE
|
---|
| 4515 | $ d_setpent="undef"
|
---|
| 4516 | $ ENDIF
|
---|
| 4517 | $!
|
---|
| 4518 | $! Check for setservent
|
---|
| 4519 | $!
|
---|
| 4520 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 4521 | $ THEN
|
---|
| 4522 | $ OS
|
---|
| 4523 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4524 | $ WS "#include <stdlib.h>"
|
---|
| 4525 | $ WS "#endif"
|
---|
| 4526 | $ WS "#include <stdio.h>"
|
---|
| 4527 | $ IF Has_Socketshr
|
---|
| 4528 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4529 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4530 | $ ENDIF
|
---|
| 4531 | $ WS "int main()"
|
---|
| 4532 | $ WS "{"
|
---|
| 4533 | $ WS "setservent(1);"
|
---|
| 4534 | $ WS "exit(0);"
|
---|
| 4535 | $ WS "}"
|
---|
| 4536 | $ CS
|
---|
| 4537 | $ tmp = "setservent"
|
---|
| 4538 | $ GOSUB inlibc
|
---|
| 4539 | $ d_setsent = tmp
|
---|
| 4540 | $ ELSE
|
---|
| 4541 | $ d_setsent="undef"
|
---|
| 4542 | $ ENDIF
|
---|
| 4543 | $!
|
---|
| 4544 | $! Check for gethostent
|
---|
| 4545 | $!
|
---|
| 4546 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 4547 | $ THEN
|
---|
| 4548 | $ OS
|
---|
| 4549 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4550 | $ WS "#include <stdlib.h>"
|
---|
| 4551 | $ WS "#endif"
|
---|
| 4552 | $ WS "#include <stdio.h>"
|
---|
| 4553 | $ IF Has_Socketshr
|
---|
| 4554 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4555 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4556 | $ ENDIF
|
---|
| 4557 | $ WS "int main()"
|
---|
| 4558 | $ WS "{"
|
---|
| 4559 | $ WS "gethostent();"
|
---|
| 4560 | $ WS "exit(0);"
|
---|
| 4561 | $ WS "}"
|
---|
| 4562 | $ CS
|
---|
| 4563 | $ tmp = "gethostent"
|
---|
| 4564 | $ GOSUB inlibc
|
---|
| 4565 | $ d_gethent = tmp
|
---|
| 4566 | $ ELSE
|
---|
| 4567 | $ d_gethent="undef"
|
---|
| 4568 | $ ENDIF
|
---|
| 4569 | $!
|
---|
| 4570 | $! Check for getnetent
|
---|
| 4571 | $!
|
---|
| 4572 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 4573 | $ THEN
|
---|
| 4574 | $ OS
|
---|
| 4575 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4576 | $ WS "#include <stdlib.h>"
|
---|
| 4577 | $ WS "#endif"
|
---|
| 4578 | $ WS "#include <stdio.h>"
|
---|
| 4579 | $ IF Has_Socketshr
|
---|
| 4580 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4581 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4582 | $ ENDIF
|
---|
| 4583 | $ WS "int main()"
|
---|
| 4584 | $ WS "{"
|
---|
| 4585 | $ WS "getnetent();"
|
---|
| 4586 | $ WS "exit(0);"
|
---|
| 4587 | $ WS "}"
|
---|
| 4588 | $ CS
|
---|
| 4589 | $ tmp = "getnetent"
|
---|
| 4590 | $ GOSUB inlibc
|
---|
| 4591 | $ d_getnent = tmp
|
---|
| 4592 | $ ELSE
|
---|
| 4593 | $ d_getnent="undef"
|
---|
| 4594 | $ ENDIF
|
---|
| 4595 | $!
|
---|
| 4596 | $! Check for getprotoent
|
---|
| 4597 | $!
|
---|
| 4598 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 4599 | $ THEN
|
---|
| 4600 | $ OS
|
---|
| 4601 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4602 | $ WS "#include <stdlib.h>"
|
---|
| 4603 | $ WS "#endif"
|
---|
| 4604 | $ WS "#include <stdio.h>"
|
---|
| 4605 | $ IF Has_Socketshr
|
---|
| 4606 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4607 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4608 | $ ENDIF
|
---|
| 4609 | $ WS "int main()"
|
---|
| 4610 | $ WS "{"
|
---|
| 4611 | $ WS "getprotoent();"
|
---|
| 4612 | $ WS "exit(0);"
|
---|
| 4613 | $ WS "}"
|
---|
| 4614 | $ CS
|
---|
| 4615 | $ tmp = "getprotoent"
|
---|
| 4616 | $ GOSUB inlibc
|
---|
| 4617 | $ d_getpent = tmp
|
---|
| 4618 | $ ELSE
|
---|
| 4619 | $ d_getpent="undef"
|
---|
| 4620 | $ ENDIF
|
---|
| 4621 | $!
|
---|
| 4622 | $! Check for getservent
|
---|
| 4623 | $!
|
---|
| 4624 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 4625 | $ THEN
|
---|
| 4626 | $ OS
|
---|
| 4627 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4628 | $ WS "#include <stdlib.h>"
|
---|
| 4629 | $ WS "#endif"
|
---|
| 4630 | $ WS "#include <stdio.h>"
|
---|
| 4631 | $ IF Has_Socketshr
|
---|
| 4632 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4633 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4634 | $ ENDIF
|
---|
| 4635 | $ WS "int main()"
|
---|
| 4636 | $ WS "{"
|
---|
| 4637 | $ WS "getservent();"
|
---|
| 4638 | $ WS "exit(0);"
|
---|
| 4639 | $ WS "}"
|
---|
| 4640 | $ CS
|
---|
| 4641 | $ tmp = "getservent"
|
---|
| 4642 | $ GOSUB inlibc
|
---|
| 4643 | $ d_getsent = tmp
|
---|
| 4644 | $ ELSE
|
---|
| 4645 | $ d_getsent="undef"
|
---|
| 4646 | $ ENDIF
|
---|
| 4647 | $!
|
---|
| 4648 | $! Check for nanosleep
|
---|
| 4649 | $!
|
---|
| 4650 | $ OS
|
---|
| 4651 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4652 | $ WS "#include <stdlib.h>"
|
---|
| 4653 | $ WS "#endif"
|
---|
| 4654 | $ WS "#include <time.h>"
|
---|
| 4655 | $ WS "int main()"
|
---|
| 4656 | $ WS "{"
|
---|
| 4657 | $ WS "int asleep = nanosleep(NULL,NULL);"
|
---|
| 4658 | $ WS "exit(0);"
|
---|
| 4659 | $ WS "}"
|
---|
| 4660 | $ CS
|
---|
| 4661 | $ tmp = "nanosleep"
|
---|
| 4662 | $ GOSUB inlibc
|
---|
| 4663 | $ d_nanosleep = tmp
|
---|
| 4664 | $!
|
---|
| 4665 | $! Check for socklen_t
|
---|
| 4666 | $!
|
---|
| 4667 | $ IF Has_Dec_C_Sockets .OR. Has_Socketshr
|
---|
| 4668 | $ THEN
|
---|
| 4669 | $ echo4 "Checking to see if you have socklen_t..."
|
---|
| 4670 | $ OS
|
---|
| 4671 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4672 | $ WS "#include <stdlib.h>"
|
---|
| 4673 | $ WS "#endif"
|
---|
| 4674 | $ WS "#include <stdio.h>"
|
---|
| 4675 | $ IF Has_Socketshr
|
---|
| 4676 | $ THEN WS "#include <socketshr.h>"
|
---|
| 4677 | $ ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
|
---|
| 4678 | $ ENDIF
|
---|
| 4679 | $ WS "int main()"
|
---|
| 4680 | $ WS "{"
|
---|
| 4681 | $ WS "socklen_t x = 16;"
|
---|
| 4682 | $ WS "exit(0);"
|
---|
| 4683 | $ WS "}"
|
---|
| 4684 | $ CS
|
---|
| 4685 | $ GOSUB link_ok
|
---|
| 4686 | $ IF compile_status .EQ. good_compile .AND. link_status .EQ. good_link
|
---|
| 4687 | $ THEN
|
---|
| 4688 | $ d_socklen_t="define"
|
---|
| 4689 | $ echo "You have socklen_t."
|
---|
| 4690 | $ ELSE
|
---|
| 4691 | $ d_socklen_t="undef"
|
---|
| 4692 | $ echo "You do not have socklen_t."
|
---|
| 4693 | $ ENDIF
|
---|
| 4694 | $ ELSE
|
---|
| 4695 | $ d_socklen_t="undef"
|
---|
| 4696 | $ ENDIF
|
---|
| 4697 | $!
|
---|
| 4698 | $! Check for pthread_yield
|
---|
| 4699 | $!
|
---|
| 4700 | $ IF use_threads
|
---|
| 4701 | $ THEN
|
---|
| 4702 | $ OS
|
---|
| 4703 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4704 | $ WS "#include <stdlib.h>"
|
---|
| 4705 | $ WS "#endif"
|
---|
| 4706 | $ WS "#include <pthread.h>"
|
---|
| 4707 | $ WS "#include <stdio.h>"
|
---|
| 4708 | $ WS "int main()"
|
---|
| 4709 | $ WS "{"
|
---|
| 4710 | $ WS "pthread_yield();"
|
---|
| 4711 | $ WS "exit(0);"
|
---|
| 4712 | $ WS "}"
|
---|
| 4713 | $ CS
|
---|
| 4714 | $ tmp = "pthread_yield"
|
---|
| 4715 | $ GOSUB inlibc
|
---|
| 4716 | $ d_pthread_yield = tmp
|
---|
| 4717 | $ ELSE
|
---|
| 4718 | $ d_pthread_yield="undef"
|
---|
| 4719 | $ ENDIF
|
---|
| 4720 | $!
|
---|
| 4721 | $! Check for sched_yield
|
---|
| 4722 | $!
|
---|
| 4723 | $ IF use_threads
|
---|
| 4724 | $ THEN
|
---|
| 4725 | $ OS
|
---|
| 4726 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4727 | $ WS "#include <stdlib.h>"
|
---|
| 4728 | $ WS "#endif"
|
---|
| 4729 | $ WS "#include <pthread.h>"
|
---|
| 4730 | $ WS "#include <stdio.h>"
|
---|
| 4731 | $ WS "int main()"
|
---|
| 4732 | $ WS "{"
|
---|
| 4733 | $ WS "sched_yield();"
|
---|
| 4734 | $ WS "exit(0);"
|
---|
| 4735 | $ WS "}"
|
---|
| 4736 | $ CS
|
---|
| 4737 | $ tmp = "sched_yield"
|
---|
| 4738 | $ GOSUB inlibc
|
---|
| 4739 | $ d_sched_yield = tmp
|
---|
| 4740 | $ IF d_sched_yield .EQS. "define"
|
---|
| 4741 | $ THEN sched_yield = "sched_yield"
|
---|
| 4742 | $ ELSE sched_yield = " "
|
---|
| 4743 | $ ENDIF
|
---|
| 4744 | $ ELSE
|
---|
| 4745 | $ d_sched_yield="undef"
|
---|
| 4746 | $ sched_yield = " "
|
---|
| 4747 | $ ENDIF
|
---|
| 4748 | $!
|
---|
| 4749 | $! Check for pthread_attr_setscope and PTHREAD_SCOPE_SYSTEM.
|
---|
| 4750 | $! (The actual test is to be written.)
|
---|
| 4751 | $!
|
---|
| 4752 | $ d_pthread_attr_setscope="undef"
|
---|
| 4753 | $!
|
---|
| 4754 | $! Check for generic pointer size
|
---|
| 4755 | $!
|
---|
| 4756 | $ echo4 "Checking to see how big your pointers are..."
|
---|
| 4757 | $ OS
|
---|
| 4758 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4759 | $ WS "#include <stdlib.h>"
|
---|
| 4760 | $ WS "#endif"
|
---|
| 4761 | $ WS "#include <stdio.h>"
|
---|
| 4762 | $ WS "int main()"
|
---|
| 4763 | $ WS "{"
|
---|
| 4764 | $ WS "int foo;"
|
---|
| 4765 | $ WS "foo = sizeof(char *);"
|
---|
| 4766 | $ WS "printf(""%d\n"", foo);"
|
---|
| 4767 | $ WS "exit(0);"
|
---|
| 4768 | $ WS "}"
|
---|
| 4769 | $ CS
|
---|
| 4770 | $ tmp = "char *"
|
---|
| 4771 | $ GOSUB type_size_check
|
---|
| 4772 | $ ptrsize = tmp
|
---|
| 4773 | $ echo "Your pointers are ''ptrsize' bytes long."
|
---|
| 4774 | $!
|
---|
| 4775 | $! Check for size_t size
|
---|
| 4776 | $!
|
---|
| 4777 | $ tmp = "size_t"
|
---|
| 4778 | $ zzz = tmp
|
---|
| 4779 | $ echo4 "Checking the size of ''zzz'..."
|
---|
| 4780 | $ GOSUB type_size_check
|
---|
| 4781 | $ sizesize = tmp
|
---|
| 4782 | $ echo "Your ''zzz' size is ''sizesize' bytes."
|
---|
| 4783 | $!
|
---|
| 4784 | $! Check for _LARGEFILE capability.
|
---|
| 4785 | $!
|
---|
| 4786 | $ off_t_size = 4
|
---|
| 4787 | $ OS
|
---|
| 4788 | $ WS "#define _LARGEFILE"
|
---|
| 4789 | $ WS "#include <stdio.h>"
|
---|
| 4790 | $ WS "int main()"
|
---|
| 4791 | $ WS "{"
|
---|
| 4792 | $ WS "printf(""%d\n"", sizeof(off_t));"
|
---|
| 4793 | $ WS "return(0);"
|
---|
| 4794 | $ WS "}"
|
---|
| 4795 | $ CS
|
---|
| 4796 | $ GOSUB link_ok
|
---|
| 4797 | $ IF link_status .EQ. good_link
|
---|
| 4798 | $ THEN
|
---|
| 4799 | $ GOSUB just_mcr_it
|
---|
| 4800 | $ off_t_size = tmp
|
---|
| 4801 | $ ENDIF
|
---|
| 4802 | $ echo "Your off_t size is ''off_t_size' bytes when _LARGEFILE is defined."
|
---|
| 4803 | $ IF off_t_size .ne. 8 .AND. (uselargefiles .OR. uselargefiles .eqs. "define")
|
---|
| 4804 | $ THEN
|
---|
| 4805 | $ echo4 "You configured with -Duselargefiles but your CRTL does not support _LARGEFILE."
|
---|
| 4806 | $ echo4 "I'm disabling large file support."
|
---|
| 4807 | $ uselargefiles = "undef"
|
---|
| 4808 | $ ENDIF
|
---|
| 4809 | $!
|
---|
| 4810 | $! Tests for hard link, symbolic links, and 7.3 + CRTL features
|
---|
| 4811 | $!
|
---|
| 4812 | $ d_lchown = "undef"
|
---|
| 4813 | $ d_link = "undef"
|
---|
| 4814 | $ d_lstat = "undef"
|
---|
| 4815 | $ d_readlink = "undef"
|
---|
| 4816 | $ d_symlink = "undef"
|
---|
| 4817 | $ d_realpath = "undef"
|
---|
| 4818 | $ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE"))
|
---|
| 4819 | $!
|
---|
| 4820 | $! Hard link support has been present since 7.3-1 except for the
|
---|
| 4821 | $! easy to use DCL test to see if hardlinks are enabled on the build
|
---|
| 4822 | $! disk. That would require more work to test, and I am only testing
|
---|
| 4823 | $! this on 8.2, so that is why the 8.2 test.
|
---|
| 4824 | $!
|
---|
| 4825 | $ IF (tmp .GES. "8.2") .AND. (f$getsyi("HW_MODEL") .GE. 1024)
|
---|
| 4826 | $ THEN
|
---|
| 4827 | $ IF f$getdvi("SYS$DISK","HARDLINKS_SUPPORTED")
|
---|
| 4828 | $ THEN
|
---|
| 4829 | $ echo "I Found 64 bit OpenVMS 8.2 or later, and hard links enabled on build disk."
|
---|
| 4830 | $ echo "I will build with hard link support"
|
---|
| 4831 | $ d_link = "define"
|
---|
| 4832 | $ ELSE
|
---|
| 4833 | $ echo "I Found 64 bit OpenVMS 8.2 or later, and hard links disabled on build disk."
|
---|
| 4834 | $ echo "I will not build with hard link support."
|
---|
| 4835 | $ ENDIF
|
---|
| 4836 | $ ELSE
|
---|
| 4837 | $ echo4 "I can not dected if your CRTL and build disk support hard links."
|
---|
| 4838 | $ echo4 "I am disabling hard link support."
|
---|
| 4839 | $ ENDIF
|
---|
| 4840 | $!
|
---|
| 4841 | $ IF uselargefiles .OR. uselargefiles .eqs. "define"
|
---|
| 4842 | $ THEN
|
---|
| 4843 | $ IF (tmp .GES. "8.2") .AND. (f$getsyi("HW_MODEL") .GE. 1024)
|
---|
| 4844 | $ THEN
|
---|
| 4845 | $ echo4 -
|
---|
| 4846 | "Looking for the realpath() function to indicate symbolic link support..."
|
---|
| 4847 | $ OS
|
---|
| 4848 | $! WS "#include <stdlib.h>"
|
---|
| 4849 | $ WS "void exit(int foo);"
|
---|
| 4850 | $ WS "char *realpath(const char *file_name, char * resolved_name, ...);"
|
---|
| 4851 | $ WS "int main()"
|
---|
| 4852 | $ WS "{"
|
---|
| 4853 | $ WS "char result[255];"
|
---|
| 4854 | $ WS "realpath(""foo"",result);"
|
---|
| 4855 | $ WS "exit(0);"
|
---|
| 4856 | $ WS "}"
|
---|
| 4857 | $ CS
|
---|
| 4858 | $ GOSUB link_ok
|
---|
| 4859 | $ IF compile_status .EQ. good_compile .AND. link_status .EQ. good_link
|
---|
| 4860 | $ THEN
|
---|
| 4861 | $ echo -
|
---|
| 4862 | "Found realpath() which indicates symbolic link support is present."
|
---|
| 4863 | $ d_lchown = "define"
|
---|
| 4864 | $ d_lstat = "define"
|
---|
| 4865 | $ d_readlink = "define"
|
---|
| 4866 | $ d_symlink = "define"
|
---|
| 4867 | $! d_realpath = "define" ! Perl will not put it in the config.h file?
|
---|
| 4868 | $! Perl apparently does not use a built in realpath() on other platforms,
|
---|
| 4869 | $! but there is a severe performance penatly on OpenVMS to use the Perl
|
---|
| 4870 | $! script that implements a realpath(). The d_symlink symbol is used
|
---|
| 4871 | $! as a replacement for the d_realpath since they are related and both
|
---|
| 4872 | $! were activated by the CRTL at the same time.
|
---|
| 4873 | $!
|
---|
| 4874 | $ ELSE
|
---|
| 4875 | $ echo4 "Your system does not support symbolic links."
|
---|
| 4876 | $ echo4 "I am disabling symbolic link support."
|
---|
| 4877 | $ ENDIF
|
---|
| 4878 | $ ELSE
|
---|
| 4879 | $ echo4 "Your system does not support symbolic links."
|
---|
| 4880 | $ echo4 "I am disabling symbolic link support."
|
---|
| 4881 | $ ENDIF
|
---|
| 4882 | $ ELSE
|
---|
| 4883 | $ IF (tmp .GES. "8.2") .AND. (f$getsyi("HW_MODEL") .GE. 1024)
|
---|
| 4884 | $ THEN
|
---|
| 4885 | $ echo4 "-duselargefiles is required for symbolic link support."
|
---|
| 4886 | $ echo4 "You did not specify that, so I am disabling symbolic link support."
|
---|
| 4887 | $ ENDIF
|
---|
| 4888 | $ ENDIF
|
---|
| 4889 | $!
|
---|
| 4890 | $!
|
---|
| 4891 | $! Check for grp.h -- should be 7.3 and later, but test to be sure
|
---|
| 4892 | $!
|
---|
| 4893 | $ tmp = "grp.h"
|
---|
| 4894 | $ GOSUB inhdr
|
---|
| 4895 | $ i_grp = tmp
|
---|
| 4896 | $!
|
---|
| 4897 | $! VMS V7.3-2 powered options
|
---|
| 4898 | $! We know that it is only available for V7.3-2 and later on 64 bit platforms.
|
---|
| 4899 | $! Only implementing right now on 8.2 because that is what I am testing.
|
---|
| 4900 | $!
|
---|
| 4901 | $ d_getgrgid_r = "undef"
|
---|
| 4902 | $ getgrgid_r_proto = "0"
|
---|
| 4903 | $ d_getgrnam_r = "undef"
|
---|
| 4904 | $ getgrnam_r_proto = "0"
|
---|
| 4905 | $ d_getpgid = "undef"
|
---|
| 4906 | $ d_getpgrp = "undef"
|
---|
| 4907 | $! N.B. We already have home-grown thread-safe versions of
|
---|
| 4908 | $! getpwnam and getpwuid -- no need to use CRTL versions
|
---|
| 4909 | $ d_getpwnam_r = "undef"
|
---|
| 4910 | $ getpwnam_r_proto = "0"
|
---|
| 4911 | $ d_getpwuid_r = "undef"
|
---|
| 4912 | $ getpwuid_r_proto = "0"
|
---|
| 4913 | $ d_setgrent = "undef"
|
---|
| 4914 | $ d_ttyname_r = "undef"
|
---|
| 4915 | $ ttyname_r_proto = "0"
|
---|
| 4916 | $ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE"))
|
---|
| 4917 | $ if (tmp .GES. "8.2") .AND. (f$getsyi("HW_MODEL") .GE. 1024)
|
---|
| 4918 | $ then
|
---|
| 4919 | $ echo "Found 64 bit OpenVMS 8.2, will build with V7.3-2 routines"
|
---|
| 4920 | $ d_getgrgid_r = "define"
|
---|
| 4921 | $ getgrgid_r_proto = "1"
|
---|
| 4922 | $ d_getgrnam_r = "define"
|
---|
| 4923 | $ getgrnam_r_proto = "1"
|
---|
| 4924 | $ if d_symlink .or. d_symlink .EQS. "define"
|
---|
| 4925 | $ then
|
---|
| 4926 | $! FIXME: Need to find how to activate this.
|
---|
| 4927 | $! d_getpgid = "define"
|
---|
| 4928 | $! d_getpgrp = "define"
|
---|
| 4929 | $ endif
|
---|
| 4930 | $ d_setgrent = "define"
|
---|
| 4931 | $ d_ttyname_r = "define"
|
---|
| 4932 | $ ttyname_r_proto = "1"
|
---|
| 4933 | $ endif
|
---|
| 4934 | $!
|
---|
| 4935 | $! VMS V7.3-2 powered options
|
---|
| 4936 | $! We know that it is only available for V7.3-2 and later on 64 bit platforms.
|
---|
| 4937 | $! Only implementing right now on 8.2 because that is what I am testing
|
---|
| 4938 | $! These functions may require POSIX UIDs/GIDs to be active, so I am
|
---|
| 4939 | $! not activating the features at this time, just preparing this file
|
---|
| 4940 | $! to easily use them in the future.
|
---|
| 4941 | $!
|
---|
| 4942 | $ d_seteuid = "undef"
|
---|
| 4943 | $ d_setpgid = "undef"
|
---|
| 4944 | $ d_setpgrp = "undef"
|
---|
| 4945 | $ d_setregid = "undef"
|
---|
| 4946 | $ d_setreuid = "undef"
|
---|
| 4947 | $ d_setsid = "undef"
|
---|
| 4948 | $! tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE"))
|
---|
| 4949 | $tmp = "" ! Disable this section for now.
|
---|
| 4950 | $ if (tmp .GES. "8.2") .AND. (f$getsyi("HW_MODEL") .GE. 1024)
|
---|
| 4951 | $ then
|
---|
| 4952 | $ echo "Found 64 bit OpenVMS 8.2, will build with V7.3-2 UID setting routines"
|
---|
| 4953 | $ d_seteuid = "define"
|
---|
| 4954 | $ d_setpgid = "define"
|
---|
| 4955 | $ d_setpgrp = "define"
|
---|
| 4956 | $ d_setregid = "define"
|
---|
| 4957 | $ d_setreuid = "define"
|
---|
| 4958 | $ d_setsid = "define"
|
---|
| 4959 | $ endif
|
---|
| 4960 | $!
|
---|
| 4961 | $! VMS V8 powered options
|
---|
| 4962 | $! We know that it is only available for 8.2 and later on 64 bit platforms.
|
---|
| 4963 | $!
|
---|
| 4964 | $ d_fstatvfs = "undef"
|
---|
| 4965 | $! d_statvfs = "undef"
|
---|
| 4966 | $ i_sysstatvfs = "undef"
|
---|
| 4967 | $ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE"))
|
---|
| 4968 | $ if (tmp .GES. "8.2") .AND. (f$getsyi("HW_MODEL") .GE. 1024)
|
---|
| 4969 | $ then
|
---|
| 4970 | $ echo "Found 64 bit OpenVMS 8.2, will build with 8.2 routines"
|
---|
| 4971 | $ d_fstatvfs = "define"
|
---|
| 4972 | $! d_statvfs = "define"
|
---|
| 4973 | $ i_sysstatvfs = "define"
|
---|
| 4974 | $ endif
|
---|
| 4975 | $!
|
---|
| 4976 | $! Check rand48 and its ilk
|
---|
| 4977 | $!
|
---|
| 4978 | $ echo4 "Looking for a random number function..."
|
---|
| 4979 | $ OS
|
---|
| 4980 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 4981 | $ WS "#include <stdlib.h>"
|
---|
| 4982 | $ WS "#endif"
|
---|
| 4983 | $ WS "#include <stdio.h>"
|
---|
| 4984 | $ WS "int main()"
|
---|
| 4985 | $ WS "{"
|
---|
| 4986 | $ WS "srand48(12L);"
|
---|
| 4987 | $ WS "exit(0);"
|
---|
| 4988 | $ WS "}"
|
---|
| 4989 | $ CS
|
---|
| 4990 | $ GOSUB link_ok
|
---|
| 4991 | $ IF compile_status .EQ. good_compile .AND. link_status .EQ. good_link
|
---|
| 4992 | $ THEN
|
---|
| 4993 | $ drand01 = "drand48()"
|
---|
| 4994 | $ randbits = "48"
|
---|
| 4995 | $ randfunc = "drand48"
|
---|
| 4996 | $ randseedtype = "long int"
|
---|
| 4997 | $ seedfunc = "srand48"
|
---|
| 4998 | $ echo4 "Good, found drand48()."
|
---|
| 4999 | $ d_drand48proto = "define"
|
---|
| 5000 | $ ELSE
|
---|
| 5001 | $ d_drand48proto = "undef"
|
---|
| 5002 | $ drand01="random()"
|
---|
| 5003 | $ randbits = "31"
|
---|
| 5004 | $ randfunc = "random"
|
---|
| 5005 | $ randseedtype = "unsigned"
|
---|
| 5006 | $ seedfunc = "srandom"
|
---|
| 5007 | $ OS
|
---|
| 5008 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 5009 | $ WS "#include <stdlib.h>"
|
---|
| 5010 | $ WS "#endif"
|
---|
| 5011 | $ WS "#include <stdio.h>"
|
---|
| 5012 | $ WS "int main()"
|
---|
| 5013 | $ WS "{"
|
---|
| 5014 | $ WS "srandom(12);"
|
---|
| 5015 | $ WS "exit(0);"
|
---|
| 5016 | $ WS "}"
|
---|
| 5017 | $ CS
|
---|
| 5018 | $ GOSUB link_ok
|
---|
| 5019 | $ IF compile_status .EQ. good_compile .AND. link_status .EQ. good_link
|
---|
| 5020 | $ THEN
|
---|
| 5021 | $ echo4 "OK, found random()."
|
---|
| 5022 | $ ELSE
|
---|
| 5023 | $ drand01="(((float)rand())*MY_INV_RAND_MAX)"
|
---|
| 5024 | $ randfunc = "rand"
|
---|
| 5025 | $ randseedtype = "unsigned"
|
---|
| 5026 | $ seedfunc = "srand"
|
---|
| 5027 | $ echo4 "Yick, looks like I have to use rand()."
|
---|
| 5028 | $ ENDIF
|
---|
| 5029 | $ ENDIF
|
---|
| 5030 | $! Done with compiler checks. Clean up.
|
---|
| 5031 | $ IF F$SEARCH("try.c") .NES."" THEN DELETE/NOLOG/NOCONFIRM try.c;*
|
---|
| 5032 | $ IF F$SEARCH("try.obj").NES."" THEN DELETE/NOLOG/NOCONFIRM try.obj;*
|
---|
| 5033 | $ IF F$SEARCH("try.exe").NES."" THEN DELETE/NOLOG/NOCONFIRM try.exe;*
|
---|
| 5034 | $ IF F$SEARCH("try.opt").NES."" THEN DELETE/NOLOG/NOCONFIRM try.opt;*
|
---|
| 5035 | $ IF F$SEARCH("try.out").NES."" THEN DELETE/NOLOG/NOCONFIRM try.out;*
|
---|
| 5036 | $ IF ccname .EQS. "CXX"
|
---|
| 5037 | $ THEN
|
---|
| 5038 | $ CALL Cxx_demangler_cleanup
|
---|
| 5039 | $ ENDIF
|
---|
| 5040 | $!
|
---|
| 5041 | $! Some that are compiler or VMS version sensitive
|
---|
| 5042 | $!
|
---|
| 5043 | $! Gnu C stuff
|
---|
| 5044 | $ IF ccname .EQS. "GCC"
|
---|
| 5045 | $ THEN
|
---|
| 5046 | $ d_attribut="define"
|
---|
| 5047 | $ vms_cc_type="gcc"
|
---|
| 5048 | $ ELSE
|
---|
| 5049 | $ vms_cc_type="cc"
|
---|
| 5050 | $ d_attribut="undef"
|
---|
| 5051 | $ ENDIF
|
---|
| 5052 | $!
|
---|
| 5053 | $! Dec C >= 5.2 and VMS ver >= 7.0
|
---|
| 5054 | $ IF (ccname .EQS. "DEC") .AND. -
|
---|
| 5055 | (F$INTEGER(Dec_C_Version).GE.50200000) .AND. (vms_ver .GES. "7.0")
|
---|
| 5056 | $ THEN
|
---|
| 5057 | $ d_bcmp="define"
|
---|
| 5058 | $ d_getitimer="define"
|
---|
| 5059 | $ d_gettimeod="define"
|
---|
| 5060 | $ d_mmap="define"
|
---|
| 5061 | $ d_mprotect="define"
|
---|
| 5062 | $ d_munmap="define"
|
---|
| 5063 | $ d_msync="define"
|
---|
| 5064 | $ d_ualarm="define"
|
---|
| 5065 | $ d_uname="define"
|
---|
| 5066 | $! d_unsetenv="define" ! Fix me - Activating requires changing VMS code
|
---|
| 5067 | $ d_unsetenv="undef" ! Change will be needed to allow GNV integration
|
---|
| 5068 | $ d_clearenv="undef"
|
---|
| 5069 | $ d_usleep="define"
|
---|
| 5070 | $ d_setitimer="define"
|
---|
| 5071 | $ d_sigaction="define"
|
---|
| 5072 | $ d_sigprocmask="define"
|
---|
| 5073 | $ d_truncate="define"
|
---|
| 5074 | $ d_wait4="define"
|
---|
| 5075 | $ d_index="define"
|
---|
| 5076 | $ pidtype="pid_t"
|
---|
| 5077 | $ sig_name1="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM "
|
---|
| 5078 | $ sig_name2="TERM ABRT USR1 USR2 SPARE18 SPARE19 CHLD CONT STOP TSTP TTIN TTOU "
|
---|
| 5079 | $ sig_name3="DEBUG SPARE27 SPARE28 SPARE29 SPARE30 SPARE31 SPARE32 "
|
---|
| 5080 | $ sig_name4="WINCH "
|
---|
| 5081 | $ sig_namert="RTMIN RTMAX"
|
---|
| 5082 | $ psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS"","
|
---|
| 5083 | $ psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",""USR1"",""USR2"",""SPARE18"",""SPARE19"",""CHLD"",""CONT"",""STOP"",""TSTP"","
|
---|
| 5084 | $ psnwc3="""TTIN"",""TTOU"",""DEBUG"",""SPARE27"",""SPARE28"",""SPARE29"",""SPARE30"",""SPARE31"",""SPARE32"","
|
---|
| 5085 | $ psnwc4_v7_3="""WINCH"","
|
---|
| 5086 | $ psnwcrt="""RTMIN"",""RTMAX"",0"
|
---|
| 5087 | $ sig_num1="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 "
|
---|
| 5088 | $ sig_num_v7_3="28 "
|
---|
| 5089 | $ sig_numrt="33 64"
|
---|
| 5090 | $ sig_num_init1="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,"
|
---|
| 5091 | $ sig_num_init_v7_3="28,"
|
---|
| 5092 | $ sig_num_initrt="33,64,0"
|
---|
| 5093 | $ if (vms_ver .GES. "7.3")
|
---|
| 5094 | $ then
|
---|
| 5095 | $ sig_name = sig_name1 + sig_name2 + sig_name3 + sig_name4 + sig_namert
|
---|
| 5096 | $ sig_name_init = psnwc1 + psnwc2 + psnwc3 + psnwc4_v7_3 + psnwcrt
|
---|
| 5097 | $ sig_num = sig_num1 + sig_num_v7_3 + sig_numrt
|
---|
| 5098 | $ sig_num_init = sig_num_init1 + sig_num_v7_3 + sig_num_initrt
|
---|
| 5099 | $ sig_size="37"
|
---|
| 5100 | $ else
|
---|
| 5101 | $ sig_name = sig_name1 + sig_name2 + sig_name3 + sig_namert
|
---|
| 5102 | $ sig_name_init = psnwc1 + psnwc2 + psnwc3 + psnwcrt
|
---|
| 5103 | $ sig_num = sig_num1 + sig_numrt
|
---|
| 5104 | $ sig_num_init = sig_num_init1 + sig_num_initrt
|
---|
| 5105 | $ sig_size="36"
|
---|
| 5106 | $ endif
|
---|
| 5107 | $ sig_count="64"
|
---|
| 5108 | $ uidtype="uid_t"
|
---|
| 5109 | $ d_pathconf="define"
|
---|
| 5110 | $ d_fpathconf="define"
|
---|
| 5111 | $ d_sysconf="define"
|
---|
| 5112 | $ d_sigsetjmp="define"
|
---|
| 5113 | $ ELSE
|
---|
| 5114 | $ pidtype="unsigned int"
|
---|
| 5115 | $ d_bcmp="undef"
|
---|
| 5116 | $ d_getitimer="undef"
|
---|
| 5117 | $ d_gettimeod="undef"
|
---|
| 5118 | $ d_mmap="undef"
|
---|
| 5119 | $ d_mprotect="undef"
|
---|
| 5120 | $ d_munmap="undef"
|
---|
| 5121 | $ d_msync="undef"
|
---|
| 5122 | $ d_ualarm="undef"
|
---|
| 5123 | $ d_uname="undef"
|
---|
| 5124 | $ d_unsetenv="undef"
|
---|
| 5125 | $ d_clearenv="undef"
|
---|
| 5126 | $ d_usleep="undef"
|
---|
| 5127 | $ d_setitimer="undef"
|
---|
| 5128 | $ d_sigaction="undef"
|
---|
| 5129 | $ d_sigprocmask="undef"
|
---|
| 5130 | $ d_truncate="undef"
|
---|
| 5131 | $ d_wait4="undef"
|
---|
| 5132 | $ d_index="undef"
|
---|
| 5133 | $ sig_name="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM ABRT USR1 USR2"
|
---|
| 5134 | $ psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS"","
|
---|
| 5135 | $ psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",""USR1"",""USR2"",0"
|
---|
| 5136 | $ sig_name_init = psnwc1 + psnwc2
|
---|
| 5137 | $ sig_num="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 16 17"
|
---|
| 5138 | $ sig_num_init="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,0"
|
---|
| 5139 | $ sig_size="19"
|
---|
| 5140 | $ sig_count="15"
|
---|
| 5141 | $ if (vms_ver .GES. "6.2") then sig_count="17"
|
---|
| 5142 | $ uidtype="unsigned int"
|
---|
| 5143 | $ d_pathconf="undef"
|
---|
| 5144 | $ d_fpathconf="undef"
|
---|
| 5145 | $ d_sysconf="undef"
|
---|
| 5146 | $ d_sigsetjmp="undef"
|
---|
| 5147 | $ ENDIF
|
---|
| 5148 | $!: see if tzname[] exists
|
---|
| 5149 | $ OS
|
---|
| 5150 | $ WS "#include <stdio.h>"
|
---|
| 5151 | $ WS "#include <time.h>"
|
---|
| 5152 | $ WS "int main() { extern short tzname[]; printf(""%hd"", tzname[0]); }"
|
---|
| 5153 | $ CS
|
---|
| 5154 | $ GOSUB compile_ok
|
---|
| 5155 | $ IF compile_status .EQ. good_compile
|
---|
| 5156 | $ THEN
|
---|
| 5157 | $ d_tzname = "undef"
|
---|
| 5158 | $ echo4 "tzname[] NOT found."
|
---|
| 5159 | $ ELSE
|
---|
| 5160 | $ d_tzname = "define"
|
---|
| 5161 | $ echo4 "tzname[] found."
|
---|
| 5162 | $ ENDIF
|
---|
| 5163 | $ IF F$SEARCH("try.obj") .NES. "" THEN DELETE/NOLOG/NOCONFIRM try.obj;
|
---|
| 5164 | $!
|
---|
| 5165 | $ IF d_gethname .EQS. "undef" .AND. d_uname .EQS. "undef"
|
---|
| 5166 | $ THEN
|
---|
| 5167 | $ d_phostname="define"
|
---|
| 5168 | $ ELSE
|
---|
| 5169 | $ d_phostname="undef"
|
---|
| 5170 | $ ENDIF
|
---|
| 5171 | $!
|
---|
| 5172 | $! Dec C alone
|
---|
| 5173 | $ IF ccname .EQS. "DEC"
|
---|
| 5174 | $ THEN
|
---|
| 5175 | $ d_mbstowcs="define"
|
---|
| 5176 | $ d_mbtowc="define"
|
---|
| 5177 | $ d_stdiobase="define"
|
---|
| 5178 | $ d_stdio_cnt_lval="define"
|
---|
| 5179 | $ d_stdio_ptr_lval="define"
|
---|
| 5180 | $ d_stdstdio="define"
|
---|
| 5181 | $ d_faststdio="define"
|
---|
| 5182 | $ d_wcstombs="define"
|
---|
| 5183 | $ d_mblen="define"
|
---|
| 5184 | $ d_mktime="define"
|
---|
| 5185 | $ d_strcoll="define"
|
---|
| 5186 | $ d_strxfrm="define"
|
---|
| 5187 | $ d_wctomb="define"
|
---|
| 5188 | $ i_locale="define"
|
---|
| 5189 | $ i_langinfo="define"
|
---|
| 5190 | $ d_locconv="define"
|
---|
| 5191 | $ IF vms_ver .GES. "6.2"
|
---|
| 5192 | $ THEN
|
---|
| 5193 | $ d_nl_langinfo="define"
|
---|
| 5194 | $ ELSE
|
---|
| 5195 | $ d_nl_langinfo="undef"
|
---|
| 5196 | $ ENDIF
|
---|
| 5197 | $ d_setlocale="define"
|
---|
| 5198 | $ vms_cc_type="decc"
|
---|
| 5199 | $ ELSE
|
---|
| 5200 | $ d_mbstowcs="undef"
|
---|
| 5201 | $ d_mbtowc="undef"
|
---|
| 5202 | $ d_stdiobase="undef"
|
---|
| 5203 | $ d_stdio_cnt_lval="undef"
|
---|
| 5204 | $ d_stdio_ptr_lval="undef"
|
---|
| 5205 | $ d_stdstdio="undef"
|
---|
| 5206 | $ d_faststdio="undef"
|
---|
| 5207 | $ d_wcstombs="undef"
|
---|
| 5208 | $ d_mblen="undef"
|
---|
| 5209 | $ d_mktime="undef"
|
---|
| 5210 | $ d_strcoll="undef"
|
---|
| 5211 | $ d_strxfrm="undef"
|
---|
| 5212 | $ d_wctomb="undef"
|
---|
| 5213 | $ i_locale="undef"
|
---|
| 5214 | $ i_langinfo="undef"
|
---|
| 5215 | $ d_locconv="undef"
|
---|
| 5216 | $ d_nl_langinfo="undef"
|
---|
| 5217 | $ d_setlocale="undef"
|
---|
| 5218 | $ ENDIF
|
---|
| 5219 | $ d_stdio_ptr_lval_sets_cnt="undef"
|
---|
| 5220 | $ d_stdio_ptr_lval_nochange_cnt="define"
|
---|
| 5221 | $ usefaststdio="define"
|
---|
| 5222 | $!
|
---|
| 5223 | $! Sockets?
|
---|
| 5224 | $ if Has_Socketshr .OR. Has_Dec_C_Sockets
|
---|
| 5225 | $ THEN
|
---|
| 5226 | $ d_vms_do_sockets="define"
|
---|
| 5227 | $ d_htonl="define"
|
---|
| 5228 | $ d_socket="define"
|
---|
| 5229 | $ d_sockpair = "undef"
|
---|
| 5230 | $ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE"))
|
---|
| 5231 | $ if (tmp .GES. "8.2") .AND. (f$getsyi("HW_MODEL") .GE. 1024)
|
---|
| 5232 | $ then
|
---|
| 5233 | $ echo "Found 64 bit OpenVMS 8.2, will build with socketpair support"
|
---|
| 5234 | $ d_sockpair = "define"
|
---|
| 5235 | $ endif
|
---|
| 5236 | $ d_select="define"
|
---|
| 5237 | $ netdb_hlen_type="int"
|
---|
| 5238 | $ netdb_host_type="char *"
|
---|
| 5239 | $ netdb_name_type="char *"
|
---|
| 5240 | $ netdb_net_type="long"
|
---|
| 5241 | $ d_gethbyaddr="define"
|
---|
| 5242 | $ d_gethbyname="define"
|
---|
| 5243 | $ d_getnbyaddr="define"
|
---|
| 5244 | $ d_getnbyname="define"
|
---|
| 5245 | $ d_getpbynumber="define"
|
---|
| 5246 | $ d_getpbyname="define"
|
---|
| 5247 | $ d_getsbyport="define"
|
---|
| 5248 | $ d_getsbyname="define"
|
---|
| 5249 | $ d_gethostprotos="define"
|
---|
| 5250 | $ d_getnetprotos="define"
|
---|
| 5251 | $ d_getprotoprotos="define"
|
---|
| 5252 | $ d_getservprotos="define"
|
---|
| 5253 | $ IF ccname .EQS. "DEC" .OR. ccname .EQS. "CXX"
|
---|
| 5254 | $ THEN
|
---|
| 5255 | $ socksizetype="unsigned int"
|
---|
| 5256 | $ ELSE
|
---|
| 5257 | $ socksizetype="int *"
|
---|
| 5258 | $ ENDIF
|
---|
| 5259 | $ ELSE
|
---|
| 5260 | $ d_vms_do_sockets="undef"
|
---|
| 5261 | $ d_htonl="undef"
|
---|
| 5262 | $ d_socket="undef"
|
---|
| 5263 | $ d_socketpair = "undef"
|
---|
| 5264 | $ d_select="undef"
|
---|
| 5265 | $ netdb_hlen_type="int"
|
---|
| 5266 | $ netdb_host_type="char *"
|
---|
| 5267 | $ netdb_name_type="char *"
|
---|
| 5268 | $ netdb_net_type="long"
|
---|
| 5269 | $ d_gethbyaddr="undef"
|
---|
| 5270 | $ d_gethbyname="undef"
|
---|
| 5271 | $ d_getnbyaddr="undef"
|
---|
| 5272 | $ d_getnbyname="undef"
|
---|
| 5273 | $ d_getpbynumber="undef"
|
---|
| 5274 | $ d_getpbyname="undef"
|
---|
| 5275 | $ d_getsbyport="undef"
|
---|
| 5276 | $ d_getsbyname="undef"
|
---|
| 5277 | $ d_gethostprotos="undef"
|
---|
| 5278 | $ d_getnetprotos="undef"
|
---|
| 5279 | $ d_getprotoprotos="undef"
|
---|
| 5280 | $ d_getservprotos="undef"
|
---|
| 5281 | $ socksizetype="undef"
|
---|
| 5282 | $ ENDIF
|
---|
| 5283 | $! Threads
|
---|
| 5284 | $ IF use_threads
|
---|
| 5285 | $ THEN
|
---|
| 5286 | $ usethreads="define"
|
---|
| 5287 | $ d_pthreads_created_joinable="define"
|
---|
| 5288 | $ if (vms_ver .GES. "7.0")
|
---|
| 5289 | $ THEN
|
---|
| 5290 | $ d_oldpthreads="undef"
|
---|
| 5291 | $ ELSE
|
---|
| 5292 | $ d_oldpthreads="define"
|
---|
| 5293 | $ ENDIF
|
---|
| 5294 | $ ELSE
|
---|
| 5295 | $ d_oldpthreads="undef"
|
---|
| 5296 | $ usethreads="undef"
|
---|
| 5297 | $ d_pthreads_created_joinable="undef"
|
---|
| 5298 | $ ENDIF
|
---|
| 5299 | $!
|
---|
| 5300 | $! new (5.005_62++) typedefs for primitives
|
---|
| 5301 | $!
|
---|
| 5302 | $ echo "Choosing the C types to be used for Perl's internal types..."
|
---|
| 5303 | $ ivtype="long"
|
---|
| 5304 | $ uvtype="unsigned long"
|
---|
| 5305 | $ i8type="char"
|
---|
| 5306 | $ u8type="unsigned char"
|
---|
| 5307 | $ i16type="short"
|
---|
| 5308 | $ u16type="unsigned short"
|
---|
| 5309 | $ i32type="int"
|
---|
| 5310 | $ u32type="unsigned int"
|
---|
| 5311 | $ i64type="long long"
|
---|
| 5312 | $ u64type="unsigned long long"
|
---|
| 5313 | $ nvtype="double"
|
---|
| 5314 | $!
|
---|
| 5315 | $ IF use64bitint .OR. use64bitint .EQS. "define"
|
---|
| 5316 | $ THEN
|
---|
| 5317 | $ ivtype = "''i64type'"
|
---|
| 5318 | $ uvtype = "''u64type'"
|
---|
| 5319 | $ nvtype="long double"
|
---|
| 5320 | $ ELSE
|
---|
| 5321 | $ i64size="undef"
|
---|
| 5322 | $ u64size="undef"
|
---|
| 5323 | $ ENDIF
|
---|
| 5324 | $!
|
---|
| 5325 | $ tmp = "''ivtype'"
|
---|
| 5326 | $ GOSUB type_size_check
|
---|
| 5327 | $ ivsize = tmp
|
---|
| 5328 | $ IF use64bitint .OR. use64bitint .EQS. "define" THEN i64size = tmp
|
---|
| 5329 | $ IF ivtype .eqs. "long"
|
---|
| 5330 | $ THEN longsize = tmp
|
---|
| 5331 | $ ELSE
|
---|
| 5332 | $ tmp = "long"
|
---|
| 5333 | $ GOSUB type_size_check
|
---|
| 5334 | $ longsize = tmp
|
---|
| 5335 | $ ENDIF
|
---|
| 5336 | $!
|
---|
| 5337 | $ tmp = "''uvtype'"
|
---|
| 5338 | $ GOSUB type_size_check
|
---|
| 5339 | $ uvsize = tmp
|
---|
| 5340 | $ IF use64bitint .OR. use64bitint .EQS. "define" THEN u64size = tmp
|
---|
| 5341 | $!
|
---|
| 5342 | $ tmp = "''i8type'"
|
---|
| 5343 | $ GOSUB type_size_check
|
---|
| 5344 | $ i8size = tmp
|
---|
| 5345 | $!
|
---|
| 5346 | $ tmp = "''u8type'"
|
---|
| 5347 | $ GOSUB type_size_check
|
---|
| 5348 | $ u8size = tmp
|
---|
| 5349 | $!
|
---|
| 5350 | $ tmp = "''i16type'"
|
---|
| 5351 | $ GOSUB type_size_check
|
---|
| 5352 | $ i16size = tmp
|
---|
| 5353 | $ IF i16type .eqs. "short"
|
---|
| 5354 | $ THEN shortsize = tmp
|
---|
| 5355 | $ ELSE
|
---|
| 5356 | $ tmp = "short"
|
---|
| 5357 | $ gosub type_size_check
|
---|
| 5358 | $ shortsize = tmp
|
---|
| 5359 | $ ENDIF
|
---|
| 5360 | $!
|
---|
| 5361 | $ tmp = "''u16type'"
|
---|
| 5362 | $ GOSUB type_size_check
|
---|
| 5363 | $ u16size = tmp
|
---|
| 5364 | $!
|
---|
| 5365 | $ tmp = "''i32type'"
|
---|
| 5366 | $ GOSUB type_size_check
|
---|
| 5367 | $ i32size = tmp
|
---|
| 5368 | $ IF i32type .eqs. "int"
|
---|
| 5369 | $ THEN intsize = tmp
|
---|
| 5370 | $ ELSE
|
---|
| 5371 | $ tmp = "int"
|
---|
| 5372 | $ gosub type_size_check
|
---|
| 5373 | $ intsize = tmp
|
---|
| 5374 | $ ENDIF
|
---|
| 5375 | $!
|
---|
| 5376 | $ tmp = "''u32type'"
|
---|
| 5377 | $ gosub type_size_check
|
---|
| 5378 | $ u32size = tmp
|
---|
| 5379 | $!
|
---|
| 5380 | $ tmp = "''nvtype'"
|
---|
| 5381 | $ GOSUB type_size_check
|
---|
| 5382 | $ nvsize = tmp
|
---|
| 5383 | $!
|
---|
| 5384 | $ echo "(IV will be ""''ivtype'"", ''ivsize' bytes)"
|
---|
| 5385 | $ echo "(UV will be ""''uvtype'"", ''uvsize' bytes)"
|
---|
| 5386 | $ echo "(NV will be ""''nvtype'"", ''nvsize' bytes)"
|
---|
| 5387 | $!
|
---|
| 5388 | $ echo4 "Checking whether your NVs can preserve your UVs..."
|
---|
| 5389 | $ OS
|
---|
| 5390 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 5391 | $ WS "#include <stdlib.h>"
|
---|
| 5392 | $ WS "#endif"
|
---|
| 5393 | $ WS "#include <stdio.h>"
|
---|
| 5394 | $ WS "int main() {"
|
---|
| 5395 | $ WS " ''uvtype' k = (''uvtype')~0, l;"
|
---|
| 5396 | $ WS " ''nvtype' d;"
|
---|
| 5397 | $ WS " l = k;"
|
---|
| 5398 | $ WS " d = (''nvtype')l;"
|
---|
| 5399 | $ WS " l = (''uvtype')d;"
|
---|
| 5400 | $ WS " if (l == k)"
|
---|
| 5401 | $ WS " printf(""preserve\n"");"
|
---|
| 5402 | $ WS " exit(0);"
|
---|
| 5403 | $ WS "}"
|
---|
| 5404 | $ CS
|
---|
| 5405 | $ GOSUB compile
|
---|
| 5406 | $ IF tmp .EQS. "preserve"
|
---|
| 5407 | $ THEN
|
---|
| 5408 | $ d_nv_preserves_uv = "define"
|
---|
| 5409 | $ echo "Yes, they can."
|
---|
| 5410 | $ nv_preserves_uv_bits = F$STRING(F$INTEGER(uvsize) * 8)
|
---|
| 5411 | $ ELSE
|
---|
| 5412 | $ d_nv_preserves_uv = "undef"
|
---|
| 5413 | $ echo "No, they can't."
|
---|
| 5414 | $ echo4 "Checking how many bits of your UVs your NVs can preserve..."
|
---|
| 5415 | $ OS
|
---|
| 5416 | $ WS "#if defined(__DECC) || defined(__DECCXX)"
|
---|
| 5417 | $ WS "#include <stdlib.h>"
|
---|
| 5418 | $ WS "#endif"
|
---|
| 5419 | $ WS "#include <stdio.h>"
|
---|
| 5420 | $ WS "int main() {"
|
---|
| 5421 | $ WS " ''uvtype' u = 0;"
|
---|
| 5422 | $ WS " int n = 8 * ''uvsize';"
|
---|
| 5423 | $ WS " int i;"
|
---|
| 5424 | $ WS " for (i = 0; i < n; i++) {"
|
---|
| 5425 | $ WS " u = u << 1 | (''uvtype')1;"
|
---|
| 5426 | $ WS " if ((''uvtype')(''nvtype')u != u)"
|
---|
| 5427 | $ WS " break;"
|
---|
| 5428 | $ WS " }"
|
---|
| 5429 | $ WS " printf(""%d\n"", i);"
|
---|
| 5430 | $ WS " exit(0);"
|
---|
| 5431 | $ WS "}"
|
---|
| 5432 | $ CS
|
---|
| 5433 | $ GOSUB compile
|
---|
| 5434 | $ nv_preserves_uv_bits = tmp
|
---|
| 5435 | $ ENDIF
|
---|
| 5436 | $!
|
---|
| 5437 | $ echo4 "Checking if kill() uses SYS$FORCEX or can't be called from a signal handler..."
|
---|
| 5438 | $ kill_by_sigprc = "undef"
|
---|
| 5439 | $ OS
|
---|
| 5440 | $ WS "#include <stdio.h>"
|
---|
| 5441 | $ WS "#include <signal.h>"
|
---|
| 5442 | $ WS "#include <unistd.h>"
|
---|
| 5443 | $ WS "void handler1(int s) { printf(""%d"",s); kill(getpid(),2); }"
|
---|
| 5444 | $ WS "void handler2(int s) { printf(""%d"",s); }"
|
---|
| 5445 | $ WS "main(){"
|
---|
| 5446 | $ WS " printf(""0"");"
|
---|
| 5447 | $ WS " signal(1,handler1);"
|
---|
| 5448 | $ WS " signal(2,handler2);"
|
---|
| 5449 | $ WS " kill(getpid(),1);"
|
---|
| 5450 | $ WS " sleep(1);"
|
---|
| 5451 | $ WS " printf(""\n"");"
|
---|
| 5452 | $ WS "}"
|
---|
| 5453 | $ CS
|
---|
| 5454 | $ ON ERROR THEN CONTINUE
|
---|
| 5455 | $ GOSUB compile
|
---|
| 5456 | $ IF tmp .NES. "012"
|
---|
| 5457 | $ THEN
|
---|
| 5458 | $ echo4 "Yes, it has at least one of those limitations."
|
---|
| 5459 | $ echo4 "Checking whether we can use SYS$SIGPRC instead..."
|
---|
| 5460 | $ OS
|
---|
| 5461 | $ WS "#include <stdio.h>"
|
---|
| 5462 | $ WS "#include <lib$routines.h>"
|
---|
| 5463 | $ WS "unsigned long code = 0;"
|
---|
| 5464 | $ WS "int handler(unsigned long *args) {"
|
---|
| 5465 | $ WS " code = args[1];"
|
---|
| 5466 | $ WS " return 1;"
|
---|
| 5467 | $ WS "}"
|
---|
| 5468 | $ WS "main() { "
|
---|
| 5469 | $ WS " int iss, sys$sigprc();"
|
---|
| 5470 | $ WS " lib$establish(handler);"
|
---|
| 5471 | $ WS " iss = sys$sigprc(0,0,0x1234);"
|
---|
| 5472 | $ WS " iss = ((iss&1)==1 && code == 0x1234);"
|
---|
| 5473 | $ WS " printf(""%d\n"",iss);"
|
---|
| 5474 | $ WS "}"
|
---|
| 5475 | $ CS
|
---|
| 5476 | $ ON ERROR THEN CONTINUE
|
---|
| 5477 | $ GOSUB compile
|
---|
| 5478 | $ IF tmp .EQS. "1"
|
---|
| 5479 | $ THEN
|
---|
| 5480 | $ echo4 "Yep, we can."
|
---|
| 5481 | $ kill_by_sigprc = "define"
|
---|
| 5482 | $!
|
---|
| 5483 | $! since SIGBUS and SIGSEGV indistinguishable, make them the same here.
|
---|
| 5484 | $! sigusr1 and sigusr2 show up in VMS6.2 and later
|
---|
| 5485 | $!
|
---|
| 5486 | $ if vms_ver .GES. "6.2"
|
---|
| 5487 | $ then
|
---|
| 5488 | $ sig_name="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM ABRT USR1 USR2"
|
---|
| 5489 | $ psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS"","
|
---|
| 5490 | $ psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",""USR1"",""USR2"",0"
|
---|
| 5491 | $ sig_name_init = psnwc1 + psnwc2
|
---|
| 5492 | $ sig_num="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 16 17"
|
---|
| 5493 | $ sig_num_init="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,0"
|
---|
| 5494 | $ sig_size="19"
|
---|
| 5495 | $ sig_count="17"
|
---|
| 5496 | $ else
|
---|
| 5497 | $ sig_name="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM ABRT"
|
---|
| 5498 | $ psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS"","
|
---|
| 5499 | $ psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",0"
|
---|
| 5500 | $ sig_name_init = psnwc1 + psnwc2
|
---|
| 5501 | $ sig_num="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6"
|
---|
| 5502 | $ sig_num_init="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,0"
|
---|
| 5503 | $ sig_size="17"
|
---|
| 5504 | $ sig_count="15"
|
---|
| 5505 | $ endif
|
---|
| 5506 | $ ELSE
|
---|
| 5507 | $ echo4 "Nope, we can't."
|
---|
| 5508 | $ ENDIF
|
---|
| 5509 | $ ELSE
|
---|
| 5510 | $ echo4 "Nope, it doesn't."
|
---|
| 5511 | $ ENDIF
|
---|
| 5512 | $ DELETE/SYMBOL tmp
|
---|
| 5513 | $!
|
---|
| 5514 | $! Finally the composite ones. All config
|
---|
| 5515 | $!
|
---|
| 5516 | $ myuname="''osname' ''myname' ''osvers' ''F$EDIT(hwname, "TRIM")'"
|
---|
| 5517 | $!
|
---|
| 5518 | $ IF ccname .EQS. "DEC"
|
---|
| 5519 | $ THEN
|
---|
| 5520 | $ ccflags="/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=''obj_ext' ''ccflags'"
|
---|
| 5521 | $ ENDIF
|
---|
| 5522 | $ i_dirent = "undef"
|
---|
| 5523 | $ IF ccname .EQS. "CXX"
|
---|
| 5524 | $ THEN
|
---|
| 5525 | $ i_dirent = "define"
|
---|
| 5526 | $ ccflags="/Include=[]/Standard=ANSI/Prefix=All/Obj=''obj_ext' ''ccflags'"
|
---|
| 5527 | $ ENDIF
|
---|
| 5528 | $ IF use_vmsdebug_perl
|
---|
| 5529 | $ THEN
|
---|
| 5530 | $ optimize="/List/Debug/NoOpt"
|
---|
| 5531 | $ ldflags="/Debug/Trace/Map"
|
---|
| 5532 | $ dbgprefix = "DBG"
|
---|
| 5533 | $ ELSE
|
---|
| 5534 | $ optimize= "/NoList"
|
---|
| 5535 | $ ldflags="/NoTrace/NoMap"
|
---|
| 5536 | $ dbgprefix = ""
|
---|
| 5537 | $ ENDIF
|
---|
| 5538 | $!
|
---|
| 5539 | $! Okay, we've got everything configured. Now go write out a config.sh.
|
---|
| 5540 | $ basename_config_sh = F$PARSE(config_sh,,,"NAME",)+F$PARSE(config_sh,,,"TYPE",)
|
---|
| 5541 | $ echo4 "Creating ''basename_config_sh'..."
|
---|
| 5542 | $ open/write CONFIG 'config_sh'
|
---|
| 5543 | $ WC := write CONFIG
|
---|
| 5544 | $!
|
---|
| 5545 | $! ##BEGIN WRITE NEW CONSTANTS HERE##
|
---|
| 5546 | $!
|
---|
| 5547 | $ WC "#!/bin/sh"
|
---|
| 5548 | $ WC "#"
|
---|
| 5549 | $ WC "# This file was produced by Configure.COM on a ''osname' system."
|
---|
| 5550 | $ WC "#"
|
---|
| 5551 | $ WC "# Package name : ''package'"
|
---|
| 5552 | $ WC "# Source directory : ''src'"
|
---|
| 5553 | $ WC "# Configuration time: " + cf_time
|
---|
| 5554 | $ WC "# Configuration by : " + cf_by
|
---|
| 5555 | $ WC "# Target system : " + myuname
|
---|
| 5556 | $ WC ""
|
---|
| 5557 | $ WC "Makefile_SH='" + Makefile_SH + "'"
|
---|
| 5558 | $ WC "Mcc='" + Mcc + "'"
|
---|
| 5559 | $ WC "PERL_REVISION='" + revision + "'"
|
---|
| 5560 | $ WC "PERL_VERSION='" + patchlevel + "'"
|
---|
| 5561 | $ WC "PERL_SUBVERSION='" + subversion + "'"
|
---|
| 5562 | $ WC "PERL_API_REVISION='" + api_revision + "'"
|
---|
| 5563 | $ WC "PERL_API_VERSION='" + api_version + "'"
|
---|
| 5564 | $ WC "PERL_API_SUBVERSION='" + api_subversion + "'"
|
---|
| 5565 | $ WC "PERL_PATCHLEVEL='" + perl_patchlevel + "'"
|
---|
| 5566 | $ WC "PERL_CONFIG_SH='true'"
|
---|
| 5567 | $ WC "_a='" + lib_ext + "'"
|
---|
| 5568 | $ WC "_exe='" + exe_ext + "'"
|
---|
| 5569 | $ WC "_o='" + obj_ext + "'"
|
---|
| 5570 | $ WC "alignbytes='" + alignbytes + "'"
|
---|
| 5571 | $ WC "aphostname='write sys$output f$edit(f$getsyi(\""SCSNODE\""),\""TRIM,LOWERCASE\"")'"
|
---|
| 5572 | $ WC "ar='" + "'"
|
---|
| 5573 | $ WC "archlib='" + archlib + "'"
|
---|
| 5574 | $ WC "archlibexp='" + archlibexp + "'"
|
---|
| 5575 | $ WC "archname='" + archname + "'"
|
---|
| 5576 | $ WC "baserev='" + baserev + "'"
|
---|
| 5577 | $ WC "bin='" + bin + "'"
|
---|
| 5578 | $ WC "binexp='" + binexp + "'"
|
---|
| 5579 | $ WC "builddir='" + builddir + "'"
|
---|
| 5580 | $ WC "byteorder='1234'"
|
---|
| 5581 | $ WC "castflags='0'"
|
---|
| 5582 | $ WC "cc='" + perl_cc + "'"
|
---|
| 5583 | $ WC "cccdlflags='" + cccdlflags + "'"
|
---|
| 5584 | $ WC "ccdlflags='" + ccdlflags + "'"
|
---|
| 5585 | $ IF uselargefiles .OR. uselargefiles .EQS. "define"
|
---|
| 5586 | $ THEN
|
---|
| 5587 | $! Perl can not use _USE_STD_STAT at the moment
|
---|
| 5588 | $! IF d_symlink .OR. d_symlink .EQS. "define"
|
---|
| 5589 | $! THEN
|
---|
| 5590 | $! ccdefines = "_USE_STD_STAT=1"
|
---|
| 5591 | $! ELSE
|
---|
| 5592 | $ ccdefines = "_LARGEFILE=1"
|
---|
| 5593 | $! ENDIF
|
---|
| 5594 | $ ELSE
|
---|
| 5595 | $ ccdefines = ""
|
---|
| 5596 | $ ENDIF
|
---|
| 5597 | $ IF ccdefines .NES. ""
|
---|
| 5598 | $ THEN
|
---|
| 5599 | $ WC "ccflags='" + ccflags + "/Define=" + ccdefines + "'"
|
---|
| 5600 | $ ELSE
|
---|
| 5601 | $ WC "ccflags='" + ccflags + "'"
|
---|
| 5602 | $ ENDIF
|
---|
| 5603 | $ WC "ccflags_uselargefiles='" + "'"
|
---|
| 5604 | $ WC "ccname='" + ccname + "'"
|
---|
| 5605 | $ WC "ccversion='" + ccversion + "'"
|
---|
| 5606 | $ WC "cf_by='" + cf_by + "'"
|
---|
| 5607 | $ WC "cf_email='" + cf_email + "'"
|
---|
| 5608 | $ WC "cf_time='" + cf_time + "'"
|
---|
| 5609 | $ WC "config_args='" + config_args + "'"
|
---|
| 5610 | $ WC "config_sh='" + config_sh + "'"
|
---|
| 5611 | $ WC "cpp_stuff='" + cpp_stuff + "'"
|
---|
| 5612 | $ WC "cpplast='" + cpplast + "'"
|
---|
| 5613 | $ WC "cppminus='" + cppminus + "'"
|
---|
| 5614 | $ WC "cpprun='" + cpprun + "'"
|
---|
| 5615 | $ WC "cppstdin='" + cppstdin + "'"
|
---|
| 5616 | $ IF use64bitint .OR. use64bitint .EQS. "define"
|
---|
| 5617 | $ THEN
|
---|
| 5618 | $! gcvt() does not work for > 16 decimal places; fallback to sprintf
|
---|
| 5619 | $ WC "d_Gconvert='sprintf((b),""%.*" + (nvgformat-"""") + ",(n),(x))'"
|
---|
| 5620 | $ ELSE
|
---|
| 5621 | $ WC "d_Gconvert='my_gconvert(x,n,t,b)'"
|
---|
| 5622 | $ ENDIF
|
---|
| 5623 | $ WC "d_PRIEldbl='" + d_PRIEUldbl + "'"
|
---|
| 5624 | $ WC "d_PRIFldbl='" + d_PRIFUldbl + "'"
|
---|
| 5625 | $ WC "d_PRIGldbl='" + d_PRIGUldbl + "'"
|
---|
| 5626 | $ WC "d_PRIXU64='" + d_PRIXU64 + "'"
|
---|
| 5627 | $ WC "d_PRId64='" + d_PRId64 + "'"
|
---|
| 5628 | $ WC "d_PRIeldbl='" + d_PRIeldbl + "'"
|
---|
| 5629 | $ WC "d_PRIfldbl='" + d_PRIfldbl + "'"
|
---|
| 5630 | $ WC "d_PRIgldbl='" + d_PRIgldbl + "'"
|
---|
| 5631 | $ WC "d_PRIo64='" + d_PRIo64 + "'"
|
---|
| 5632 | $ WC "d_PRIu64='" + d_PRIu64 + "'"
|
---|
| 5633 | $ WC "d_PRIx64='" + d_PRIx64 + "'"
|
---|
| 5634 | $ WC "d_SCNfldbl='" + d_SCNfldbl + "'"
|
---|
| 5635 | $ WC "d__fwalk='undef'"
|
---|
| 5636 | $ WC "d_access='" + d_access + "'"
|
---|
| 5637 | $ WC "d_accessx='undef'"
|
---|
| 5638 | $ WC "d_aintl='undef'"
|
---|
| 5639 | $ WC "d_alarm='define'"
|
---|
| 5640 | $ WC "d_archlib='define'"
|
---|
| 5641 | $ WC "d_atolf='" + d_atolf + "'"
|
---|
| 5642 | $ WC "d_atoll='" + d_atoll + "'"
|
---|
| 5643 | $ WC "d_attribute_format='" + d_attribut + "'"
|
---|
| 5644 | $ WC "d_attribute_malloc='undef'"
|
---|
| 5645 | $ WC "d_attribute_nonnull='undef'"
|
---|
| 5646 | $ WC "d_attribute_noreturn='undef'"
|
---|
| 5647 | $ WC "d_attribute_pure='undef'"
|
---|
| 5648 | $ WC "d_attribute_unused='undef'"
|
---|
| 5649 | $ WC "d_attribute_warn_unused_result='undef'"
|
---|
| 5650 | $ WC "d_bcmp='" + d_bcmp + "'"
|
---|
| 5651 | $ WC "d_bcopy='" + d_bcopy + "'"
|
---|
| 5652 | $ WC "d_bincompat3='undef'"
|
---|
| 5653 | $! WC "d_bsdpgrp='undef'"
|
---|
| 5654 | $ WC "d_bsdgetpgrp='undef'"
|
---|
| 5655 | $ WC "d_bsdsetpgrp='undef'"
|
---|
| 5656 | $ WC "d_bzero='" + d_bzero + "'"
|
---|
| 5657 | $ WC "d_casti32='define'"
|
---|
| 5658 | $ WC "d_castneg='define'"
|
---|
| 5659 | $ WC "d_charvspr='undef'"
|
---|
| 5660 | $ WC "d_chown='define'"
|
---|
| 5661 | $ WC "d_chroot='undef'"
|
---|
| 5662 | $ WC "d_chsize='undef'"
|
---|
| 5663 | $ WC "d_class='undef'"
|
---|
| 5664 | $ WC "d_cmsghdr_s='undef'"
|
---|
| 5665 | $ WC "d_const='define'"
|
---|
| 5666 | $ WC "d_copysignl='define'"
|
---|
| 5667 | $ WC "d_crypt='define'"
|
---|
| 5668 | $ WC "d_csh='undef'"
|
---|
| 5669 | $ WC "d_cuserid='define'"
|
---|
| 5670 | $ WC "d_dbl_dig='define'"
|
---|
| 5671 | $ WC "d_dbminitproto='undef'"
|
---|
| 5672 | $ WC "d_difftime='define'"
|
---|
| 5673 | $ WC "d_dirfd='undef'"
|
---|
| 5674 | $ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE"))
|
---|
| 5675 | $ IF (tmp .GES. "8.2") .AND. (f$getsyi("HW_MODEL") .GE. 1024)
|
---|
| 5676 | $ then
|
---|
| 5677 | $! Sorry, CRTL does not have this, and in order to support
|
---|
| 5678 | $! POSIX filespecifications, the CRTL readdir() structures
|
---|
| 5679 | $! need to be used globaly for now.
|
---|
| 5680 | $ echo "Building for OpenVMS 8.2 uses CRTL dirent.h, so no dirnamlen member"
|
---|
| 5681 | $ WC "d_dirnamlen='undef'"
|
---|
| 5682 | $ else
|
---|
| 5683 | $ WC "d_dirnamlen='define'"
|
---|
| 5684 | $ endif
|
---|
| 5685 | $ WC "d_dlerror='undef'"
|
---|
| 5686 | $ WC "d_dlsymun='undef'"
|
---|
| 5687 | $ WC "d_dosuid='undef'"
|
---|
| 5688 | $ WC "d_drand48proto='" + d_drand48proto + "'"
|
---|
| 5689 | $ WC "d_dup2='define'"
|
---|
| 5690 | $ WC "d_eaccess='undef'"
|
---|
| 5691 | $ WC "d_endgrent='define'"
|
---|
| 5692 | $ WC "d_endhent='" + d_endhent + "'"
|
---|
| 5693 | $ WC "d_endnent='" + d_endnent + "'"
|
---|
| 5694 | $ WC "d_endpent='" + d_endpent + "'"
|
---|
| 5695 | $ WC "d_endpwent='define'"
|
---|
| 5696 | $ WC "d_endsent='" + d_endsent + "'"
|
---|
| 5697 | $ WC "d_eofnblk='undef'"
|
---|
| 5698 | $ WC "d_eunice='undef'"
|
---|
| 5699 | $ WC "d_fchmod='undef'"
|
---|
| 5700 | $ WC "d_fchdir='undef'"
|
---|
| 5701 | $ WC "d_fchown='undef'"
|
---|
| 5702 | $ WC "d_fcntl='" + d_fcntl + "'"
|
---|
| 5703 | $ WC "d_fcntl_can_lock='" + d_fcntl_can_lock + "'"
|
---|
| 5704 | $ WC "d_fd_set='" + d_fd_set + "'"
|
---|
| 5705 | $ WC "d_fgetpos='define'"
|
---|
| 5706 | $ WC "d_finite='undef'"
|
---|
| 5707 | $ WC "d_finitel='undef'"
|
---|
| 5708 | $ WC "d_flexfnam='define'"
|
---|
| 5709 | $ WC "d_flock='undef'"
|
---|
| 5710 | $ WC "d_flockproto='undef'"
|
---|
| 5711 | $ WC "d_fork='undef'"
|
---|
| 5712 | $ WC "d_fp_class='undef'"
|
---|
| 5713 | $ WC "d_fpathconf='" + d_fpathconf + "'"
|
---|
| 5714 | $ WC "d_fpclass='undef'"
|
---|
| 5715 | $ WC "d_fpclassify='undef'"
|
---|
| 5716 | $ WC "d_fpclassl='undef'"
|
---|
| 5717 | $ WC "d_fpos64_t='" + d_fpos64_t + "'"
|
---|
| 5718 | $ WC "d_frexpl='" + d_frexpl + "'"
|
---|
| 5719 | $ WC "d_fs_data_s='undef'"
|
---|
| 5720 | $ WC "d_fseeko='" + d_fseeko + "'"
|
---|
| 5721 | $ WC "d_fsetpos='define'"
|
---|
| 5722 | $ WC "d_fstatfs='undef'"
|
---|
| 5723 | $ WC "d_fstatvfs='" + d_fstatvfs + "'"
|
---|
| 5724 | $ WC "d_fsync='undef'"
|
---|
| 5725 | $ WC "d_ftello='" + d_ftello + "'"
|
---|
| 5726 | $ WC "d_futimes='undef'"
|
---|
| 5727 | $ WC "d_getcwd='define'"
|
---|
| 5728 | $ WC "d_getespwnam='undef'"
|
---|
| 5729 | $ WC "d_getfsstat='undef'"
|
---|
| 5730 | $ WC "d_getgrent='define'"
|
---|
| 5731 | $ WC "d_getgrps='undef'"
|
---|
| 5732 | $ WC "d_gethbyaddr='" + d_gethbyaddr + "'"
|
---|
| 5733 | $ WC "d_gethbyname='" + d_gethbyname + "'"
|
---|
| 5734 | $ WC "d_gethent='" + d_gethent + "'"
|
---|
| 5735 | $ WC "d_gethname='" + d_gethname + "'"
|
---|
| 5736 | $ WC "d_gethostprotos='" + d_gethostprotos + "'"
|
---|
| 5737 | $ WC "d_getitimer='" + d_getitimer + "'"
|
---|
| 5738 | $ WC "d_getlogin='define'"
|
---|
| 5739 | $ WC "d_getmnt='undef'"
|
---|
| 5740 | $ WC "d_getmntent='undef'"
|
---|
| 5741 | $ WC "d_getnbyaddr='" + d_getnbyaddr + "'"
|
---|
| 5742 | $ WC "d_getnbyname='" + d_getnbyname + "'"
|
---|
| 5743 | $ WC "d_getnent='" + d_getnent + "'"
|
---|
| 5744 | $ WC "d_getnetprotos='" + d_getnetprotos + "'"
|
---|
| 5745 | $ WC "d_getpagsz='undef'"
|
---|
| 5746 | $ WC "d_getpbyname='" + d_getpbyname + "'"
|
---|
| 5747 | $ WC "d_getpbynumber='" + d_getpbynumber + "'"
|
---|
| 5748 | $ WC "d_getpent='" + d_getpent + "'"
|
---|
| 5749 | $ WC "d_getpgid='" + d_getpgid + "'"
|
---|
| 5750 | $ WC "d_getpgrp2='undef'"
|
---|
| 5751 | $ WC "d_getpgrp='" + d_getpgrp + "'"
|
---|
| 5752 | $ WC "d_getppid='" + d_getppid + "'"
|
---|
| 5753 | $ WC "d_getprior='undef'"
|
---|
| 5754 | $ WC "d_getprotoprotos='" + d_getprotoprotos + "'"
|
---|
| 5755 | $ WC "d_getprpwnam='undef'"
|
---|
| 5756 | $ WC "d_getpwent='define'"
|
---|
| 5757 | $ WC "d_getsbyname='" + d_getsbyname + "'"
|
---|
| 5758 | $ WC "d_getsbyport='" + d_getsbyport + "'"
|
---|
| 5759 | $ WC "d_getsent='" + d_getsent + "'"
|
---|
| 5760 | $ WC "d_getservprotos='" + d_getservprotos + "'"
|
---|
| 5761 | $ WC "d_getspnam='undef'"
|
---|
| 5762 | $ WC "d_gettimeod='" + d_gettimeod + "'"
|
---|
| 5763 | $ WC "d_gnulibc='undef'"
|
---|
| 5764 | $ WC "d_grpasswd='undef'"
|
---|
| 5765 | $ WC "d_hasmntopt='undef'"
|
---|
| 5766 | $ WC "d_htonl='" + d_htonl + "'"
|
---|
| 5767 | $ WC "d_ilogbl='undef'"
|
---|
| 5768 | $ WC "d_index='" + d_index + "'"
|
---|
| 5769 | $ WC "d_inetaton='undef'"
|
---|
| 5770 | $ WC "d_int64_t='" + d_int64_t + "'"
|
---|
| 5771 | $ WC "d_isascii='define'"
|
---|
| 5772 | $ WC "d_isfinite='undef'"
|
---|
| 5773 | $ WC "d_isinf='undef'"
|
---|
| 5774 | $ WC "d_isnan='" + d_isnan + "'"
|
---|
| 5775 | $ WC "d_isnanl='" + d_isnanl + "'"
|
---|
| 5776 | $ WC "d_killpg='undef'"
|
---|
| 5777 | $ WC "d_lchown='" + d_lchown + "'"
|
---|
| 5778 | $ WC "d_ldbl_dig='define'"
|
---|
| 5779 | $ WC "d_libm_lib_version='undef'"
|
---|
| 5780 | $ WC "d_link='" + d_link + "'"
|
---|
| 5781 | $ WC "d_llseek='undef'"
|
---|
| 5782 | $ WC "d_locconv='" + d_locconv + "'"
|
---|
| 5783 | $ WC "d_lockf='undef'"
|
---|
| 5784 | $ WC "d_longdbl='" + d_longdbl + "'"
|
---|
| 5785 | $ WC "d_longlong='" + d_longlong + "'"
|
---|
| 5786 | $ WC "d_lseekproto='define'"
|
---|
| 5787 | $ WC "d_lstat='" + d_lstat + "'"
|
---|
| 5788 | $ WC "d_madvise='undef'"
|
---|
| 5789 | $ WC "d_malloc_size='undef'"
|
---|
| 5790 | $ WC "d_malloc_good_size='undef'"
|
---|
| 5791 | $ WC "d_mblen='" + d_mblen + "'"
|
---|
| 5792 | $ WC "d_mbstowcs='" + d_mbstowcs + "'"
|
---|
| 5793 | $ WC "d_mbtowc='" + d_mbtowc + "'"
|
---|
| 5794 | $ WC "d_memchr='" + d_memchr + "'"
|
---|
| 5795 | $ WC "d_memcmp='define'"
|
---|
| 5796 | $ WC "d_memcpy='define'"
|
---|
| 5797 | $ WC "d_memmove='define'"
|
---|
| 5798 | $ WC "d_memset='define'"
|
---|
| 5799 | $ WC "d_mkdir='define'"
|
---|
| 5800 | $ WC "d_mkdtemp='" + d_mkdtemp + "'"
|
---|
| 5801 | $ WC "d_mkfifo='undef'"
|
---|
| 5802 | $ WC "d_mknod='undef'"
|
---|
| 5803 | $ WC "d_mkstemp='" + d_mkstemp + "'"
|
---|
| 5804 | $ WC "d_mkstemps='" + d_mkstemps + "'"
|
---|
| 5805 | $ WC "d_mktime='" + d_mktime + "'"
|
---|
| 5806 | $ WC "d_mmap='" + d_mmap + "'"
|
---|
| 5807 | $ WC "d_modfl='" + d_modfl + "'"
|
---|
| 5808 | $ WC "d_modflproto='" + d_modflproto + "'"
|
---|
| 5809 | $ WC "d_modfl_pow32_bug='undef'"
|
---|
| 5810 | $ WC "d_mprotect='" + d_mprotect + "'"
|
---|
| 5811 | $ WC "d_msg='undef'"
|
---|
| 5812 | $ WC "d_msg_ctrunc='undef'"
|
---|
| 5813 | $ WC "d_msg_dontroute='undef'"
|
---|
| 5814 | $ WC "d_msg_oob='undef'"
|
---|
| 5815 | $ WC "d_msg_peek='undef'"
|
---|
| 5816 | $ WC "d_msg_proxy='undef'"
|
---|
| 5817 | $ WC "d_msghdr_s='undef'"
|
---|
| 5818 | $ WC "d_msync='" + d_msync + "'"
|
---|
| 5819 | $ WC "d_munmap='" + d_munmap + "'"
|
---|
| 5820 | $ WC "d_mymalloc='" + d_mymalloc + "'"
|
---|
| 5821 | $ WC "d_nanosleep='" + d_nanosleep + "'"
|
---|
| 5822 | $ WC "d_nice='define'"
|
---|
| 5823 | $ WC "d_nl_langinfo='" + d_nl_langinfo + "'"
|
---|
| 5824 | $ WC "d_nv_preserves_uv='" + d_nv_preserves_uv + "'"
|
---|
| 5825 | $ WC "nv_preserves_uv_bits='" + nv_preserves_uv_bits + "'"
|
---|
| 5826 | $ WC "d_nv_zero_is_allbits_zero='define'"
|
---|
| 5827 | $ WC "d_off64_t='" + d_off64_t + "'"
|
---|
| 5828 | $ WC "d_old_pthread_create_joinable='" + d_old_pthread_create_joinable + "'"
|
---|
| 5829 | $ WC "d_oldarchlib='define'"
|
---|
| 5830 | $ WC "d_oldpthreads='" + d_oldpthreads + "'"
|
---|
| 5831 | $ WC "d_open3='define'"
|
---|
| 5832 | $ WC "d_pathconf='" + d_pathconf + "'"
|
---|
| 5833 | $ WC "d_pause='define'"
|
---|
| 5834 | $ WC "d_perl_otherlibdirs='undef'"
|
---|
| 5835 | $ WC "d_phostname='" + d_phostname + "'"
|
---|
| 5836 | $ WC "d_pipe='define'"
|
---|
| 5837 | $ WC "d_poll='" + d_poll + "'"
|
---|
| 5838 | $ WC "d_procselfexe='undef'"
|
---|
| 5839 | $ WC "d_pthread_atfork='undef'"
|
---|
| 5840 | $ WC "d_pthread_attr_setscope='" + d_pthread_attr_setscope + "'"
|
---|
| 5841 | $ WC "d_pthread_yield='" + d_pthread_yield + "'"
|
---|
| 5842 | $ WC "d_pthreads_created_joinable='" + d_pthreads_created_joinable + "'"
|
---|
| 5843 | $ WC "d_pwage='undef'"
|
---|
| 5844 | $ WC "d_pwchange='undef'"
|
---|
| 5845 | $ WC "d_pwclass='undef'"
|
---|
| 5846 | $ WC "d_pwcomment='define'"
|
---|
| 5847 | $ WC "d_pwexpire='undef'"
|
---|
| 5848 | $ WC "d_pwgecos='define'"
|
---|
| 5849 | $ WC "d_pwpasswd='define'"
|
---|
| 5850 | $ WC "d_pwquota='undef'"
|
---|
| 5851 | $ WC "d_qgcvt='undef'"
|
---|
| 5852 | $ WC "d_quad='" + d_quad + "'"
|
---|
| 5853 | $ WC "d_readdir='define'"
|
---|
| 5854 | $ WC "d_readlink='" + d_readlink + "'"
|
---|
| 5855 | $ WC "d_readv='undef'"
|
---|
| 5856 | $ WC "d_realpath='" + d_realpath + "'"
|
---|
| 5857 | $ WC "d_recvmsg='undef'"
|
---|
| 5858 | $ WC "d_rename='define'"
|
---|
| 5859 | $ WC "d_rewinddir='define'"
|
---|
| 5860 | $ WC "d_rmdir='define'"
|
---|
| 5861 | $ WC "d_safebcpy='undef'"
|
---|
| 5862 | $ WC "d_safemcpy='define'"
|
---|
| 5863 | $ WC "d_sanemcmp='define'"
|
---|
| 5864 | $ WC "d_sbrkproto='define'"
|
---|
| 5865 | $ WC "d_scalbnl='undef'"
|
---|
| 5866 | $ WC "d_sched_yield='" + d_sched_yield + "'"
|
---|
| 5867 | $ WC "d_scm_rights='undef'"
|
---|
| 5868 | $ WC "d_seekdir='define'"
|
---|
| 5869 | $ WC "d_select='" + d_select + "'"
|
---|
| 5870 | $ WC "d_sem='undef'"
|
---|
| 5871 | $ WC "d_semctl_semid_ds='undef'"
|
---|
| 5872 | $ WC "d_semctl_semun='undef'"
|
---|
| 5873 | $ WC "d_sendmsg='undef'"
|
---|
| 5874 | $ WC "d_setegid='undef'"
|
---|
| 5875 | $ WC "d_setenv='" + d_setenv + "'"
|
---|
| 5876 | $ WC "d_seteuid='" + d_seteuid + "'"
|
---|
| 5877 | $ WC "d_setgrent='" + d_setgrent + "'"
|
---|
| 5878 | $ WC "d_setgrps='undef'"
|
---|
| 5879 | $ WC "d_sethent='" + d_sethent + "'"
|
---|
| 5880 | $ WC "d_setitimer='" + d_setitimer + "'"
|
---|
| 5881 | $ WC "d_setlinebuf='undef'"
|
---|
| 5882 | $ WC "d_setlocale='" + d_setlocale + "'"
|
---|
| 5883 | $ WC "d_setnent='" + d_setnent + "'"
|
---|
| 5884 | $ WC "d_setpent='" + d_setpent + "'"
|
---|
| 5885 | $ WC "d_setpgid='" + d_setpgid + "'"
|
---|
| 5886 | $ WC "d_setpgrp2='undef'"
|
---|
| 5887 | $ WC "d_setpgrp='" + d_setpgrp + "'"
|
---|
| 5888 | $ WC "d_setprior='undef'"
|
---|
| 5889 | $ WC "d_setproctitle='" + d_setproctitle + "'"
|
---|
| 5890 | $ WC "d_setpwent='define'"
|
---|
| 5891 | $ WC "d_setregid='" + d_setregid + "'"
|
---|
| 5892 | $ WC "d_setresgid='undef'"
|
---|
| 5893 | $ WC "d_setresuid='undef'"
|
---|
| 5894 | $ WC "d_setreuid='" + d_setreuid + "'"
|
---|
| 5895 | $ WC "d_setrgid='undef'"
|
---|
| 5896 | $ WC "d_setruid='undef'"
|
---|
| 5897 | $ WC "d_setsent='" + d_setsent + "'"
|
---|
| 5898 | $ WC "d_setsid='" + d_setsid + "'"
|
---|
| 5899 | $ WC "d_setvbuf='" + d_setvbuf + "'"
|
---|
| 5900 | $ WC "d_sfio='undef'"
|
---|
| 5901 | $ WC "d_shm='undef'"
|
---|
| 5902 | $ WC "d_shmatprototype='undef'"
|
---|
| 5903 | $ WC "d_sigaction='" + d_sigaction + "'"
|
---|
| 5904 | $ WC "d_sigprocmask='" + d_sigprocmask + "'"
|
---|
| 5905 | $ WC "d_sigsetjmp='" + d_sigsetjmp + "'"
|
---|
| 5906 | $ WC "d_sockatmark='undef'"
|
---|
| 5907 | $ WC "d_sockatmarkproto='undef'"
|
---|
| 5908 | $ WC "d_socket='" + d_socket + "'"
|
---|
| 5909 | $ WC "d_socklen_t='" + d_socklen_t + "'"
|
---|
| 5910 | $ WC "d_sockpair='" + d_sockpair + "'"
|
---|
| 5911 | $ WC "d_socks5_init='undef'"
|
---|
| 5912 | $ WC "d_sprintf_returns_strlen='define'"
|
---|
| 5913 | $ WC "d_sqrtl='define'"
|
---|
| 5914 | $ WC "d_sresgproto='undef'"
|
---|
| 5915 | $ WC "d_sresgproto='undef'"
|
---|
| 5916 | $ WC "d_sresproto='undef'"
|
---|
| 5917 | $ WC "d_sresuproto='undef'"
|
---|
| 5918 | $ WC "d_statblks='undef'"
|
---|
| 5919 | $ WC "d_statfs_f_flags='undef'"
|
---|
| 5920 | $ WC "d_statfs_s='undef'"
|
---|
| 5921 | $ WC "d_statfsflags='undef'"
|
---|
| 5922 | $ WC "d_stdio_cnt_lval='" + d_stdio_cnt_lval + "'"
|
---|
| 5923 | $ WC "d_stdio_ptr_lval='" + d_stdio_ptr_lval + "'"
|
---|
| 5924 | $ WC "d_stdio_ptr_lval_nochange_cnt='" + d_stdio_ptr_lval_nochange_cnt + "'"
|
---|
| 5925 | $ WC "d_stdio_ptr_lval_sets_cnt='" + d_stdio_ptr_lval_sets_cnt + "'"
|
---|
| 5926 | $ WC "d_stdio_stream_array='undef'"
|
---|
| 5927 | $ WC "d_stdiobase='" + d_stdiobase + "'"
|
---|
| 5928 | $ WC "d_stdstdio='" + d_stdstdio + "'"
|
---|
| 5929 | $ WC "d_faststdio='" + d_faststdio + "'"
|
---|
| 5930 | $ WC "d_strchr='define'"
|
---|
| 5931 | $ WC "d_strcoll='" + d_strcoll + "'"
|
---|
| 5932 | $ WC "d_strctcpy='define'"
|
---|
| 5933 | $ WC "d_strerrm='strerror((e),vaxc$errno)'"
|
---|
| 5934 | $ WC "d_strerror='define'"
|
---|
| 5935 | $ WC "d_strftime='define'"
|
---|
| 5936 | $ WC "d_strlcat='undef'"
|
---|
| 5937 | $ WC "d_strlcpy='undef'"
|
---|
| 5938 | $ WC "d_strtod='define'"
|
---|
| 5939 | $ WC "d_strtol='define'"
|
---|
| 5940 | $ WC "d_strtold='" + d_strtold + "'"
|
---|
| 5941 | $ WC "d_strtoll='" + d_strtoll + "'"
|
---|
| 5942 | $ WC "d_strtoq='" + d_strtoq + "'"
|
---|
| 5943 | $ WC "d_strtoul='define'"
|
---|
| 5944 | $ WC "d_strtoull='" + d_strtoull + "'"
|
---|
| 5945 | $ WC "d_strtouq='" + d_strtouq + "'"
|
---|
| 5946 | $ WC "d_strxfrm='" + d_strxfrm + "'"
|
---|
| 5947 | $ WC "d_suidsafe='undef'"
|
---|
| 5948 | $ WC "d_symlink='" + d_symlink + "'"
|
---|
| 5949 | $ WC "d_syscall='undef'"
|
---|
| 5950 | $ WC "d_syscallproto='undef'"
|
---|
| 5951 | $ WC "d_sysconf='" + d_sysconf + "'"
|
---|
| 5952 | $ WC "d_syserrlst='undef'"
|
---|
| 5953 | $ WC "d_system='define'"
|
---|
| 5954 | $ WC "d_tcgetpgrp='undef'"
|
---|
| 5955 | $ WC "d_tcsetpgrp='undef'"
|
---|
| 5956 | $ WC "d_telldir='define'"
|
---|
| 5957 | $ WC "d_telldirproto='define'"
|
---|
| 5958 | $ WC "d_time='define'"
|
---|
| 5959 | $ WC "d_times='define'"
|
---|
| 5960 | $ IF ("''F$EXTRACT(1,3, F$GETSYI(""VERSION""))'".GES."7.0")
|
---|
| 5961 | $ THEN
|
---|
| 5962 | $ WC "d_tm_tm_gmtoff='define'"
|
---|
| 5963 | $ WC "d_tm_tm_zone='define'"
|
---|
| 5964 | $ ELSE
|
---|
| 5965 | $ WC "d_tm_tm_gmtoff='undef'"
|
---|
| 5966 | $ WC "d_tm_tm_zone='undef'"
|
---|
| 5967 | $ ENDIF
|
---|
| 5968 | $ WC "d_truncate='" + d_truncate + "'"
|
---|
| 5969 | $ WC "d_tzname='" + d_tzname + "'"
|
---|
| 5970 | $ WC "d_u32align='define'"
|
---|
| 5971 | $ WC "d_ualarm='" + d_ualarm + "'"
|
---|
| 5972 | $ WC "d_umask='define'"
|
---|
| 5973 | $ WC "d_uname='" + d_uname + "'"
|
---|
| 5974 | $ WC "d_union_semun='undef'"
|
---|
| 5975 | $ WC "d_unlink_all_versions='" + d_unlink_all_versions + "'" ! VMS-specific
|
---|
| 5976 | $ WC "d_unordered='undef'"
|
---|
| 5977 | $ WC "d_unsetenv='" + d_unsetenv + "'"
|
---|
| 5978 | $ WC "d_clearenv='" + d_clearenv + "'"
|
---|
| 5979 | $ WC "d_usleep='" + d_usleep + "'"
|
---|
| 5980 | $ WC "d_usleepproto='" + d_usleep + "'"
|
---|
| 5981 | $ WC "d_ustat='undef'"
|
---|
| 5982 | $ WC "d_vendorarch='undef'"
|
---|
| 5983 | $ WC "d_vendorlib='undef'"
|
---|
| 5984 | $ WC "d_vfork='define'"
|
---|
| 5985 | $ WC "d_vms_case_sensitive_symbols='" + d_vms_be_case_sensitive + "'" ! VMS
|
---|
| 5986 | $ WC "d_vms_do_sockets='" + d_vms_do_sockets + "'" ! VMS
|
---|
| 5987 | $ WC "d_void_closedir='define'"
|
---|
| 5988 | $ WC "d_volatile='define'"
|
---|
| 5989 | $ WC "d_vprintf='define'"
|
---|
| 5990 | $ WC "d_wait4='" + d_wait4 + "'"
|
---|
| 5991 | $ WC "d_waitpid='define'"
|
---|
| 5992 | $ WC "d_wcstombs='" + d_wcstombs + "'"
|
---|
| 5993 | $ WC "d_wctomb='" + d_wctomb + "'"
|
---|
| 5994 | $ WC "d_writev='undef'"
|
---|
| 5995 | $ WC "db_hashtype=' '"
|
---|
| 5996 | $ WC "db_prefixtype=' '"
|
---|
| 5997 | $ WC "db_version_major='" + "'"
|
---|
| 5998 | $ WC "db_version_minor='" + "'"
|
---|
| 5999 | $ WC "db_version_patch='" + "'"
|
---|
| 6000 | $ WC "dbgprefix='" + dbgprefix + "'"
|
---|
| 6001 | $ WC "defvoidused='15'"
|
---|
| 6002 | $ WC "devtype='" + devtype + "'"
|
---|
| 6003 | $ WC "direntrytype='struct dirent'"
|
---|
| 6004 | $ WC "dlext='" + dlext + "'"
|
---|
| 6005 | $ WC "dlobj='" + dlobj + "'"
|
---|
| 6006 | $ WC "dlsrc='dl_vms.c'"
|
---|
| 6007 | $ WC "doublesize='" + doublesize + "'"
|
---|
| 6008 | $ WC "drand01='" + drand01 + "'"
|
---|
| 6009 | $!
|
---|
| 6010 | $! The extensions symbol may be quite long
|
---|
| 6011 | $!
|
---|
| 6012 | $ tmp = "dynamic_ext='" + extensions + "'"
|
---|
| 6013 | $ WC/symbol tmp
|
---|
| 6014 | $ DELETE/SYMBOL tmp
|
---|
| 6015 | $ WC "eagain=' '"
|
---|
| 6016 | $ WC "ebcdic='undef'"
|
---|
| 6017 | $ WC "embedmymalloc='" + usemymalloc + "'"
|
---|
| 6018 | $ WC "eunicefix=':'"
|
---|
| 6019 | $ WC "exe_ext='" + exe_ext + "'"
|
---|
| 6020 | $!
|
---|
| 6021 | $! The extensions symbol may be quite long
|
---|
| 6022 | $!
|
---|
| 6023 | $ tmp = "extensions='" + extensions + "'"
|
---|
| 6024 | $ WC/symbol tmp
|
---|
| 6025 | $ DELETE/SYMBOL tmp
|
---|
| 6026 | $ WC "fflushNULL='define'"
|
---|
| 6027 | $ WC "fflushall='undef'"
|
---|
| 6028 | $ WC "fpostype='fpos_t'"
|
---|
| 6029 | $ WC "freetype='void'"
|
---|
| 6030 | $ WC "full_ar='" + "'"
|
---|
| 6031 | $ WC "full_csh='" + " '"
|
---|
| 6032 | $ WC "full_sed='_NLA0:'"
|
---|
| 6033 | $ WC "gccversion='" + gccversion + "'"
|
---|
| 6034 | $ WC "gidformat='lu'"
|
---|
| 6035 | $ WC "gidsign='1'"
|
---|
| 6036 | $ WC "gidsize='4'"
|
---|
| 6037 | $ WC "gidtype='" + gidtype + "'"
|
---|
| 6038 | $ WC "groupstype='Gid_t'"
|
---|
| 6039 | $ WC "hint='none'"
|
---|
| 6040 | $ WC "hintfile='" + "'"
|
---|
| 6041 | $ WC "i16size='" + i16size + "'"
|
---|
| 6042 | $ WC "i16type='" + i16type + "'"
|
---|
| 6043 | $ WC "i32size='" + i32size + "'"
|
---|
| 6044 | $ WC "i32type='" + i32type + "'"
|
---|
| 6045 | $ WC "i64size='" + i64size + "'"
|
---|
| 6046 | $ WC "i64type='" + i64type + "'"
|
---|
| 6047 | $ WC "i8size='" + i8size + "'"
|
---|
| 6048 | $ WC "i8type='" + i8type + "'"
|
---|
| 6049 | $ WC "i_arpainet='undef'"
|
---|
| 6050 | $ WC "i_crypt='undef'"
|
---|
| 6051 | $ WC "i_db='undef'"
|
---|
| 6052 | $ WC "i_dbm='undef'"
|
---|
| 6053 | $ WC "i_dirent='" + i_dirent + "'"
|
---|
| 6054 | $ WC "i_dlfcn='undef'"
|
---|
| 6055 | $ WC "i_fcntl='" + i_fcntl + "'"
|
---|
| 6056 | $ WC "i_float='define'"
|
---|
| 6057 | $ WC "i_fp='undef'"
|
---|
| 6058 | $ WC "i_fp_class='undef'"
|
---|
| 6059 | $ WC "i_grp='" + i_grp + "'"
|
---|
| 6060 | $ WC "i_ieeefp='undef'"
|
---|
| 6061 | $ WC "i_inttypes='" + i_inttypes + "'"
|
---|
| 6062 | $ WC "i_langinfo='" + i_langinfo + "'"
|
---|
| 6063 | $ WC "i_libutil='" + i_libutil + "'"
|
---|
| 6064 | $ WC "i_limits='define'"
|
---|
| 6065 | $ WC "i_locale='" + i_locale + "'"
|
---|
| 6066 | $ WC "i_machcthr='undef'"
|
---|
| 6067 | $ WC "i_machcthreads='undef'"
|
---|
| 6068 | $ WC "i_math='define'"
|
---|
| 6069 | $ WC "i_memory='undef'"
|
---|
| 6070 | $ WC "i_mntent='undef'"
|
---|
| 6071 | $ WC "i_ndbm='undef'"
|
---|
| 6072 | $ WC "i_netdb='" + i_netdb + "'"
|
---|
| 6073 | $ WC "i_neterrno='define'"
|
---|
| 6074 | $ WC "i_netinettcp='" + i_netinettcp + "'"
|
---|
| 6075 | $ WC "i_niin='" + i_niin + "'"
|
---|
| 6076 | $ WC "i_poll='" + i_poll + "'"
|
---|
| 6077 | $ WC "i_prot='undef'"
|
---|
| 6078 | $ WC "i_pthread='define'"
|
---|
| 6079 | $ WC "i_pwd='undef'"
|
---|
| 6080 | $ WC "i_rpcsvcdbm='undef'"
|
---|
| 6081 | $ WC "i_sfio='undef'"
|
---|
| 6082 | $ WC "i_sgtty='undef'"
|
---|
| 6083 | $ WC "i_shadow='" + i_shadow + "'"
|
---|
| 6084 | $ WC "i_socks='" + i_socks + "'"
|
---|
| 6085 | $ WC "i_stdarg='define'"
|
---|
| 6086 | $ WC "i_stddef='define'"
|
---|
| 6087 | $ WC "i_stdlib='define'"
|
---|
| 6088 | $ WC "i_string='define'"
|
---|
| 6089 | $ WC "i_sunmath='undef'"
|
---|
| 6090 | $ WC "i_sysaccess='" + i_sysaccess + "'"
|
---|
| 6091 | $ WC "i_sysdir='undef'"
|
---|
| 6092 | $ WC "i_sysfile='" + i_sysfile + "'"
|
---|
| 6093 | $ WC "i_sysioctl='" + i_sysioctl + "'"
|
---|
| 6094 | $ WC "i_syslog='" + i_syslog + "'"
|
---|
| 6095 | $ WC "i_sysmman='undef'"
|
---|
| 6096 | $ WC "i_sysmode='" + i_sysmode + "'"
|
---|
| 6097 | $ WC "i_sysmount='undef'"
|
---|
| 6098 | $ WC "i_sysndir='undef'"
|
---|
| 6099 | $ WC "i_sysparam='undef'"
|
---|
| 6100 | $ WC "i_sysresrc='undef'"
|
---|
| 6101 | $ WC "i_syssecrt='" + i_syssecrt + "'"
|
---|
| 6102 | $ WC "i_sysselct='undef'"
|
---|
| 6103 | $ WC "i_syssockio='undef'"
|
---|
| 6104 | $ WC "i_sysstat='define'"
|
---|
| 6105 | $ WC "i_sysstatfs='undef'"
|
---|
| 6106 | $ WC "i_sysstatvfs='" + i_sysstatvfs + "'"
|
---|
| 6107 | $ WC "i_systime='undef'"
|
---|
| 6108 | $ WC "i_systimek='undef'"
|
---|
| 6109 | $ WC "i_systimes='undef'"
|
---|
| 6110 | $ WC "i_systypes='define'"
|
---|
| 6111 | $ WC "i_sysuio='" + i_sysuio + "'"
|
---|
| 6112 | $ WC "i_sysun='undef'"
|
---|
| 6113 | $ WC "i_sysutsname='" + i_sysutsname + "'"
|
---|
| 6114 | $ WC "i_sysvfs='undef'"
|
---|
| 6115 | $ WC "i_syswait='undef'"
|
---|
| 6116 | $ WC "i_termio='undef'"
|
---|
| 6117 | $ WC "i_termios='undef'"
|
---|
| 6118 | $ WC "i_time='define'"
|
---|
| 6119 | $ WC "i_unistd='" + i_unistd + "'"
|
---|
| 6120 | $ WC "i_ustat='undef'"
|
---|
| 6121 | $ WC "i_utime='undef'"
|
---|
| 6122 | $ WC "i_values='undef'"
|
---|
| 6123 | $ WC "i_varargs='undef'"
|
---|
| 6124 | $ WC "i_vfork='undef'"
|
---|
| 6125 | $ WC "inc_version_list='0'"
|
---|
| 6126 | $ WC "inc_version_list_init='0'"
|
---|
| 6127 | $ WC "installarchlib='" + installarchlib + "'"
|
---|
| 6128 | $ WC "installbin='" + installbin + "'"
|
---|
| 6129 | $ WC "installman1dir='" + installman1dir + "'"
|
---|
| 6130 | $ WC "installman3dir='" + installman3dir + "'"
|
---|
| 6131 | $ WC "installprefix='" + vms_prefix + "'"
|
---|
| 6132 | $ WC "installprefixexp='" + vms_prefix + ":'"
|
---|
| 6133 | $ WC "installprivlib='" + installprivlib + "'"
|
---|
| 6134 | $ WC "installscript='" + installscript + "'"
|
---|
| 6135 | $ WC "installsitearch='" + installsitearch + "'"
|
---|
| 6136 | $ WC "installsitebin='" + sitebin + "'"
|
---|
| 6137 | $ WC "installsitelib='" + installsitelib + "'"
|
---|
| 6138 | $ WC "installusrbinperl='undef'"
|
---|
| 6139 | $ WC "intsize='" + intsize + "'"
|
---|
| 6140 | $ WC "ivdformat='" + ivdformat + "'"
|
---|
| 6141 | $ WC "ivsize='" + ivsize + "'"
|
---|
| 6142 | $ WC "ivtype='" + ivtype + "'"
|
---|
| 6143 | $!
|
---|
| 6144 | $! The known_extensions symbol may be quite long
|
---|
| 6145 | $!
|
---|
| 6146 | $ tmp = "known_extensions='" + known_extensions + "'"
|
---|
| 6147 | $ WC/symbol tmp
|
---|
| 6148 | $ DELETE/SYMBOL tmp
|
---|
| 6149 | $ WC "ld='" + ld + "'"
|
---|
| 6150 | $ WC "lddlflags='/Share'"
|
---|
| 6151 | $ WC "ldflags='" + ldflags + "'"
|
---|
| 6152 | $ WC "ldflags_uselargefiles='" + "'"
|
---|
| 6153 | $ WC "lib_ext='" + lib_ext + "'"
|
---|
| 6154 | $ WC "libc='" + libc + "'"
|
---|
| 6155 | $ WC "libpth='/sys$share /sys$library'"
|
---|
| 6156 | $ WC "libs='" + libs + "'"
|
---|
| 6157 | $ WC "libswanted='" + "'"
|
---|
| 6158 | $ WC "libswanted_uselargefiles='" + "'"
|
---|
| 6159 | $ WC "longdblsize='" + longdblsize + "'"
|
---|
| 6160 | $ WC "longlongsize='" + longlongsize + "'"
|
---|
| 6161 | $ WC "longsize='" + longsize + "'"
|
---|
| 6162 | $ IF uselargefiles .OR. uselargefiles .EQS. "define"
|
---|
| 6163 | $ THEN
|
---|
| 6164 | $ WC "lseeksize='8'"
|
---|
| 6165 | $ WC "lseektype='off_t'"
|
---|
| 6166 | $ ELSE
|
---|
| 6167 | $ WC "lseeksize='4'"
|
---|
| 6168 | $ WC "lseektype='int'"
|
---|
| 6169 | $ ENDIF
|
---|
| 6170 | $ WC "mab='" + "'"
|
---|
| 6171 | $ WC "make='" + make + "'"
|
---|
| 6172 | $ WC "malloctype='void *'"
|
---|
| 6173 | $ WC "usemallocwrap='" + usemallocwrap + "'"
|
---|
| 6174 | $ WC "man1ext='rno'"
|
---|
| 6175 | $ WC "man3ext='rno'"
|
---|
| 6176 | $ WC "mmaptype='void *'"
|
---|
| 6177 | $ WC "modetype='unsigned int'"
|
---|
| 6178 | $ WC "multiarch='undef'"
|
---|
| 6179 | $ WC "mydomain='" + mydomain + "'"
|
---|
| 6180 | $ WC "myhostname='" + myhostname + "'"
|
---|
| 6181 | $ WC "myuname='" + myuname + "'"
|
---|
| 6182 | $ WC "need_va_copy='undef'"
|
---|
| 6183 | $ WC "netdb_hlen_type='" + netdb_hlen_type + "'"
|
---|
| 6184 | $ WC "netdb_host_type='" + netdb_host_type + "'"
|
---|
| 6185 | $ WC "netdb_name_type='" + netdb_name_type + "'"
|
---|
| 6186 | $ WC "netdb_net_type='" + netdb_net_type + "'"
|
---|
| 6187 | $ WC "nonxs_ext='" + nonxs_ext + "'"
|
---|
| 6188 | $ WC "nveformat='" + nveformat + "'"
|
---|
| 6189 | $ WC "nvfformat='" + nvfformat + "'"
|
---|
| 6190 | $ WC "nvgformat='" + nvgformat + "'"
|
---|
| 6191 | $ WC "nvsize='" + nvsize + "'"
|
---|
| 6192 | $ WC "nvtype='" + nvtype + "'"
|
---|
| 6193 | $ WC "o_nonblock=' '"
|
---|
| 6194 | $ WC "obj_ext='" + obj_ext + "'"
|
---|
| 6195 | $ WC "old_pthread_create_joinable='" + old_pthread_create_joinable + "'"
|
---|
| 6196 | $ WC "oldarchlib='" + oldarchlib + "'"
|
---|
| 6197 | $ WC "oldarchlibexp='" + oldarchlibexp + "'"
|
---|
| 6198 | $ WC "optimize='" + optimize + "'"
|
---|
| 6199 | $ WC "osname='" + osname + "'"
|
---|
| 6200 | $ WC "osvers='" + osvers + "'"
|
---|
| 6201 | $ WC "otherlibdirs='" + "'"
|
---|
| 6202 | $ WC "package='" + package + "'"
|
---|
| 6203 | $ WC "pager='" + pager + "'"
|
---|
| 6204 | $ WC "patchlevel='" + patchlevel + "'"
|
---|
| 6205 | $ WC "path_sep='|'"
|
---|
| 6206 | $ WC "perl_root='" + perl_root + "'" ! VMS specific $trnlnm()
|
---|
| 6207 | $ WC "perladmin='" + perladmin + "'"
|
---|
| 6208 | $ WC "perllibs='" + perllibs + "'"
|
---|
| 6209 | $ WC "perlpath='" + "''vms_prefix':[000000]Perl''exe_ext'" + "'"
|
---|
| 6210 | $ WC "perl_symbol='" + perl_symbol + "'" ! VMS specific
|
---|
| 6211 | $ WC "perl_verb='" + perl_verb + "'" ! VMS specific
|
---|
| 6212 | $ WC "pgflquota='" + pgflquota + "'"
|
---|
| 6213 | $ WC "pidtype='" + pidtype + "'"
|
---|
| 6214 | $ WC "prefix='" + vms_prefix + "'"
|
---|
| 6215 | $ WC "prefixexp='" + vms_prefix + ":'"
|
---|
| 6216 | $ WC "privlib='" + privlib + "'"
|
---|
| 6217 | $ WC "privlibexp='" + privlibexp + "'"
|
---|
| 6218 | $ WC "procselfexe=' '"
|
---|
| 6219 | $ WC "prototype='define'"
|
---|
| 6220 | $ WC "ptrsize='" + ptrsize + "'"
|
---|
| 6221 | $ WC "quadkind='" + quadkind + "'"
|
---|
| 6222 | $ WC "quadtype='" + quadtype + "'"
|
---|
| 6223 | $ WC "randbits='" + randbits + "'"
|
---|
| 6224 | $ WC "randfunc='" + randfunc + "'"
|
---|
| 6225 | $ WC "randseedtype='" + randseedtype + "'"
|
---|
| 6226 | $ WC "ranlib='" + "'"
|
---|
| 6227 | $ WC "rd_nodata=' '"
|
---|
| 6228 | $ WC "revision='" + revision + "'"
|
---|
| 6229 | $ WC "sPRId64='" + sPRId64 + "'"
|
---|
| 6230 | $ WC "sPRIEldbl='" + sPRIEUldbl + "'"
|
---|
| 6231 | $ WC "sPRIFldbl='" + sPRIFUldbl + "'"
|
---|
| 6232 | $ WC "sPRIGldbl='" + sPRIGUldbl + "'"
|
---|
| 6233 | $ WC "sPRIX64='" + sPRIXU64 + "'"
|
---|
| 6234 | $ WC "sPRIeldbl='" + sPRIeldbl + "'"
|
---|
| 6235 | $ WC "sPRIfldbl='" + sPRIfldbl + "'"
|
---|
| 6236 | $ WC "sPRIgldbl='" + sPRIgldbl + "'"
|
---|
| 6237 | $! WC "sPRIi64='" + sPRIi64 + "'"
|
---|
| 6238 | $ WC "sPRIo64='" + sPRIo64 + "'"
|
---|
| 6239 | $ WC "sPRIu64='" + sPRIu64 + "'"
|
---|
| 6240 | $ WC "sPRIx64='" + sPRIx64 + "'"
|
---|
| 6241 | $ WC "sSCNfldbl='" + sSCNfldbl + "'"
|
---|
| 6242 | $ WC "sched_yield='" + sched_yield + "'"
|
---|
| 6243 | $ WC "scriptdir='" + scriptdir + "'"
|
---|
| 6244 | $ WC "scriptdirexp='" + scriptdir + "'" ! use scriptdir for now
|
---|
| 6245 | $ WC "seedfunc='" + seedfunc + "'"
|
---|
| 6246 | $ WC "selectminbits='32'"
|
---|
| 6247 | $ WC "selecttype='" + selecttype + "'"
|
---|
| 6248 | $ WC "sh='MCR'"
|
---|
| 6249 | $ WC "shmattype='" + " '"
|
---|
| 6250 | $ WC "shortsize='" + shortsize + "'"
|
---|
| 6251 | $ WC "shrplib='define'"
|
---|
| 6252 | $ WC "sig_name='" + sig_name + "'"
|
---|
| 6253 | $ tmp = "sig_name_init='" + sig_name_init + "'"
|
---|
| 6254 | $ WC/symbol tmp
|
---|
| 6255 | $ DELETE/SYMBOL tmp
|
---|
| 6256 | $ WC "sig_num='" + sig_num + "'"
|
---|
| 6257 | $ WC "sig_num_init='" + sig_num_init + "'"
|
---|
| 6258 | $ WC "sig_count='" + sig_count + "'"
|
---|
| 6259 | $ WC "sig_size='" + sig_size + "'"
|
---|
| 6260 | $ WC "signal_t='" + signal_t + "'"
|
---|
| 6261 | $ WC "sitearch='" + sitearch + "'"
|
---|
| 6262 | $ WC "sitearchexp='" + sitearchexp + "'"
|
---|
| 6263 | $ WC "sitebin='" + sitebin + "'"
|
---|
| 6264 | $ WC "sitebinexp='" + sitebin + "'"
|
---|
| 6265 | $ WC "sitelib='" + sitelib + "'"
|
---|
| 6266 | $ WC "sitelib_stem='" + sitelib_stem + "'"
|
---|
| 6267 | $ WC "sitelibexp='" + sitelibexp + "'"
|
---|
| 6268 | $ WC "siteprefix='" + vms_prefix + "'"
|
---|
| 6269 | $ WC "siteprefixexp='" + vms_prefix + ":'"
|
---|
| 6270 | $ WC "sizesize='" + sizesize + "'"
|
---|
| 6271 | $ WC "sizetype='size_t'"
|
---|
| 6272 | $ WC "so='" + so + "'"
|
---|
| 6273 | $ WC "socksizetype='" + socksizetype + "'"
|
---|
| 6274 | $ WC "spitshell='write sys$output '"
|
---|
| 6275 | $ WC "src='" + src + "'"
|
---|
| 6276 | $ WC "ssizetype='int'"
|
---|
| 6277 | $ WC "startperl=" + startperl ! This one's special--no enclosing single quotes
|
---|
| 6278 | $ WC "static_ext='" + static_ext + "'"
|
---|
| 6279 | $ WC "stdchar='" + stdchar + "'"
|
---|
| 6280 | $ WC "stdio_base='((*fp)->_base)'"
|
---|
| 6281 | $ WC "stdio_bufsiz='((*fp)->_cnt + (*fp)->_ptr - (*fp)->_base)'"
|
---|
| 6282 | $ WC "stdio_cnt='((*fp)->_cnt)'"
|
---|
| 6283 | $ WC "stdio_ptr='((*fp)->_ptr)'"
|
---|
| 6284 | $ WC "stdio_stream_array=' " + "'"
|
---|
| 6285 | $ WC "subversion='" + subversion + "'"
|
---|
| 6286 | $ WC "timetype='" + timetype + "'"
|
---|
| 6287 | $ WC "u16size='" + u16size + "'"
|
---|
| 6288 | $ WC "u16type='" + u16type + "'"
|
---|
| 6289 | $ WC "u32size='" + u32size + "'"
|
---|
| 6290 | $ WC "u32type='" + u32type + "'"
|
---|
| 6291 | $ WC "u64size='" + u64size + "'"
|
---|
| 6292 | $ WC "u64type='" + u64type + "'"
|
---|
| 6293 | $ WC "u8size='" + u8size + "'"
|
---|
| 6294 | $ WC "u8type='" + u8type + "'"
|
---|
| 6295 | $ WC "uidformat='lu'"
|
---|
| 6296 | $ WC "uidsign='1'"
|
---|
| 6297 | $ WC "uidsize='4'"
|
---|
| 6298 | $ WC "uidtype='" + uidtype + "'"
|
---|
| 6299 | $ WC "uquadtype='" + uquadtype + "'"
|
---|
| 6300 | $ WC "use5005threads='" + use5005threads + "'"
|
---|
| 6301 | $ WC "use64bitall='" + use64bitall + "'"
|
---|
| 6302 | $ WC "use64bitint='" + use64bitint + "'"
|
---|
| 6303 | $ WC "usecasesensitive='" + be_case_sensitive + "'" ! VMS-specific
|
---|
| 6304 | $ WC "usedebugging_perl='"+use_debugging_perl+"'"
|
---|
| 6305 | $ WC "usedefaulttypes='" + usedefaulttypes + "'" ! VMS-specific
|
---|
| 6306 | $ WC "usecrosscompile='undef'"
|
---|
| 6307 | $ WC "usedl='" + usedl + "'"
|
---|
| 6308 | $ WC "usefaststdio='" + usefaststdio + "'"
|
---|
| 6309 | $ WC "useieee='" + useieee + "'" ! VMS-specific
|
---|
| 6310 | $ WC "useithreads='" + useithreads + "'"
|
---|
| 6311 | $ WC "uselargefiles='" + uselargefiles + "'"
|
---|
| 6312 | $ WC "uselongdouble='" + uselongdouble + "'"
|
---|
| 6313 | $ WC "usemorebits='" + usemorebits + "'"
|
---|
| 6314 | $ WC "usemultiplicity='" + usemultiplicity + "'"
|
---|
| 6315 | $ WC "usemymalloc='" + usemymalloc + "'"
|
---|
| 6316 | $ WC "useperlio='" + useperlio + "'"
|
---|
| 6317 | $ WC "useposix='false'"
|
---|
| 6318 | $ WC "usereentrant='undef'"
|
---|
| 6319 | $ WC "usesecurelog='" + usesecurelog + "'" ! VMS-specific
|
---|
| 6320 | $ WC "usesitecustomize='" + usesitecustomize + "'"
|
---|
| 6321 | $ WC "usesocks='undef'"
|
---|
| 6322 | $ WC "usethreads='" + usethreads + "'"
|
---|
| 6323 | $ WC "usevendorprefix='" + "'" ! try to say no, though we'll be ignored as of MM 5.90_01
|
---|
| 6324 | $ WC "usevfork='true'"
|
---|
| 6325 | $ WC "usevmsdebug='" + usevmsdebug + "'" ! VMS-specific
|
---|
| 6326 | $ WC "uvoformat='" + uvoformat + "'"
|
---|
| 6327 | $ WC "uvsize='" + uvsize + "'"
|
---|
| 6328 | $ WC "uvtype='" + uvtype + "'"
|
---|
| 6329 | $ WC "uvuformat='" + uvuformat + "'"
|
---|
| 6330 | $ WC "uvxformat='" + uvxformat + "'"
|
---|
| 6331 | $ WC "uvXUformat='" + uvXUformat + "'"
|
---|
| 6332 | $ WC "vendorarch='" + "'"
|
---|
| 6333 | $ WC "vendorarchexp='" + "'"
|
---|
| 6334 | $ WC "vendorbin='" + "'"
|
---|
| 6335 | $ WC "vendorbinexp='" + "'"
|
---|
| 6336 | $ WC "vendorlib_stem='" + "'"
|
---|
| 6337 | $ WC "vendorlib='" + "'"
|
---|
| 6338 | $ WC "vendorlibexp='" + "'"
|
---|
| 6339 | $ WC "vendorprefix='" + "'"
|
---|
| 6340 | $ WC "vendorprefixexp='" + "'"
|
---|
| 6341 | $ WC "version='" + version + "'"
|
---|
| 6342 | $ WC "version_patchlevel_string='" + version_patchlevel_string + "'"
|
---|
| 6343 | $ WC "vms_cc_type='" + vms_cc_type + "'" ! VMS specific
|
---|
| 6344 | $ WC "vms_prefix='" + vms_prefix + "'" ! VMS specific
|
---|
| 6345 | $ WC "vms_ver='" + vms_ver + "'" ! VMS specific
|
---|
| 6346 | $ WC "voidflags='15'"
|
---|
| 6347 | $!
|
---|
| 6348 | $! ## The UNIXy POSIXy reentrantey thingys ##
|
---|
| 6349 | $! See "Appendix B, Version-Dependency Tables" in the C RTL
|
---|
| 6350 | $! manual for when assorted _r functions became available.
|
---|
| 6351 | $!
|
---|
| 6352 | $ IF use_threads .AND. vms_ver .GES. "7.2"
|
---|
| 6353 | $ THEN
|
---|
| 6354 | $ WC "asctime_r_proto='REENTRANT_PROTO_B_SB'"
|
---|
| 6355 | $ WC "d_asctime_r='define'"
|
---|
| 6356 | $ WC "ctime_r_proto='REENTRANT_PROTO_B_SB'"
|
---|
| 6357 | $ WC "d_ctime_r='define'"
|
---|
| 6358 | $ ELSE
|
---|
| 6359 | $ WC "asctime_r_proto='0'"
|
---|
| 6360 | $ WC "d_asctime_r='undef'"
|
---|
| 6361 | $ WC "ctime_r_proto='0'"
|
---|
| 6362 | $ WC "d_ctime_r='undef'"
|
---|
| 6363 | $ ENDIF
|
---|
| 6364 | $ WC "d_crypt_r='undef'"
|
---|
| 6365 | $ WC "d_ctermid_r='undef'"
|
---|
| 6366 | $ WC "d_drand48_r='undef'"
|
---|
| 6367 | $ WC "d_endgrent_r='undef'"
|
---|
| 6368 | $ WC "d_endhostent_r='undef'"
|
---|
| 6369 | $ WC "d_endnetent_r='undef'"
|
---|
| 6370 | $ WC "d_endprotoent_r='undef'"
|
---|
| 6371 | $ WC "d_endpwent_r='undef'"
|
---|
| 6372 | $ WC "d_endservent_r='undef'"
|
---|
| 6373 | $ WC "d_getgrent_r='undef'"
|
---|
| 6374 | $ WC "d_getgrgid_r='" + d_getgrgid_r + "'"
|
---|
| 6375 | $ WC "d_getgrnam_r='" + d_getgrnam_r + "'"
|
---|
| 6376 | $ WC "d_gethostbyaddr_r='undef'"
|
---|
| 6377 | $ WC "d_gethostbyname_r='undef'"
|
---|
| 6378 | $ WC "d_gethostent_r='undef'"
|
---|
| 6379 | $ WC "d_getlogin_r='undef'"
|
---|
| 6380 | $ WC "d_getnetbyaddr_r='undef'"
|
---|
| 6381 | $ WC "d_getnetbyname_r='undef'"
|
---|
| 6382 | $ WC "d_getnetent_r='undef'"
|
---|
| 6383 | $ WC "d_getprotobyname_r='undef'"
|
---|
| 6384 | $ WC "d_getprotobynumber_r='undef'"
|
---|
| 6385 | $ WC "d_getprotoent_r='undef'"
|
---|
| 6386 | $ WC "d_getpwent_r='undef'"
|
---|
| 6387 | $ WC "d_getpwnam_r='" + d_getpwnam_r + "'"
|
---|
| 6388 | $ WC "d_getpwuid_r='" + d_getpwuid_r + "'"
|
---|
| 6389 | $ WC "d_getservbyname_r='undef'"
|
---|
| 6390 | $ WC "d_getservbyport_r='undef'"
|
---|
| 6391 | $ WC "d_getservent_r='undef'"
|
---|
| 6392 | $ WC "d_getspnam_r='undef'"
|
---|
| 6393 | $ WC "d_gmtime_r='undef'" ! leave undef'd; we use my_gmtime
|
---|
| 6394 | $ WC "d_localtime_r='undef'" ! leave undef'd; we use my_localtime
|
---|
| 6395 | $ WC "d_random_r='undef'"
|
---|
| 6396 | $ WC "d_readdir_r='define'" ! always defined; we roll our own
|
---|
| 6397 | $ WC "d_readdir64_r='undef'"
|
---|
| 6398 | $ WC "d_setgrent_r='undef'"
|
---|
| 6399 | $ WC "d_sethostent_r='undef'"
|
---|
| 6400 | $ WC "d_setlocale_r='undef'"
|
---|
| 6401 | $ WC "d_setnetent_r='undef'"
|
---|
| 6402 | $ WC "d_setprotoent_r='undef'"
|
---|
| 6403 | $ WC "d_setpwent_r='undef'"
|
---|
| 6404 | $ WC "d_setservent_r='undef'"
|
---|
| 6405 | $ WC "d_srand48_r='undef'"
|
---|
| 6406 | $ WC "d_srandom_r='undef'"
|
---|
| 6407 | $ WC "d_strerror_r='undef'"
|
---|
| 6408 | $ WC "d_tmpnam_r='undef'"
|
---|
| 6409 | $ WC "d_ttyname_r='" + d_ttyname_r + "'"
|
---|
| 6410 | $ WC "ctermid_r_proto='0'"
|
---|
| 6411 | $ WC "crypt_r_proto='0'"
|
---|
| 6412 | $ WC "drand48_r_proto='0'"
|
---|
| 6413 | $ WC "endgrent_r_proto='0'"
|
---|
| 6414 | $ WC "endhostent_r_proto='0'"
|
---|
| 6415 | $ WC "endnetent_r_proto='0'"
|
---|
| 6416 | $ WC "endprotoent_r_proto='0'"
|
---|
| 6417 | $ WC "endpwent_r_proto='0'"
|
---|
| 6418 | $ WC "endservent_r_proto='0'"
|
---|
| 6419 | $ WC "getgrent_r_proto='0'"
|
---|
| 6420 | $ WC "getgrgid_r_proto='" + getgrgid_r_proto + "'"
|
---|
| 6421 | $ WC "getgrnam_r_proto='" + getgrnam_r_proto + "'"
|
---|
| 6422 | $ WC "gethostbyaddr_r_proto='0'"
|
---|
| 6423 | $ WC "gethostbyname_r_proto='0'"
|
---|
| 6424 | $ WC "gethostent_r_proto='0'"
|
---|
| 6425 | $ WC "getlogin_r_proto='0'"
|
---|
| 6426 | $ WC "getnetbyaddr_r_proto='0'"
|
---|
| 6427 | $ WC "getnetbyname_r_proto='0'"
|
---|
| 6428 | $ WC "getnetent_r_proto='0'"
|
---|
| 6429 | $ WC "getprotobyname_r_proto='0'"
|
---|
| 6430 | $ WC "getprotobynumber_r_proto='0'"
|
---|
| 6431 | $ WC "getprotoent_r_proto='0'"
|
---|
| 6432 | $ WC "getpwent_r_proto='0'"
|
---|
| 6433 | $ WC "getpwnam_r_proto='0'"
|
---|
| 6434 | $ WC "getpwuid_r_proto='0'"
|
---|
| 6435 | $ WC "getservbyname_r_proto='0'"
|
---|
| 6436 | $ WC "getservbyport_r_proto='0'"
|
---|
| 6437 | $ WC "getservent_r_proto='0'"
|
---|
| 6438 | $ WC "getspnam_r_proto='0'"
|
---|
| 6439 | $ WC "gmtime_r_proto='0'"
|
---|
| 6440 | $ WC "localtime_r_proto='0'"
|
---|
| 6441 | $ WC "random_r_proto='0'"
|
---|
| 6442 | $ WC "readdir_r_proto='REENTRANT_PROTO_I_TSR'" ! always defined; we roll our own
|
---|
| 6443 | $ WC "readdir64_r_proto='0'"
|
---|
| 6444 | $ WC "setgrent_r_proto='0'"
|
---|
| 6445 | $ WC "sethostent_r_proto='0'"
|
---|
| 6446 | $ WC "setlocale_r_proto='0'"
|
---|
| 6447 | $ WC "setnetent_r_proto='0'"
|
---|
| 6448 | $ WC "setprotoent_r_proto='0'"
|
---|
| 6449 | $ WC "setpwent_r_proto='0'"
|
---|
| 6450 | $ WC "setservent_r_proto='0'"
|
---|
| 6451 | $ WC "srand48_r_proto='0'"
|
---|
| 6452 | $ WC "srandom_r_proto='0'"
|
---|
| 6453 | $ WC "strerror_r_proto='0'"
|
---|
| 6454 | $ WC "tmpnam_r_proto='0'"
|
---|
| 6455 | $ WC "ttyname_r_proto='" + ttyname_r_proto + "'"
|
---|
| 6456 | $!
|
---|
| 6457 | $! ##END WRITE NEW CONSTANTS HERE##
|
---|
| 6458 | $!
|
---|
| 6459 | $ CLOSE CONFIG
|
---|
| 6460 | $!
|
---|
| 6461 | $! Okay, we've gotten here. Build munchconfig.exe
|
---|
| 6462 | $ COPY/NOLOG [-.vms]munchconfig.c []
|
---|
| 6463 | $ COPY/NOLOG [-.vms]'Makefile_SH' []
|
---|
| 6464 | $ 'Perl_CC' munchconfig.c
|
---|
| 6465 | $ IF Needs_Opt
|
---|
| 6466 | $ THEN
|
---|
| 6467 | $ OPEN/WRITE CONFIG []munchconfig.opt
|
---|
| 6468 | $ IF ccname .EQS. "GCC"
|
---|
| 6469 | $ THEN
|
---|
| 6470 | $ WRITE CONFIG "Gnu_CC:[000000]gcclib.olb/library"
|
---|
| 6471 | $ ENDIF
|
---|
| 6472 | $ WRITE CONFIG "Sys$Share:VAXCRTL/Share"
|
---|
| 6473 | $ CLOSE CONFIG
|
---|
| 6474 | $ 'ld' munchconfig.obj,munchconfig.opt/opt
|
---|
| 6475 | $ DELETE/NOLOG/NOCONFIRM munchconfig.opt;
|
---|
| 6476 | $ ELSE
|
---|
| 6477 | $ 'ld' munchconfig.obj
|
---|
| 6478 | $ ENDIF
|
---|
| 6479 | $ IF F$SEARCH("munchconfig.obj") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.obj;
|
---|
| 6480 | $ IF F$SEARCH("munchconfig.c") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.c;
|
---|
| 6481 | $ IF ccname .EQS. "CXX"
|
---|
| 6482 | $ THEN
|
---|
| 6483 | $ CALL Cxx_demangler_cleanup
|
---|
| 6484 | $ ENDIF
|
---|
| 6485 | $!
|
---|
| 6486 | $ IF alldone .EQS. ""
|
---|
| 6487 | $ THEN
|
---|
| 6488 | $ cat4 SYS$INPUT:
|
---|
| 6489 | $ DECK
|
---|
| 6490 |
|
---|
| 6491 | If you'd like to make any changes to the config.sh file before I begin
|
---|
| 6492 | to configure things, answer yes to the following question.
|
---|
| 6493 |
|
---|
| 6494 | $ EOD
|
---|
| 6495 | $ bool_dflt="n"
|
---|
| 6496 | $ rp="Do you wish to edit ''basename_config_sh'? [''bool_dflt'] "
|
---|
| 6497 | $ GOSUB myread
|
---|
| 6498 | $ IF ans
|
---|
| 6499 | $ THEN
|
---|
| 6500 | $ echo4 ""
|
---|
| 6501 | $ echo4 "Be sure to type LOGOUT after you have edited the file,"
|
---|
| 6502 | $ echo4 "then this procedure will resume."
|
---|
| 6503 | $ echo4 ""
|
---|
| 6504 | $ default = F$ENVIRONMENT("DEFAULT")
|
---|
| 6505 | $ DIRECTORY 'config_sh'
|
---|
| 6506 | $ SET DEFAULT [-]
|
---|
| 6507 | $ SPAWN/WAIT
|
---|
| 6508 | $ SET DEFAULT 'default'
|
---|
| 6509 | $ ENDIF
|
---|
| 6510 | $ ENDIF
|
---|
| 6511 | $!
|
---|
| 6512 | $ echo ""
|
---|
| 6513 | $ echo4 "Adding ''osname' specific preprocessor commands."
|
---|
| 6514 | $ !
|
---|
| 6515 | $ ! we need an fdl file
|
---|
| 6516 | $ CREATE [-]CONFIG.FDL
|
---|
| 6517 | $ DECK
|
---|
| 6518 | RECORD
|
---|
| 6519 | FORMAT STREAM_LF
|
---|
| 6520 | $ EOD
|
---|
| 6521 | $ CREATE /FDL=[-]CONFIG.FDL [-]CONFIG.LOCAL
|
---|
| 6522 | $ ! First spit out the header info with the local defines (to get
|
---|
| 6523 | $ ! around the 255 character command line limit)
|
---|
| 6524 | $ OPEN/APPEND CONFIG [-]config.local
|
---|
| 6525 | $ IF use_debugging_perl THEN WC "#define DEBUGGING"
|
---|
| 6526 | $ IF use_two_pot_malloc THEN WC "#define TWO_POT_OPTIMIZE"
|
---|
| 6527 | $ IF mymalloc THEN WC "#define EMBEDMYMALLOC"
|
---|
| 6528 | $ IF use_pack_malloc THEN WC "#define PACK_MALLOC"
|
---|
| 6529 | $ IF use_debugmalloc THEN WC "#define DEBUGGING_MSTATS"
|
---|
| 6530 | $ IF ccname .EQS. "GCC" THEN WC "#define GNUC_ATTRIBUTE_CHECK"
|
---|
| 6531 | $ IF (Has_Dec_C_Sockets)
|
---|
| 6532 | $ THEN
|
---|
| 6533 | $ WC "#define VMS_DO_SOCKETS"
|
---|
| 6534 | $ WC "#define DECCRTL_SOCKETS"
|
---|
| 6535 | $ ELSE
|
---|
| 6536 | $ IF Has_Socketshr THEN WC "#define VMS_DO_SOCKETS"
|
---|
| 6537 | $ ENDIF
|
---|
| 6538 | $! This is VMS-specific for now
|
---|
| 6539 | $ WC "#''d_setenv' HAS_SETENV"
|
---|
| 6540 | $ IF d_secintgenv THEN WC "#define SECURE_INTERNAL_GETENV"
|
---|
| 6541 | $ IF d_alwdeftype THEN WC "#define ALWAYS_DEFTYPES"
|
---|
| 6542 | $ IF use64bitint .OR. use64bitint .EQS. "define"
|
---|
| 6543 | $ THEN
|
---|
| 6544 | $ WC "#define USE_64_BIT_INT"
|
---|
| 6545 | $ WC "#define USE_LONG_DOUBLE"
|
---|
| 6546 | $ ENDIF
|
---|
| 6547 | $ IF use64bitall .OR. use64bitall .EQS. "define" THEN -
|
---|
| 6548 | WC "#define USE_64_BIT_ALL"
|
---|
| 6549 | $ IF be_case_sensitive THEN WC "#define VMS_WE_ARE_CASE_SENSITIVE"
|
---|
| 6550 | $ IF d_herrno .EQS. "undef" THEN WC "#define NEED_AN_H_ERRNO"
|
---|
| 6551 | $ WC "#define HAS_ENVGETENV"
|
---|
| 6552 | $ WC "#define PERL_EXTERNAL_GLOB"
|
---|
| 6553 | $ IF archname .EQS. "VMS_VAX" .AND. -
|
---|
| 6554 | ccname .EQS. "DEC" .AND. -
|
---|
| 6555 | ccversion .LE. 50390006
|
---|
| 6556 | $ THEN
|
---|
| 6557 | $! Alas this does not help to build Fcntl
|
---|
| 6558 | $! WC "#define PERL_IGNORE_FPUSIG SIGFPE"
|
---|
| 6559 | $ ENDIF
|
---|
| 6560 | $ IF kill_by_sigprc .EQS. "define" then WC "#define KILL_BY_SIGPRC"
|
---|
| 6561 | $ IF unlink_all_versions .OR. unlink_all_versions .EQS. "define" THEN -
|
---|
| 6562 | WC "#define UNLINK_ALL_VERSIONS"
|
---|
| 6563 | $ CLOSE CONFIG
|
---|
| 6564 | $!
|
---|
| 6565 | $ echo4 "Doing variable substitutions on .SH files..."
|
---|
| 6566 | $ echo4 "Extracting config.h (with variable substitutions)"
|
---|
| 6567 | $!
|
---|
| 6568 | $! Now build the normal config.h
|
---|
| 6569 | $ DEFINE/USER_MODE sys$output [-]config.main
|
---|
| 6570 | $ mcr []munchconfig 'config_sh' [-]config_h.sh
|
---|
| 6571 | $ ! Concatenate them together
|
---|
| 6572 | $ copy [-]config.local,[-]config.main [-]config.h
|
---|
| 6573 | $! Clean up
|
---|
| 6574 | $ DELETE/NOLOG/NOCONFIRM [-]CONFIG.MAIN;*
|
---|
| 6575 | $ DELETE/NOLOG/NOCONFIRM [-]CONFIG.LOCAL;*
|
---|
| 6576 | $ DELETE/NOLOG/NOCONFIRM [-]CONFIG.FDL;*
|
---|
| 6577 | $!
|
---|
| 6578 | $ IF ccname .EQS. "DEC"
|
---|
| 6579 | $ THEN
|
---|
| 6580 | $ DECC_REPLACE = "DECC=decc=1"
|
---|
| 6581 | $ ELSE
|
---|
| 6582 | $ DECC_REPLACE = "DECC="
|
---|
| 6583 | $ ENDIF
|
---|
| 6584 | $ IF ccname .EQS. "CXX"
|
---|
| 6585 | $ THEN
|
---|
| 6586 | $ DECCXX_REPLACE = "DECCXX=DECCXX=1"
|
---|
| 6587 | $ ELSE
|
---|
| 6588 | $ DECCXX_REPLACE = "DECCXX="
|
---|
| 6589 | $ ENDIF
|
---|
| 6590 | $ IF ccname .EQS. "GCC"
|
---|
| 6591 | $ THEN
|
---|
| 6592 | $ GNUC_REPLACE = "GNUC=gnuc=1"
|
---|
| 6593 | $ ELSE
|
---|
| 6594 | $ GNUC_REPLACE = "GNUC="
|
---|
| 6595 | $ ENDIF
|
---|
| 6596 | $ IF Has_Dec_C_Sockets
|
---|
| 6597 | $ THEN
|
---|
| 6598 | $ SOCKET_REPLACE = "SOCKET=DECC_SOCKETS=1"
|
---|
| 6599 | $ ELSE
|
---|
| 6600 | $ IF Has_Socketshr
|
---|
| 6601 | $ THEN
|
---|
| 6602 | $ SOCKET_REPLACE = "SOCKET=SOCKETSHR_SOCKETS=1"
|
---|
| 6603 | $ ELSE
|
---|
| 6604 | $ SOCKET_REPLACE = "SOCKET="
|
---|
| 6605 | $ ENDIF
|
---|
| 6606 | $ ENDIF
|
---|
| 6607 | $ IF use_threads
|
---|
| 6608 | $ THEN
|
---|
| 6609 | $ IF (vms_ver .LES. "6.2")
|
---|
| 6610 | $ THEN
|
---|
| 6611 | $ THREAD_REPLACE = "THREAD=OLDTHREADED=1"
|
---|
| 6612 | $ ELSE
|
---|
| 6613 | $ THREAD_REPLACE = "THREAD=THREADED=1"
|
---|
| 6614 | $ ENDIF
|
---|
| 6615 | $ ELSE
|
---|
| 6616 | $ THREAD_REPLACE = "THREAD="
|
---|
| 6617 | $ ENDIF
|
---|
| 6618 | $ IF mymalloc
|
---|
| 6619 | $ THEN
|
---|
| 6620 | $ MALLOC_REPLACE = "MALLOC=MALLOC=1"
|
---|
| 6621 | $ ELSE
|
---|
| 6622 | $ MALLOC_REPLACE = "MALLOC="
|
---|
| 6623 | $ ENDIF
|
---|
| 6624 | $ IF uselargefiles .OR. uselargefiles .EQS. "define"
|
---|
| 6625 | $ THEN
|
---|
| 6626 | $! Perl can not use _USE_STD_STAT at the moment
|
---|
| 6627 | $! IF d_symlink .or. d_symlink .eqs. "define"
|
---|
| 6628 | $! THEN
|
---|
| 6629 | $! LARGEFILE_REPLACE = "LARGEFILE=LARGEFILE=_USE_STD_STAT=1"
|
---|
| 6630 | $! ELSE
|
---|
| 6631 | $ LARGEFILE_REPLACE = "LARGEFILE=LARGEFILE=_LARGEFILE=1"
|
---|
| 6632 | $! ENDIF
|
---|
| 6633 | $ ELSE
|
---|
| 6634 | $ LARGEFILE_REPLACE = "LARGEFILE="
|
---|
| 6635 | $ ENDIF
|
---|
| 6636 | $ echo4 "Extracting ''defmakefile' (with variable substitutions)"
|
---|
| 6637 | $ DEFINE/USER_MODE sys$output 'UUmakefile'
|
---|
| 6638 | $ mcr []munchconfig 'config_sh' 'Makefile_SH' "''DECC_REPLACE'" "''DECCXX_REPLACE'" "''ARCH_TYPE'" "''GNUC_REPLACE'" -
|
---|
| 6639 | "''SOCKET_REPLACE'" "''THREAD_REPLACE'" "''C_Compiler_Replace'" "''MALLOC_REPLACE'" -
|
---|
| 6640 | "''Thread_Live_Dangerously'" "PV=''version'" "FLAGS=FLAGS=''extra_flags'" "''LARGEFILE_REPLACE'"
|
---|
| 6641 | $! Clean up after ourselves
|
---|
| 6642 | $ DELETE/NOLOG/NOCONFIRM []munchconfig.exe;
|
---|
| 6643 | $!
|
---|
| 6644 | $ echo4 "Extracting make_ext.com (without variable substitutions)"
|
---|
| 6645 | $ Create Sys$Disk:[-]make_ext.com
|
---|
| 6646 | $ Deck/Dollar="$EndOfTpl$"
|
---|
| 6647 | $!++ make_ext.com
|
---|
| 6648 | $! NOTE: This file is extracted as part of the VMS configuration process.
|
---|
| 6649 | $! Any changes made to it directly will be lost. If you need to make any
|
---|
| 6650 | $! changes, please edit the template in Configure.Com instead.
|
---|
| 6651 | $ def = F$Environment("Default")
|
---|
| 6652 | $! p1 - how to invoke miniperl (passed in from descrip.mms)
|
---|
| 6653 | $ p1 = F$Edit(p1,"Upcase,Compress,Trim")
|
---|
| 6654 | $ If F$Locate("MCR ",p1).eq.0 Then p1 = F$Extract(3,255,p1)
|
---|
| 6655 | $ miniperl = "$" + F$Search(F$Parse(p1,".Exe"))
|
---|
| 6656 | $! p2 - how to invoke local make utility (passed in from descrip.mms)
|
---|
| 6657 | $ makeutil = p2
|
---|
| 6658 | $ if f$type('p2') .nes. "" then makeutil = 'p2'
|
---|
| 6659 | $! p3 - make target (passed in from descrip.mms)
|
---|
| 6660 | $ targ = F$Edit(p3,"Lowercase")
|
---|
| 6661 | $ sts = 1
|
---|
| 6662 | $ extensions = ""
|
---|
| 6663 | $ open/read CONFIG config.sh
|
---|
| 6664 | $ find_ext_loop:
|
---|
| 6665 | $ read/end=end_ext_loop CONFIG line
|
---|
| 6666 | $ if (f$extract(0,12,line) .NES. "extensions='")
|
---|
| 6667 | $ then goto find_ext_loop
|
---|
| 6668 | $ else extensions = f$extract(12,f$length(line),line) - "'"
|
---|
| 6669 | $ endif
|
---|
| 6670 | $ end_ext_loop:
|
---|
| 6671 | $ close CONFIG
|
---|
| 6672 | $ extensions = f$edit(extensions,"TRIM,COMPRESS")
|
---|
| 6673 | $ i = 0
|
---|
| 6674 | $ next_ext:
|
---|
| 6675 | $ ext = f$element(i," ",extensions)
|
---|
| 6676 | $ If ext .eqs. " " .or. ext .eqs. "" Then Goto done
|
---|
| 6677 | $ Define/User_mode Perl_Env_Tables CLISYM_LOCAL
|
---|
| 6678 | $ miniperl
|
---|
| 6679 | $ deck
|
---|
| 6680 | ($extdir = $ENV{'ext'}) =~ s/::/./g;
|
---|
| 6681 | $extdir =~ s#/#.#g;
|
---|
| 6682 | if ($extdir =~ /^vms/i) { $extdir =~ s/vms/.vms.ext/i; }
|
---|
| 6683 | else { $extdir = ".ext.$extdir"; }
|
---|
| 6684 | ($ENV{'extdir'} = "[$extdir]");
|
---|
| 6685 | ($ENV{'up'} = ('-') x ($extdir =~ tr/././));
|
---|
| 6686 | $ eod
|
---|
| 6687 | $ Set Default &extdir
|
---|
| 6688 | $ redesc = 0
|
---|
| 6689 | $ If F$Locate("clean",targ) .eqs. F$Length(targ)
|
---|
| 6690 | $ Then
|
---|
| 6691 | $ Write Sys$Output ""
|
---|
| 6692 | $ Write Sys$Output " Making ''ext' (dynamic)"
|
---|
| 6693 | $ On Error Then Goto done
|
---|
| 6694 | $ If F$Search("Descrip.MMS") .eqs. ""
|
---|
| 6695 | $ Then
|
---|
| 6696 | $ redesc = 1
|
---|
| 6697 | $ Else
|
---|
| 6698 | $ If F$CvTime(F$File("Descrip.MMS","rdt")) .lts. -
|
---|
| 6699 | F$CvTime(F$File("Makefile.PL","rdt")) Then redesc = 1
|
---|
| 6700 | $ EndIf
|
---|
| 6701 | $ Else
|
---|
| 6702 | $ Write Sys$Output "''targ'ing ''ext' . . ."
|
---|
| 6703 | $ On Error Then Continue
|
---|
| 6704 | $ EndIf
|
---|
| 6705 | $ If redesc Then -
|
---|
| 6706 | miniperl "-I[''up'.lib]" Makefile.PL "INST_LIB=[''up'.lib]" "INST_ARCHLIB=[''up'.lib]" "PERL_CORE=1"
|
---|
| 6707 | $ makeutil 'targ'
|
---|
| 6708 | $ i = i + 1
|
---|
| 6709 | $ Set Def &def
|
---|
| 6710 | $ Goto next_ext
|
---|
| 6711 | $ done:
|
---|
| 6712 | $ sts = $Status
|
---|
| 6713 | $ Set Def &def
|
---|
| 6714 | $ Exit sts
|
---|
| 6715 | $!-- make_ext.com
|
---|
| 6716 | $EndOfTpl$
|
---|
| 6717 | $!
|
---|
| 6718 | $! Note that the /key qualifier to search, as in:
|
---|
| 6719 | $! search README.* "=head"/key=(position=1)/window=0/output=extra.pods
|
---|
| 6720 | $! is not supported on VMS V5.5-2, hence not used in extra_pods.com.
|
---|
| 6721 | $!
|
---|
| 6722 | $ echo4 "Extracting extra_pods.com (without variable substitutions)"
|
---|
| 6723 | $ Create Sys$Disk:[-]extra_pods.com
|
---|
| 6724 | $ Deck/Dollar="$EOExtra_Pods$"
|
---|
| 6725 | $!++ extra_pods.com
|
---|
| 6726 | $! NOTE: This file is extracted as part of the VMS configuration process.
|
---|
| 6727 | $! Any changes made to it directly will be lost. If you need to make any
|
---|
| 6728 | $! changes, please edit the template in Configure.Com instead.
|
---|
| 6729 | $! Use FORCE if you've just podified a README.* file on VMS.
|
---|
| 6730 | $ if f$search("extra.pods") .eqs. "" .or. P1 .eqs. "FORCE" then -
|
---|
| 6731 | search README.* "=head"/window=0/output=extra.pods
|
---|
| 6732 | $ open/read/error=extra_close EXTRA extra.pods
|
---|
| 6733 | $extra_loop:
|
---|
| 6734 | $ read/error=extra_close/END_OF_FILE=extra_close EXTRA file
|
---|
| 6735 | $ file_type = f$edit(f$parse(file,,,"TYPE",),"LOWERCASE") - "."
|
---|
| 6736 | $ if file_type .nes. "VMS" .and. file_type .nes. "vms"
|
---|
| 6737 | $ then
|
---|
| 6738 | $ pod_file = "[.pod]perl''file_type'.pod"
|
---|
| 6739 | $ file = file - "''f$parse(file,,,"VERSION",)'"
|
---|
| 6740 | $ if p1 .eqs. "CLEAN"
|
---|
| 6741 | $ then if f$search(pod_file) .nes. "" then delete/log 'pod_file';*
|
---|
| 6742 | $ else
|
---|
| 6743 | $ do_copy := false
|
---|
| 6744 | $ if f$search(pod_file) .eqs. ""
|
---|
| 6745 | $ then do_copy := true
|
---|
| 6746 | $ else
|
---|
| 6747 | $ file_rdt = f$cvtime(f$file_attributes(file,"RDT"))
|
---|
| 6748 | $ pod_file_rdt = f$cvtime(f$file_attributes(pod_file,"RDT"))
|
---|
| 6749 | $ if file_rdt .GTS. pod_file_rdt then do_copy := true
|
---|
| 6750 | $ endif
|
---|
| 6751 | $ ! wacky method to preserve case on ODS-5 even when parse style is traditional
|
---|
| 6752 | $ if do_copy then mcr sys$disk:[]miniperl.exe -e "exit 0+$^E unless File::Copy::rmscopy(q{''file'}, q{''pod_file'});"
|
---|
| 6753 | $ endif
|
---|
| 6754 | $ endif
|
---|
| 6755 | $ goto extra_loop
|
---|
| 6756 | $extra_close:
|
---|
| 6757 | $ close EXTRA
|
---|
| 6758 | $ if p1 .eqs. "CLEAN" .and. f$search("extra.pods;-1") .nes. "" then -
|
---|
| 6759 | purge/nolog extra.pods
|
---|
| 6760 | $!-- extra_pods.com
|
---|
| 6761 | $EOExtra_Pods$
|
---|
| 6762 | $!
|
---|
| 6763 | $! Warn of dangerous symbols or logical names
|
---|
| 6764 | $!
|
---|
| 6765 | $Bad_environment: SUBROUTINE
|
---|
| 6766 | $ Bad_env = ""
|
---|
| 6767 | $ IF p2 .eqs. "SYMBOL"
|
---|
| 6768 | $ THEN
|
---|
| 6769 | $ IF f$type('p1') .nes. "" THEN Bad_env := SYMBOL
|
---|
| 6770 | $ ELSE
|
---|
| 6771 | $ IF f$trnlnm(p1) .nes. "" THEN Bad_env := LOGICAL
|
---|
| 6772 | $ ENDIF
|
---|
| 6773 | $ IF Bad_env .eqs. "SYMBOL" .or. Bad_env .eqs. "LOGICAL"
|
---|
| 6774 | $ THEN
|
---|
| 6775 | $ IF f$search("config.msg") .nes. ""
|
---|
| 6776 | $ THEN
|
---|
| 6777 | $ OPEN/APPEND CONFIG config.msg
|
---|
| 6778 | $ ELSE
|
---|
| 6779 | $ OPEN/WRITE CONFIG config.msg
|
---|
| 6780 | $ ENDIF
|
---|
| 6781 | $ IF Bad_env .eqs. "SYMBOL"
|
---|
| 6782 | $ THEN
|
---|
| 6783 | $ WRITE CONFIG ""
|
---|
| 6784 | $ WRITE CONFIG "Symbol name ''p1' found in environment as " + &p1
|
---|
| 6785 | $ WRITE CONFIG " delete before building ''package' via:"
|
---|
| 6786 | $ WRITE CONFIG " $ DELETE/SYMBOL/GLOBAL ''p1'"
|
---|
| 6787 | $ IF f$locate("""",&p1) .ge. f$length(&p1)
|
---|
| 6788 | $ THEN
|
---|
| 6789 | $ WRITE CONFIG " after building, testing, and installing ''package'"
|
---|
| 6790 | $ WRITE CONFIG " restore the symbol with:"
|
---|
| 6791 | $ WRITE CONFIG " $ ''p1' == """ + &p1 + """"
|
---|
| 6792 | $ ENDIF
|
---|
| 6793 | $ ENDIF
|
---|
| 6794 | $ IF Bad_env .eqs. "LOGICAL"
|
---|
| 6795 | $ THEN
|
---|
| 6796 | $ WRITE CONFIG ""
|
---|
| 6797 | $ WRITE CONFIG "Logical name ''p1' found in environment as " + f$trnlnm(p1)
|
---|
| 6798 | $ WRITE CONFIG " deassign before building ''package'"
|
---|
| 6799 | $ ENDIF
|
---|
| 6800 | $ CLOSE CONFIG
|
---|
| 6801 | $ Bad_env = ""
|
---|
| 6802 | $ ENDIF
|
---|
| 6803 | $ EXIT
|
---|
| 6804 | $ ENDSUBROUTINE ! Bad_environment
|
---|
| 6805 | $ echo ""
|
---|
| 6806 | $ echo4 "Checking for dangerous pre-existing global symbols and logical names."
|
---|
| 6807 | $ CALL Bad_environment "COMP"
|
---|
| 6808 | $ CALL Bad_environment "EXT"
|
---|
| 6809 | $ CALL Bad_environment "FOO"
|
---|
| 6810 | $ CALL Bad_environment "LIB"
|
---|
| 6811 | $ CALL Bad_environment "LIST"
|
---|
| 6812 | $ CALL Bad_environment "MIME"
|
---|
| 6813 | $ CALL Bad_environment "POSIX"
|
---|
| 6814 | $ CALL Bad_environment "SYS"
|
---|
| 6815 | $ CALL Bad_environment "T"
|
---|
| 6816 | $ CALL Bad_environment "THREAD"
|
---|
| 6817 | $ CALL Bad_environment "THREADS"
|
---|
| 6818 | $ CALL Bad_environment "TIME"
|
---|
| 6819 | $ CALL Bad_environment "TMP"
|
---|
| 6820 | $ CALL Bad_environment "UNICODE"
|
---|
| 6821 | $ CALL Bad_environment "UTIL"
|
---|
| 6822 | $ CALL Bad_environment "TEST" "SYMBOL"
|
---|
| 6823 | $ IF f$search("config.msg") .eqs. "" THEN echo "OK."
|
---|
| 6824 | $!
|
---|
| 6825 | $! %Config-I-VMS, write perl_setup.com here
|
---|
| 6826 | $!
|
---|
| 6827 | $ IF (.NOT.perl_symbol)
|
---|
| 6828 | $ THEN
|
---|
| 6829 | $ file_2_find = "[-]''packageup'.cld"
|
---|
| 6830 | $ echo ""
|
---|
| 6831 | $ echo4 "The perl.cld file is now being written..."
|
---|
| 6832 | $ OPEN/WRITE CONFIG 'file_2_find'
|
---|
| 6833 | $ ext = ".exe"
|
---|
| 6834 | $ IF (sharedperl .AND. F$EXTRACT(0,7,archname) .EQS. "VMS_AXP") THEN ext := .AXE
|
---|
| 6835 | $ IF (sharedperl .AND. F$EXTRACT(0,8,archname) .EQS. "VMS_IA64") THEN ext := .IXE
|
---|
| 6836 | $ IF (use_vmsdebug_perl)
|
---|
| 6837 | $ THEN
|
---|
| 6838 | $ WRITE CONFIG "define verb dbgperl"
|
---|
| 6839 | $ WRITE CONFIG F$FAO("!_!AS","image ''vms_prefix':[000000]dbgperl''ext'")
|
---|
| 6840 | $ WRITE CONFIG F$FAO("!_!AS","cliflags (foreign)")
|
---|
| 6841 | $ WRITE CONFIG ""
|
---|
| 6842 | $ WRITE CONFIG "define verb perl"
|
---|
| 6843 | $ WRITE CONFIG F$FAO("!_!AS","image ''vms_prefix':[000000]ndbgPerl''ext'")
|
---|
| 6844 | $ WRITE CONFIG F$FAO("!_!AS","cliflags (foreign)")
|
---|
| 6845 | $ ELSE
|
---|
| 6846 | $ WRITE CONFIG "define verb perl"
|
---|
| 6847 | $ WRITE CONFIG F$FAO("!_!AS","image ''vms_prefix':[000000]perl''ext'")
|
---|
| 6848 | $ WRITE CONFIG F$FAO("!_!AS","cliflags (foreign)")
|
---|
| 6849 | $ ENDIF
|
---|
| 6850 | $ CLOSE CONFIG
|
---|
| 6851 | $ ENDIF ! (.NOT.perl_symbol)
|
---|
| 6852 | $ echo ""
|
---|
| 6853 | $ echo4 "The perl_setup.com file is now being written..."
|
---|
| 6854 | $ file_2_find = "[-]perl_setup.com"
|
---|
| 6855 | $!
|
---|
| 6856 | $! Folks are likely to want to edit perl_setup.com.
|
---|
| 6857 | $! STMLF RFM plays nicer with ported editors than does VFC.
|
---|
| 6858 | $!
|
---|
| 6859 | $ CREATE [-]CONFIG.FDL
|
---|
| 6860 | $ DECK
|
---|
| 6861 | RECORD
|
---|
| 6862 | FORMAT STREAM_LF
|
---|
| 6863 | $ EOD
|
---|
| 6864 | $ CREATE /FDL=[-]CONFIG.FDL 'file_2_find'
|
---|
| 6865 | $ OPEN/APPEND CONFIG 'file_2_find'
|
---|
| 6866 | $ DELETE/NOLOG/NOCONFIRM [-]CONFIG.FDL;
|
---|
| 6867 | $ WRITE CONFIG "$!"
|
---|
| 6868 | $ WRITE CONFIG "$! Perl_Setup.com ''cf_time'"
|
---|
| 6869 | $ IF cf_email.NES.perladmin
|
---|
| 6870 | $ THEN
|
---|
| 6871 | $ WRITE CONFIG "$! perl configured by ''cf_email'"
|
---|
| 6872 | $ ELSE
|
---|
| 6873 | $ WRITE CONFIG "$! This perl configured & administered by ''perladmin'"
|
---|
| 6874 | $ ENDIF
|
---|
| 6875 | $ WRITE CONFIG "$!"
|
---|
| 6876 | $! HP hack to make distributing binaries easier
|
---|
| 6877 | $!----------------------------------------------
|
---|
| 6878 | $ pcsi_producer = f$trnlnm("PCSI_PRODUCER")
|
---|
| 6879 | $ if pcsi_producer .eqs. ""
|
---|
| 6880 | $ then
|
---|
| 6881 | $ prefix = prefix - "000000."
|
---|
| 6882 | $ IF F$LOCATE(".]",prefix) .EQ. F$LENGTH(prefix) THEN prefix = prefix - "]" + ".]"
|
---|
| 6883 | $ WRITE CONFIG "$ define/translation=concealed ''vms_prefix' ''prefix'"
|
---|
| 6884 | $ else
|
---|
| 6885 | $ WRITE CONFIG "$ myproc = f$environment(""PROCEDURE"")"
|
---|
| 6886 | $ WRITE CONFIG "$ myroot_dev = f$parse(myproc,,,""DEVICE"",""NO_CONCEAL"")"
|
---|
| 6887 | $ WRITE CONFIG "$ myroot_dir = f$parse(myproc,,,""DIRECTORY"",""NO_CONCEAL"")"
|
---|
| 6888 | $ WRITE CONFIG "$ myroot_dir = myroot_dir - ""][000000."" - ""><000000."""
|
---|
| 6889 | $ WRITE CONFIG "$ myroot_dir = myroot_dir - ""][000000]"" - ""><000000>"""
|
---|
| 6890 | $ WRITE CONFIG "$ myroot_dir = myroot_dir - ""]["" - ""><"""
|
---|
| 6891 | $ WRITE CONFIG "$ myroot_dir = myroot_dir - "".]"" - "".>"" - ""["" - ""]"" - ""<"" - "">"""
|
---|
| 6892 | $ WRITE CONFIG "$ if f$trnlnm(""HP_BUILD_PERL_BIN_KIT"",""LNM$PROCESS_TABLE"") .EQS. """""
|
---|
| 6893 | $ WRITE CONFIG "$ then"
|
---|
| 6894 | $ WRITE CONFIG "$ define/translation=concealed ''vms_prefix' 'myroot_dev'['myroot_dir'.]"
|
---|
| 6895 | $ WRITE CONFIG "$ endif"
|
---|
| 6896 | $ endif
|
---|
| 6897 | $
|
---|
| 6898 | $ prefix = prefix - "000000."
|
---|
| 6899 | $ IF F$LOCATE(".]",prefix) .EQ. F$LENGTH(prefix) THEN prefix = prefix - "]" + ".]"
|
---|
| 6900 | $ WRITE CONFIG "$ define/translation=concealed ''vms_prefix' ''prefix'"
|
---|
| 6901 |
|
---|
| 6902 |
|
---|
| 6903 | $ WRITE CONFIG "$ ext = "".exe"""
|
---|
| 6904 | $ IF sharedperl
|
---|
| 6905 | $ THEN
|
---|
| 6906 | $ WRITE CONFIG "$ if f$getsyi(""ARCH_TYPE"") .eq. 2 then ext = "".AXE"""
|
---|
| 6907 | $ WRITE CONFIG "$ if f$getsyi(""ARCH_TYPE"") .eq. 3 then ext = "".IXE"""
|
---|
| 6908 | $ ENDIF
|
---|
| 6909 | $ IF (perl_symbol)
|
---|
| 6910 | $ THEN
|
---|
| 6911 | $ perl_setup_perl = "'" + "'perl'" ! triple quoted foreign command symbol
|
---|
| 6912 | $ IF (use_vmsdebug_perl)
|
---|
| 6913 | $ THEN
|
---|
| 6914 | $ WRITE CONFIG "$ dbgperl :== $''vms_prefix':[000000]dbgperl'ext'"
|
---|
| 6915 | $ WRITE CONFIG "$ perl :== $''vms_prefix':[000000]ndbgperl'ext'"
|
---|
| 6916 | $ WRITE CONFIG "$ define dbgperlshr ''vms_prefix':[000000]dbgperlshr'ext'"
|
---|
| 6917 | $ ELSE
|
---|
| 6918 | $ WRITE CONFIG "$ perl :== $''vms_prefix':[000000]Perl'ext'"
|
---|
| 6919 | $ WRITE CONFIG "$ define perlshr ''vms_prefix':[000000]perlshr'ext'"
|
---|
| 6920 | $ ENDIF
|
---|
| 6921 | $ ELSE ! .NOT.perl_symbol
|
---|
| 6922 | $ perl_setup_perl = "perl" ! command verb
|
---|
| 6923 | $ IF (use_vmsdebug_perl)
|
---|
| 6924 | $ THEN
|
---|
| 6925 | $ WRITE CONFIG "$ define dbgperlshr ''vms_prefix':[000000]dbgperlshr'ext'"
|
---|
| 6926 | $ ELSE
|
---|
| 6927 | $ WRITE CONFIG "$ define perlshr ''vms_prefix':[000000]perlshr'ext'"
|
---|
| 6928 | $ ENDIF
|
---|
| 6929 | $ IF perl_verb .EQS. "PROCESS"
|
---|
| 6930 | $ THEN
|
---|
| 6931 | $ WRITE CONFIG "$ set command ''vms_prefix':[000000]''packageup'.CLD"
|
---|
| 6932 | $ ENDIF
|
---|
| 6933 | $ ENDIF ! perl_symbol
|
---|
| 6934 | $ WRITE CONFIG "$ define/nolog pod2text ''vms_prefix':[lib.pod]pod2text.com"
|
---|
| 6935 | $ WRITE CONFIG "$ define/nolog pod2html ''vms_prefix':[lib.pod]pod2html.com"
|
---|
| 6936 | $ WRITE CONFIG "$ define/nolog pod2man ''vms_prefix':[lib.pod]pod2man.com"
|
---|
| 6937 | $!
|
---|
| 6938 | $ IF (tzneedset)
|
---|
| 6939 | $ THEN
|
---|
| 6940 | $ WRITE CONFIG "$ define SYS$TIMEZONE_DIFFERENTIAL ''tzd'"
|
---|
| 6941 | $ ELSE !leave in but commented out (in case setting was from perl :-)
|
---|
| 6942 | $ WRITE CONFIG "$! define SYS$TIMEZONE_DIFFERENTIAL ''tzd'"
|
---|
| 6943 | $ ENDIF
|
---|
| 6944 | $ WRITE CONFIG "$!"
|
---|
| 6945 | $ WRITE CONFIG "$! Symbols for commonly used programs:"
|
---|
| 6946 | $ WRITE CONFIG "$!"
|
---|
| 6947 | $ WRITE CONFIG "$ c2ph == """ + perl_setup_perl + " ''vms_prefix':[utils]c2ph.com"""
|
---|
| 6948 | $ WRITE CONFIG "$ cpan == """ + perl_setup_perl + " ''vms_prefix':[utils]cpan.com"""
|
---|
| 6949 | $ IF F$LOCATE("Devel::DProf",extensions) .LT. F$LENGTH(extensions)
|
---|
| 6950 | $ THEN
|
---|
| 6951 | $ WRITE CONFIG "$ dprofpp == """ + perl_setup_perl + " ''vms_prefix':[utils]dprofpp.com"""
|
---|
| 6952 | $ ENDIF
|
---|
| 6953 | $ WRITE CONFIG "$ enc2xs == """ + perl_setup_perl + " ''vms_prefix':[utils]enc2xs.com"""
|
---|
| 6954 | $ WRITE CONFIG "$ find2perl == """ + perl_setup_perl + " ''vms_prefix':[utils]find2perl.com"""
|
---|
| 6955 | $ WRITE CONFIG "$ h2ph == """ + perl_setup_perl + " ''vms_prefix':[utils]h2ph.com"""
|
---|
| 6956 | $ WRITE CONFIG "$ h2xs == """ + perl_setup_perl + " ''vms_prefix':[utils]h2xs.com"""
|
---|
| 6957 | $ WRITE CONFIG "$ instmodsh == """ + perl_setup_perl + " ''vms_prefix':[utils]instmodsh.com"""
|
---|
| 6958 | $ WRITE CONFIG "$ libnetcfg == """ + perl_setup_perl + " ''vms_prefix':[utils]libnetcfg.com"""
|
---|
| 6959 | $ WRITE CONFIG "$ perlbug == """ + perl_setup_perl + " ''vms_prefix':[lib]perlbug.com"""
|
---|
| 6960 | $ WRITE CONFIG "$!perlcc == """ + perl_setup_perl + " ''vms_prefix':[utils]perlcc.com"""
|
---|
| 6961 | $ WRITE CONFIG "$ perldoc == """ + perl_setup_perl + " ''vms_prefix':[lib.pods]perldoc.com -t"""
|
---|
| 6962 | $ WRITE CONFIG "$ perlivp == """ + perl_setup_perl + " ''vms_prefix':[utils]perlivp.com"""
|
---|
| 6963 | $ WRITE CONFIG "$ piconv == """ + perl_setup_perl + " ''vms_prefix':[utils]piconv.com"""
|
---|
| 6964 | $ WRITE CONFIG "$ pl2pm == """ + perl_setup_perl + " ''vms_prefix':[utils]pl2pm.com"""
|
---|
| 6965 | $ WRITE CONFIG "$ pod2html == """ + perl_setup_perl + " ''vms_prefix':[utils]pod2html"""
|
---|
| 6966 | $ WRITE CONFIG "$ pod2latex == """ + perl_setup_perl + " ''vms_prefix':[lib.pod]pod2latex.com"""
|
---|
| 6967 | $ WRITE CONFIG "$ pod2text == """ + perl_setup_perl + " ''vms_prefix':[utils]pod2text"""
|
---|
| 6968 | $ WRITE CONFIG "$!pod2man == """ + perl_setup_perl + " ''vms_prefix':[utils]pod2man"""
|
---|
| 6969 | $ WRITE CONFIG "$ pod2usage == """ + perl_setup_perl + " ''vms_prefix':[utils]pod2usage.com"""
|
---|
| 6970 | $ WRITE CONFIG "$ podchecker == """ + perl_setup_perl + " ''vms_prefix':[utils]podchecker.com"""
|
---|
| 6971 | $ WRITE CONFIG "$ podselect == """ + perl_setup_perl + " ''vms_prefix':[utils]podselect.com"""
|
---|
| 6972 | $ WRITE CONFIG "$ prove == """ + perl_setup_perl + " ''vms_prefix':[utils]prove.com"""
|
---|
| 6973 | $ WRITE CONFIG "$ psed == """ + perl_setup_perl + " ''vms_prefix':[utils]psed.com"""
|
---|
| 6974 | $ WRITE CONFIG "$ pstruct == """ + perl_setup_perl + " ''vms_prefix':[utils]pstruct.com"""
|
---|
| 6975 | $ WRITE CONFIG "$ s2p == """ + perl_setup_perl + " ''vms_prefix':[utils]s2p.com"""
|
---|
| 6976 | $ WRITE CONFIG "$ splain == """ + perl_setup_perl + " ''vms_prefix':[utils]splain.com"""
|
---|
| 6977 | $ WRITE CONFIG "$ xsubpp == """ + perl_setup_perl + " ''vms_prefix':[utils]xsubpp.com"""
|
---|
| 6978 | $ CLOSE CONFIG
|
---|
| 6979 | $!
|
---|
| 6980 | $ echo ""
|
---|
| 6981 | $ echo "The file can be found at:"
|
---|
| 6982 | $ echo4 " ''F$SEARCH(file_2_find)'"
|
---|
| 6983 | $ echo "Add that file (or an @ call to it) to your [SY]LOGIN.COM"
|
---|
| 6984 | $ echo "when you are satisfied with a successful compilation,"
|
---|
| 6985 | $ echo "testing, and installation of your perl."
|
---|
| 6986 | $ echo ""
|
---|
| 6987 | $ IF ((.NOT.perl_symbol) .AND. (perl_verb .EQS. "DCLTABLES"))
|
---|
| 6988 | $ THEN
|
---|
| 6989 | $ file_2_find = "[-]''packageup'_install.com"
|
---|
| 6990 | $ OPEN/WRITE CONFIG 'file_2_find'
|
---|
| 6991 | $ WRITE CONFIG "$ set command perl /table=sys$common:[syslib]dcltables.exe -"
|
---|
| 6992 | $ WRITE CONFIG " /output=sys$common:[syslib]dcltables.exe"
|
---|
| 6993 | $ WRITE CONFIG "$ install replace sys$common:[syslib]dcltables.exe"
|
---|
| 6994 | $ CLOSE CONFIG
|
---|
| 6995 | $ echo4 ""
|
---|
| 6996 | $ echo4 "In order to install the ''packageup' verb into DCLTABLES run:"
|
---|
| 6997 | $ echo4 " @ ''F$SEARCH(file_2_find)'"
|
---|
| 6998 | $ echo4 "after a successful build, test, and install. Do so with CMKRNL privilege."
|
---|
| 6999 | $ echo4 ""
|
---|
| 7000 | $ ENDIF
|
---|
| 7001 | $!
|
---|
| 7002 | $!figure out where we "are" by parsing 'vms_default_directory_name'
|
---|
| 7003 | $!
|
---|
| 7004 | $ set_def_command = ""
|
---|
| 7005 | $ dflt = F$ENVIRONMENT("DEFAULT") - ".UU]"
|
---|
| 7006 | $ tmp = vms_default_directory_name - dflt - "]"
|
---|
| 7007 | $ i = 0
|
---|
| 7008 | $ IF tmp .EQS. "" THEN GOTO Beyond_set_def_loop
|
---|
| 7009 | $Set_def_loop:
|
---|
| 7010 | $ tmp1 = F$ELEMENT(i,".",tmp)
|
---|
| 7011 | $ IF tmp1 .EQS. "." THEN GOTO Beyond_set_def_loop
|
---|
| 7012 | $ IF i .EQ. 0
|
---|
| 7013 | $ THEN set_def_command = "set default [-"
|
---|
| 7014 | $ ELSE set_def_command = set_def_command + "-"
|
---|
| 7015 | $ ENDIF
|
---|
| 7016 | $ i = i + 1
|
---|
| 7017 | $ GOTO Set_def_loop
|
---|
| 7018 | $Beyond_set_def_loop:
|
---|
| 7019 | $ IF set_def_command.NES.""
|
---|
| 7020 | $ THEN
|
---|
| 7021 | $ set_def_command = set_def_command - "-" + "]"
|
---|
| 7022 | $ echo4 ""
|
---|
| 7023 | $ echo4 "In order to build ''package' you must now issue the commands:"
|
---|
| 7024 | $ echo4 ""
|
---|
| 7025 | $ echo4 " ''set_def_command'"
|
---|
| 7026 | $ ELSE
|
---|
| 7027 | $ echo4 ""
|
---|
| 7028 | $ echo4 "In order to build ''package' you must now issue the command:"
|
---|
| 7029 | $ echo4 ""
|
---|
| 7030 | $ ENDIF
|
---|
| 7031 | $ echo4 " ''make'''makefile'", macros
|
---|
| 7032 | $ echo4 ""
|
---|
| 7033 | $!
|
---|
| 7034 | $ IF ( F$SEARCH("config.msg").NES."" )
|
---|
| 7035 | $ THEN
|
---|
| 7036 | $ echo4 "Hmm. I also noted the following information while running:"
|
---|
| 7037 | $ echo4 ""
|
---|
| 7038 | $ TYPE/OUTPUT=SYS$ERROR: config.msg
|
---|
| 7039 | $ SET PROTECTION=(SYSTEM:RWED,OWNER:RWED) config.msg
|
---|
| 7040 | $ DELETE/NOLOG/NOCONFIRM config.msg;
|
---|
| 7041 | $ ENDIF
|
---|
| 7042 | $!
|
---|
| 7043 | $Clean_up:
|
---|
| 7044 | $ SET NOON
|
---|
| 7045 | $ IF (silent)
|
---|
| 7046 | $ THEN
|
---|
| 7047 | $ CLOSE/NOLOG STDOUT
|
---|
| 7048 | $ DEASSIGN SYS$OUTPUT
|
---|
| 7049 | $ ENDIF
|
---|
| 7050 | $ CLOSE/NOLOG CONFIG
|
---|
| 7051 | $ IF F$GETJPI("","FILCNT").GT.vms_filcnt
|
---|
| 7052 | $ THEN WRITE SYS$ERROR "%Config-W-VMS, WARNING: There is a file still open"
|
---|
| 7053 | $ ENDIF
|
---|
| 7054 | $ dflt = F$ENVIRONMENT("DEFAULT")
|
---|
| 7055 | $ IF F$LOCATE("UU]",dflt).EQS.(F$LENGTH(dflt)-3)
|
---|
| 7056 | $ THEN
|
---|
| 7057 | $ IF ( F$SEARCH("[]*.*").NES."" ) THEN DELETE/NOLOG/NOCONFIRM []*.*;*
|
---|
| 7058 | $ SET DEFAULT [-]
|
---|
| 7059 | $ SET PROTECTION=(SYSTEM:RWED,OWNER:RWED) UU.DIR
|
---|
| 7060 | $ DELETE/NOLOG/NOCONFIRM UU.DIR;
|
---|
| 7061 | $ ENDIF
|
---|
| 7062 | $ SET DEFAULT 'vms_default_directory_name' !be kind rewind
|
---|
| 7063 | $ EXIT
|
---|
| 7064 | $!: End of Configure
|
---|