aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2020-06-28 13:22:44 -0700
committerPaul Eggert2020-06-28 13:24:06 -0700
commit665014452dec841302785bcd0fc4dc96d93f3d30 (patch)
tree2fb65ad54fd18d9e9c5e717dc2ef03f0ad024c7a
parent162f375bac22786d95a253f03de0148be4fe3201 (diff)
downloademacs-665014452dec841302785bcd0fc4dc96d93f3d30.tar.gz
emacs-665014452dec841302785bcd0fc4dc96d93f3d30.zip
Update from Gnulib.
This incorporates: 2020-06-28 getrandom: do not depend on ‘open’ on mingw 2020-06-28 getrandom: fix compilation errors on older versions of mingw * build-aux/config.sub, lib/getrandom.c, m4/getrandom.m4: Copy from Gnulib * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
-rwxr-xr-xbuild-aux/config.sub568
-rw-r--r--lib/getrandom.c11
-rw-r--r--lib/gnulib.mk.in4
-rw-r--r--m4/getrandom.m43
-rw-r--r--m4/gnulib-comp.m438
5 files changed, 352 insertions, 272 deletions
diff --git a/build-aux/config.sub b/build-aux/config.sub
index 186616ac7a9..ce89d5c546c 100755
--- a/build-aux/config.sub
+++ b/build-aux/config.sub
@@ -2,7 +2,7 @@
2# Configuration validation subroutine script. 2# Configuration validation subroutine script.
3# Copyright 1992-2020 Free Software Foundation, Inc. 3# Copyright 1992-2020 Free Software Foundation, Inc.
4 4
5timestamp='2020-06-20' 5timestamp='2020-06-28'
6 6
7# This file is free software; you can redistribute it and/or modify it 7# This file is free software; you can redistribute it and/or modify it
8# under the terms of the GNU General Public License as published by 8# under the terms of the GNU General Public License as published by
@@ -124,28 +124,27 @@ case $1 in
124 ;; 124 ;;
125 *-*-*-*) 125 *-*-*-*)
126 basic_machine=$field1-$field2 126 basic_machine=$field1-$field2
127 os=$field3-$field4 127 basic_os=$field3-$field4
128 ;; 128 ;;
129 *-*-*) 129 *-*-*)
130 # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two 130 # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
131 # parts 131 # parts
132 maybe_os=$field2-$field3 132 maybe_os=$field2-$field3
133 case $maybe_os in 133 case $maybe_os in
134 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ 134 nto-qnx* | linux-* | uclinux-uclibc* \
135 | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
136 | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ 135 | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
137 | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ 136 | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
138 | storm-chaos* | os2-emx* | rtmk-nova*) 137 | storm-chaos* | os2-emx* | rtmk-nova*)
139 basic_machine=$field1 138 basic_machine=$field1
140 os=$maybe_os 139 basic_os=$maybe_os
141 ;; 140 ;;
142 android-linux) 141 android-linux)
143 basic_machine=$field1-unknown 142 basic_machine=$field1-unknown
144 os=linux-android 143 basic_os=linux-android
145 ;; 144 ;;
146 *) 145 *)
147 basic_machine=$field1-$field2 146 basic_machine=$field1-$field2
148 os=$field3 147 basic_os=$field3
149 ;; 148 ;;
150 esac 149 esac
151 ;; 150 ;;
@@ -154,7 +153,7 @@ case $1 in
154 case $field1-$field2 in 153 case $field1-$field2 in
155 decstation-3100) 154 decstation-3100)
156 basic_machine=mips-dec 155 basic_machine=mips-dec
157 os= 156 basic_os=
158 ;; 157 ;;
159 *-*) 158 *-*)
160 # Second component is usually, but not always the OS 159 # Second component is usually, but not always the OS
@@ -162,7 +161,7 @@ case $1 in
162 # Prevent following clause from handling this valid os 161 # Prevent following clause from handling this valid os
163 sun*os*) 162 sun*os*)
164 basic_machine=$field1 163 basic_machine=$field1
165 os=$field2 164 basic_os=$field2
166 ;; 165 ;;
167 # Manufacturers 166 # Manufacturers
168 dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ 167 dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
@@ -175,11 +174,11 @@ case $1 in
175 | microblaze* | sim | cisco \ 174 | microblaze* | sim | cisco \
176 | oki | wec | wrs | winbond) 175 | oki | wec | wrs | winbond)
177 basic_machine=$field1-$field2 176 basic_machine=$field1-$field2
178 os= 177 basic_os=
179 ;; 178 ;;
180 *) 179 *)
181 basic_machine=$field1 180 basic_machine=$field1
182 os=$field2 181 basic_os=$field2
183 ;; 182 ;;
184 esac 183 esac
185 ;; 184 ;;
@@ -191,451 +190,451 @@ case $1 in
191 case $field1 in 190 case $field1 in
192 386bsd) 191 386bsd)
193 basic_machine=i386-pc 192 basic_machine=i386-pc
194 os=bsd 193 basic_os=bsd
195 ;; 194 ;;
196 a29khif) 195 a29khif)
197 basic_machine=a29k-amd 196 basic_machine=a29k-amd
198 os=udi 197 basic_os=udi
199 ;; 198 ;;
200 adobe68k) 199 adobe68k)
201 basic_machine=m68010-adobe 200 basic_machine=m68010-adobe
202 os=scout 201 basic_os=scout
203 ;; 202 ;;
204 alliant) 203 alliant)
205 basic_machine=fx80-alliant 204 basic_machine=fx80-alliant
206 os= 205 basic_os=
207 ;; 206 ;;
208 altos | altos3068) 207 altos | altos3068)
209 basic_machine=m68k-altos 208 basic_machine=m68k-altos
210 os= 209 basic_os=
211 ;; 210 ;;
212 am29k) 211 am29k)
213 basic_machine=a29k-none 212 basic_machine=a29k-none
214 os=bsd 213 basic_os=bsd
215 ;; 214 ;;
216 amdahl) 215 amdahl)
217 basic_machine=580-amdahl 216 basic_machine=580-amdahl
218 os=sysv 217 basic_os=sysv
219 ;; 218 ;;
220 amiga) 219 amiga)
221 basic_machine=m68k-unknown 220 basic_machine=m68k-unknown
222 os= 221 basic_os=
223 ;; 222 ;;
224 amigaos | amigados) 223 amigaos | amigados)
225 basic_machine=m68k-unknown 224 basic_machine=m68k-unknown
226 os=amigaos 225 basic_os=amigaos
227 ;; 226 ;;
228 amigaunix | amix) 227 amigaunix | amix)
229 basic_machine=m68k-unknown 228 basic_machine=m68k-unknown
230 os=sysv4 229 basic_os=sysv4
231 ;; 230 ;;
232 apollo68) 231 apollo68)
233 basic_machine=m68k-apollo 232 basic_machine=m68k-apollo
234 os=sysv 233 basic_os=sysv
235 ;; 234 ;;
236 apollo68bsd) 235 apollo68bsd)
237 basic_machine=m68k-apollo 236 basic_machine=m68k-apollo
238 os=bsd 237 basic_os=bsd
239 ;; 238 ;;
240 aros) 239 aros)
241 basic_machine=i386-pc 240 basic_machine=i386-pc
242 os=aros 241 basic_os=aros
243 ;; 242 ;;
244 aux) 243 aux)
245 basic_machine=m68k-apple 244 basic_machine=m68k-apple
246 os=aux 245 basic_os=aux
247 ;; 246 ;;
248 balance) 247 balance)
249 basic_machine=ns32k-sequent 248 basic_machine=ns32k-sequent
250 os=dynix 249 basic_os=dynix
251 ;; 250 ;;
252 blackfin) 251 blackfin)
253 basic_machine=bfin-unknown 252 basic_machine=bfin-unknown
254 os=linux 253 basic_os=linux
255 ;; 254 ;;
256 cegcc) 255 cegcc)
257 basic_machine=arm-unknown 256 basic_machine=arm-unknown
258 os=cegcc 257 basic_os=cegcc
259 ;; 258 ;;
260 convex-c1) 259 convex-c1)
261 basic_machine=c1-convex 260 basic_machine=c1-convex
262 os=bsd 261 basic_os=bsd
263 ;; 262 ;;
264 convex-c2) 263 convex-c2)
265 basic_machine=c2-convex 264 basic_machine=c2-convex
266 os=bsd 265 basic_os=bsd
267 ;; 266 ;;
268 convex-c32) 267 convex-c32)
269 basic_machine=c32-convex 268 basic_machine=c32-convex
270 os=bsd 269 basic_os=bsd
271 ;; 270 ;;
272 convex-c34) 271 convex-c34)
273 basic_machine=c34-convex 272 basic_machine=c34-convex
274 os=bsd 273 basic_os=bsd
275 ;; 274 ;;
276 convex-c38) 275 convex-c38)
277 basic_machine=c38-convex 276 basic_machine=c38-convex
278 os=bsd 277 basic_os=bsd
279 ;; 278 ;;
280 cray) 279 cray)
281 basic_machine=j90-cray 280 basic_machine=j90-cray
282 os=unicos 281 basic_os=unicos
283 ;; 282 ;;
284 crds | unos) 283 crds | unos)
285 basic_machine=m68k-crds 284 basic_machine=m68k-crds
286 os= 285 basic_os=
287 ;; 286 ;;
288 da30) 287 da30)
289 basic_machine=m68k-da30 288 basic_machine=m68k-da30
290 os= 289 basic_os=
291 ;; 290 ;;
292 decstation | pmax | pmin | dec3100 | decstatn) 291 decstation | pmax | pmin | dec3100 | decstatn)
293 basic_machine=mips-dec 292 basic_machine=mips-dec
294 os= 293 basic_os=
295 ;; 294 ;;
296 delta88) 295 delta88)
297 basic_machine=m88k-motorola 296 basic_machine=m88k-motorola
298 os=sysv3 297 basic_os=sysv3
299 ;; 298 ;;
300 dicos) 299 dicos)
301 basic_machine=i686-pc 300 basic_machine=i686-pc
302 os=dicos 301 basic_os=dicos
303 ;; 302 ;;
304 djgpp) 303 djgpp)
305 basic_machine=i586-pc 304 basic_machine=i586-pc
306 os=msdosdjgpp 305 basic_os=msdosdjgpp
307 ;; 306 ;;
308 ebmon29k) 307 ebmon29k)
309 basic_machine=a29k-amd 308 basic_machine=a29k-amd
310 os=ebmon 309 basic_os=ebmon
311 ;; 310 ;;
312 es1800 | OSE68k | ose68k | ose | OSE) 311 es1800 | OSE68k | ose68k | ose | OSE)
313 basic_machine=m68k-ericsson 312 basic_machine=m68k-ericsson
314 os=ose 313 basic_os=ose
315 ;; 314 ;;
316 gmicro) 315 gmicro)
317 basic_machine=tron-gmicro 316 basic_machine=tron-gmicro
318 os=sysv 317 basic_os=sysv
319 ;; 318 ;;
320 go32) 319 go32)
321 basic_machine=i386-pc 320 basic_machine=i386-pc
322 os=go32 321 basic_os=go32
323 ;; 322 ;;
324 h8300hms) 323 h8300hms)
325 basic_machine=h8300-hitachi 324 basic_machine=h8300-hitachi
326 os=hms 325 basic_os=hms
327 ;; 326 ;;
328 h8300xray) 327 h8300xray)
329 basic_machine=h8300-hitachi 328 basic_machine=h8300-hitachi
330 os=xray 329 basic_os=xray
331 ;; 330 ;;
332 h8500hms) 331 h8500hms)
333 basic_machine=h8500-hitachi 332 basic_machine=h8500-hitachi
334 os=hms 333 basic_os=hms
335 ;; 334 ;;
336 harris) 335 harris)
337 basic_machine=m88k-harris 336 basic_machine=m88k-harris
338 os=sysv3 337 basic_os=sysv3
339 ;; 338 ;;
340 hp300 | hp300hpux) 339 hp300 | hp300hpux)
341 basic_machine=m68k-hp 340 basic_machine=m68k-hp
342 os=hpux 341 basic_os=hpux
343 ;; 342 ;;
344 hp300bsd) 343 hp300bsd)
345 basic_machine=m68k-hp 344 basic_machine=m68k-hp
346 os=bsd 345 basic_os=bsd
347 ;; 346 ;;
348 hppaosf) 347 hppaosf)
349 basic_machine=hppa1.1-hp 348 basic_machine=hppa1.1-hp
350 os=osf 349 basic_os=osf
351 ;; 350 ;;
352 hppro) 351 hppro)
353 basic_machine=hppa1.1-hp 352 basic_machine=hppa1.1-hp
354 os=proelf 353 basic_os=proelf
355 ;; 354 ;;
356 i386mach) 355 i386mach)
357 basic_machine=i386-mach 356 basic_machine=i386-mach
358 os=mach 357 basic_os=mach
359 ;; 358 ;;
360 isi68 | isi) 359 isi68 | isi)
361 basic_machine=m68k-isi 360 basic_machine=m68k-isi
362 os=sysv 361 basic_os=sysv
363 ;; 362 ;;
364 m68knommu) 363 m68knommu)
365 basic_machine=m68k-unknown 364 basic_machine=m68k-unknown
366 os=linux 365 basic_os=linux
367 ;; 366 ;;
368 magnum | m3230) 367 magnum | m3230)
369 basic_machine=mips-mips 368 basic_machine=mips-mips
370 os=sysv 369 basic_os=sysv
371 ;; 370 ;;
372 merlin) 371 merlin)
373 basic_machine=ns32k-utek 372 basic_machine=ns32k-utek
374 os=sysv 373 basic_os=sysv
375 ;; 374 ;;
376 mingw64) 375 mingw64)
377 basic_machine=x86_64-pc 376 basic_machine=x86_64-pc
378 os=mingw64 377 basic_os=mingw64
379 ;; 378 ;;
380 mingw32) 379 mingw32)
381 basic_machine=i686-pc 380 basic_machine=i686-pc
382 os=mingw32 381 basic_os=mingw32
383 ;; 382 ;;
384 mingw32ce) 383 mingw32ce)
385 basic_machine=arm-unknown 384 basic_machine=arm-unknown
386 os=mingw32ce 385 basic_os=mingw32ce
387 ;; 386 ;;
388 monitor) 387 monitor)
389 basic_machine=m68k-rom68k 388 basic_machine=m68k-rom68k
390 os=coff 389 basic_os=coff
391 ;; 390 ;;
392 morphos) 391 morphos)
393 basic_machine=powerpc-unknown 392 basic_machine=powerpc-unknown
394 os=morphos 393 basic_os=morphos
395 ;; 394 ;;
396 moxiebox) 395 moxiebox)
397 basic_machine=moxie-unknown 396 basic_machine=moxie-unknown
398 os=moxiebox 397 basic_os=moxiebox
399 ;; 398 ;;
400 msdos) 399 msdos)
401 basic_machine=i386-pc 400 basic_machine=i386-pc
402 os=msdos 401 basic_os=msdos
403 ;; 402 ;;
404 msys) 403 msys)
405 basic_machine=i686-pc 404 basic_machine=i686-pc
406 os=msys 405 basic_os=msys
407 ;; 406 ;;
408 mvs) 407 mvs)
409 basic_machine=i370-ibm 408 basic_machine=i370-ibm
410 os=mvs 409 basic_os=mvs
411 ;; 410 ;;
412 nacl) 411 nacl)
413 basic_machine=le32-unknown 412 basic_machine=le32-unknown
414 os=nacl 413 basic_os=nacl
415 ;; 414 ;;
416 ncr3000) 415 ncr3000)
417 basic_machine=i486-ncr 416 basic_machine=i486-ncr
418 os=sysv4 417 basic_os=sysv4
419 ;; 418 ;;
420 netbsd386) 419 netbsd386)
421 basic_machine=i386-pc 420 basic_machine=i386-pc
422 os=netbsd 421 basic_os=netbsd
423 ;; 422 ;;
424 netwinder) 423 netwinder)
425 basic_machine=armv4l-rebel 424 basic_machine=armv4l-rebel
426 os=linux 425 basic_os=linux
427 ;; 426 ;;
428 news | news700 | news800 | news900) 427 news | news700 | news800 | news900)
429 basic_machine=m68k-sony 428 basic_machine=m68k-sony
430 os=newsos 429 basic_os=newsos
431 ;; 430 ;;
432 news1000) 431 news1000)
433 basic_machine=m68030-sony 432 basic_machine=m68030-sony
434 os=newsos 433 basic_os=newsos
435 ;; 434 ;;
436 necv70) 435 necv70)
437 basic_machine=v70-nec 436 basic_machine=v70-nec
438 os=sysv 437 basic_os=sysv
439 ;; 438 ;;
440 nh3000) 439 nh3000)
441 basic_machine=m68k-harris 440 basic_machine=m68k-harris
442 os=cxux 441 basic_os=cxux
443 ;; 442 ;;
444 nh[45]000) 443 nh[45]000)
445 basic_machine=m88k-harris 444 basic_machine=m88k-harris
446 os=cxux 445 basic_os=cxux
447 ;; 446 ;;
448 nindy960) 447 nindy960)
449 basic_machine=i960-intel 448 basic_machine=i960-intel
450 os=nindy 449 basic_os=nindy
451 ;; 450 ;;
452 mon960) 451 mon960)
453 basic_machine=i960-intel 452 basic_machine=i960-intel
454 os=mon960 453 basic_os=mon960
455 ;; 454 ;;
456 nonstopux) 455 nonstopux)
457 basic_machine=mips-compaq 456 basic_machine=mips-compaq
458 os=nonstopux 457 basic_os=nonstopux
459 ;; 458 ;;
460 os400) 459 os400)
461 basic_machine=powerpc-ibm 460 basic_machine=powerpc-ibm
462 os=os400 461 basic_os=os400
463 ;; 462 ;;
464 OSE68000 | ose68000) 463 OSE68000 | ose68000)
465 basic_machine=m68000-ericsson 464 basic_machine=m68000-ericsson
466 os=ose 465 basic_os=ose
467 ;; 466 ;;
468 os68k) 467 os68k)
469 basic_machine=m68k-none 468 basic_machine=m68k-none
470 os=os68k 469 basic_os=os68k
471 ;; 470 ;;
472 paragon) 471 paragon)
473 basic_machine=i860-intel 472 basic_machine=i860-intel
474 os=osf 473 basic_os=osf
475 ;; 474 ;;
476 parisc) 475 parisc)
477 basic_machine=hppa-unknown 476 basic_machine=hppa-unknown
478 os=linux 477 basic_os=linux
479 ;; 478 ;;
480 psp) 479 psp)
481 basic_machine=mipsallegrexel-sony 480 basic_machine=mipsallegrexel-sony
482 os=psp 481 basic_os=psp
483 ;; 482 ;;
484 pw32) 483 pw32)
485 basic_machine=i586-unknown 484 basic_machine=i586-unknown
486 os=pw32 485 basic_os=pw32
487 ;; 486 ;;
488 rdos | rdos64) 487 rdos | rdos64)
489 basic_machine=x86_64-pc 488 basic_machine=x86_64-pc
490 os=rdos 489 basic_os=rdos
491 ;; 490 ;;
492 rdos32) 491 rdos32)
493 basic_machine=i386-pc 492 basic_machine=i386-pc
494 os=rdos 493 basic_os=rdos
495 ;; 494 ;;
496 rom68k) 495 rom68k)
497 basic_machine=m68k-rom68k 496 basic_machine=m68k-rom68k
498 os=coff 497 basic_os=coff
499 ;; 498 ;;
500 sa29200) 499 sa29200)
501 basic_machine=a29k-amd 500 basic_machine=a29k-amd
502 os=udi 501 basic_os=udi
503 ;; 502 ;;
504 sei) 503 sei)
505 basic_machine=mips-sei 504 basic_machine=mips-sei
506 os=seiux 505 basic_os=seiux
507 ;; 506 ;;
508 sequent) 507 sequent)
509 basic_machine=i386-sequent 508 basic_machine=i386-sequent
510 os= 509 basic_os=
511 ;; 510 ;;
512 sps7) 511 sps7)
513 basic_machine=m68k-bull 512 basic_machine=m68k-bull
514 os=sysv2 513 basic_os=sysv2
515 ;; 514 ;;
516 st2000) 515 st2000)
517 basic_machine=m68k-tandem 516 basic_machine=m68k-tandem
518 os= 517 basic_os=
519 ;; 518 ;;
520 stratus) 519 stratus)
521 basic_machine=i860-stratus 520 basic_machine=i860-stratus
522 os=sysv4 521 basic_os=sysv4
523 ;; 522 ;;
524 sun2) 523 sun2)
525 basic_machine=m68000-sun 524 basic_machine=m68000-sun
526 os= 525 basic_os=
527 ;; 526 ;;
528 sun2os3) 527 sun2os3)
529 basic_machine=m68000-sun 528 basic_machine=m68000-sun
530 os=sunos3 529 basic_os=sunos3
531 ;; 530 ;;
532 sun2os4) 531 sun2os4)
533 basic_machine=m68000-sun 532 basic_machine=m68000-sun
534 os=sunos4 533 basic_os=sunos4
535 ;; 534 ;;
536 sun3) 535 sun3)
537 basic_machine=m68k-sun 536 basic_machine=m68k-sun
538 os= 537 basic_os=
539 ;; 538 ;;
540 sun3os3) 539 sun3os3)
541 basic_machine=m68k-sun 540 basic_machine=m68k-sun
542 os=sunos3 541 basic_os=sunos3
543 ;; 542 ;;
544 sun3os4) 543 sun3os4)
545 basic_machine=m68k-sun 544 basic_machine=m68k-sun
546 os=sunos4 545 basic_os=sunos4
547 ;; 546 ;;
548 sun4) 547 sun4)
549 basic_machine=sparc-sun 548 basic_machine=sparc-sun
550 os= 549 basic_os=
551 ;; 550 ;;
552 sun4os3) 551 sun4os3)
553 basic_machine=sparc-sun 552 basic_machine=sparc-sun
554 os=sunos3 553 basic_os=sunos3
555 ;; 554 ;;
556 sun4os4) 555 sun4os4)
557 basic_machine=sparc-sun 556 basic_machine=sparc-sun
558 os=sunos4 557 basic_os=sunos4
559 ;; 558 ;;
560 sun4sol2) 559 sun4sol2)
561 basic_machine=sparc-sun 560 basic_machine=sparc-sun
562 os=solaris2 561 basic_os=solaris2
563 ;; 562 ;;
564 sun386 | sun386i | roadrunner) 563 sun386 | sun386i | roadrunner)
565 basic_machine=i386-sun 564 basic_machine=i386-sun
566 os= 565 basic_os=
567 ;; 566 ;;
568 sv1) 567 sv1)
569 basic_machine=sv1-cray 568 basic_machine=sv1-cray
570 os=unicos 569 basic_os=unicos
571 ;; 570 ;;
572 symmetry) 571 symmetry)
573 basic_machine=i386-sequent 572 basic_machine=i386-sequent
574 os=dynix 573 basic_os=dynix
575 ;; 574 ;;
576 t3e) 575 t3e)
577 basic_machine=alphaev5-cray 576 basic_machine=alphaev5-cray
578 os=unicos 577 basic_os=unicos
579 ;; 578 ;;
580 t90) 579 t90)
581 basic_machine=t90-cray 580 basic_machine=t90-cray
582 os=unicos 581 basic_os=unicos
583 ;; 582 ;;
584 toad1) 583 toad1)
585 basic_machine=pdp10-xkl 584 basic_machine=pdp10-xkl
586 os=tops20 585 basic_os=tops20
587 ;; 586 ;;
588 tpf) 587 tpf)
589 basic_machine=s390x-ibm 588 basic_machine=s390x-ibm
590 os=tpf 589 basic_os=tpf
591 ;; 590 ;;
592 udi29k) 591 udi29k)
593 basic_machine=a29k-amd 592 basic_machine=a29k-amd
594 os=udi 593 basic_os=udi
595 ;; 594 ;;
596 ultra3) 595 ultra3)
597 basic_machine=a29k-nyu 596 basic_machine=a29k-nyu
598 os=sym1 597 basic_os=sym1
599 ;; 598 ;;
600 v810 | necv810) 599 v810 | necv810)
601 basic_machine=v810-nec 600 basic_machine=v810-nec
602 os=none 601 basic_os=none
603 ;; 602 ;;
604 vaxv) 603 vaxv)
605 basic_machine=vax-dec 604 basic_machine=vax-dec
606 os=sysv 605 basic_os=sysv
607 ;; 606 ;;
608 vms) 607 vms)
609 basic_machine=vax-dec 608 basic_machine=vax-dec
610 os=vms 609 basic_os=vms
611 ;; 610 ;;
612 vsta) 611 vsta)
613 basic_machine=i386-pc 612 basic_machine=i386-pc
614 os=vsta 613 basic_os=vsta
615 ;; 614 ;;
616 vxworks960) 615 vxworks960)
617 basic_machine=i960-wrs 616 basic_machine=i960-wrs
618 os=vxworks 617 basic_os=vxworks
619 ;; 618 ;;
620 vxworks68) 619 vxworks68)
621 basic_machine=m68k-wrs 620 basic_machine=m68k-wrs
622 os=vxworks 621 basic_os=vxworks
623 ;; 622 ;;
624 vxworks29k) 623 vxworks29k)
625 basic_machine=a29k-wrs 624 basic_machine=a29k-wrs
626 os=vxworks 625 basic_os=vxworks
627 ;; 626 ;;
628 xbox) 627 xbox)
629 basic_machine=i686-pc 628 basic_machine=i686-pc
630 os=mingw32 629 basic_os=mingw32
631 ;; 630 ;;
632 ymp) 631 ymp)
633 basic_machine=ymp-cray 632 basic_machine=ymp-cray
634 os=unicos 633 basic_os=unicos
635 ;; 634 ;;
636 *) 635 *)
637 basic_machine=$1 636 basic_machine=$1
638 os= 637 basic_os=
639 ;; 638 ;;
640 esac 639 esac
641 ;; 640 ;;
@@ -687,17 +686,17 @@ case $basic_machine in
687 bluegene*) 686 bluegene*)
688 cpu=powerpc 687 cpu=powerpc
689 vendor=ibm 688 vendor=ibm
690 os=cnk 689 basic_os=cnk
691 ;; 690 ;;
692 decsystem10* | dec10*) 691 decsystem10* | dec10*)
693 cpu=pdp10 692 cpu=pdp10
694 vendor=dec 693 vendor=dec
695 os=tops10 694 basic_os=tops10
696 ;; 695 ;;
697 decsystem20* | dec20*) 696 decsystem20* | dec20*)
698 cpu=pdp10 697 cpu=pdp10
699 vendor=dec 698 vendor=dec
700 os=tops20 699 basic_os=tops20
701 ;; 700 ;;
702 delta | 3300 | motorola-3300 | motorola-delta \ 701 delta | 3300 | motorola-3300 | motorola-delta \
703 | 3300-motorola | delta-motorola) 702 | 3300-motorola | delta-motorola)
@@ -707,7 +706,7 @@ case $basic_machine in
707 dpx2*) 706 dpx2*)
708 cpu=m68k 707 cpu=m68k
709 vendor=bull 708 vendor=bull
710 os=sysv3 709 basic_os=sysv3
711 ;; 710 ;;
712 encore | umax | mmax) 711 encore | umax | mmax)
713 cpu=ns32k 712 cpu=ns32k
@@ -716,7 +715,7 @@ case $basic_machine in
716 elxsi) 715 elxsi)
717 cpu=elxsi 716 cpu=elxsi
718 vendor=elxsi 717 vendor=elxsi
719 os=${os:-bsd} 718 basic_os=${basic_os:-bsd}
720 ;; 719 ;;
721 fx2800) 720 fx2800)
722 cpu=i860 721 cpu=i860
@@ -729,7 +728,7 @@ case $basic_machine in
729 h3050r* | hiux*) 728 h3050r* | hiux*)
730 cpu=hppa1.1 729 cpu=hppa1.1
731 vendor=hitachi 730 vendor=hitachi
732 os=hiuxwe2 731 basic_os=hiuxwe2
733 ;; 732 ;;
734 hp3k9[0-9][0-9] | hp9[0-9][0-9]) 733 hp3k9[0-9][0-9] | hp9[0-9][0-9])
735 cpu=hppa1.0 734 cpu=hppa1.0
@@ -772,36 +771,36 @@ case $basic_machine in
772 i*86v32) 771 i*86v32)
773 cpu=`echo "$1" | sed -e 's/86.*/86/'` 772 cpu=`echo "$1" | sed -e 's/86.*/86/'`
774 vendor=pc 773 vendor=pc
775 os=sysv32 774 basic_os=sysv32
776 ;; 775 ;;
777 i*86v4*) 776 i*86v4*)
778 cpu=`echo "$1" | sed -e 's/86.*/86/'` 777 cpu=`echo "$1" | sed -e 's/86.*/86/'`
779 vendor=pc 778 vendor=pc
780 os=sysv4 779 basic_os=sysv4
781 ;; 780 ;;
782 i*86v) 781 i*86v)
783 cpu=`echo "$1" | sed -e 's/86.*/86/'` 782 cpu=`echo "$1" | sed -e 's/86.*/86/'`
784 vendor=pc 783 vendor=pc
785 os=sysv 784 basic_os=sysv
786 ;; 785 ;;
787 i*86sol2) 786 i*86sol2)
788 cpu=`echo "$1" | sed -e 's/86.*/86/'` 787 cpu=`echo "$1" | sed -e 's/86.*/86/'`
789 vendor=pc 788 vendor=pc
790 os=solaris2 789 basic_os=solaris2
791 ;; 790 ;;
792 j90 | j90-cray) 791 j90 | j90-cray)
793 cpu=j90 792 cpu=j90
794 vendor=cray 793 vendor=cray
795 os=${os:-unicos} 794 basic_os=${basic_os:-unicos}
796 ;; 795 ;;
797 iris | iris4d) 796 iris | iris4d)
798 cpu=mips 797 cpu=mips
799 vendor=sgi 798 vendor=sgi
800 case $os in 799 case $basic_os in
801 irix*) 800 irix*)
802 ;; 801 ;;
803 *) 802 *)
804 os=irix4 803 basic_os=irix4
805 ;; 804 ;;
806 esac 805 esac
807 ;; 806 ;;
@@ -812,26 +811,26 @@ case $basic_machine in
812 *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) 811 *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
813 cpu=m68k 812 cpu=m68k
814 vendor=atari 813 vendor=atari
815 os=mint 814 basic_os=mint
816 ;; 815 ;;
817 news-3600 | risc-news) 816 news-3600 | risc-news)
818 cpu=mips 817 cpu=mips
819 vendor=sony 818 vendor=sony
820 os=newsos 819 basic_os=newsos
821 ;; 820 ;;
822 next | m*-next) 821 next | m*-next)
823 cpu=m68k 822 cpu=m68k
824 vendor=next 823 vendor=next
825 case $os in 824 case $basic_os in
826 openstep*) 825 openstep*)
827 ;; 826 ;;
828 nextstep*) 827 nextstep*)
829 ;; 828 ;;
830 ns2*) 829 ns2*)
831 os=nextstep2 830 basic_os=nextstep2
832 ;; 831 ;;
833 *) 832 *)
834 os=nextstep3 833 basic_os=nextstep3
835 ;; 834 ;;
836 esac 835 esac
837 ;; 836 ;;
@@ -842,12 +841,12 @@ case $basic_machine in
842 op50n-* | op60c-*) 841 op50n-* | op60c-*)
843 cpu=hppa1.1 842 cpu=hppa1.1
844 vendor=oki 843 vendor=oki
845 os=proelf 844 basic_os=proelf
846 ;; 845 ;;
847 pa-hitachi) 846 pa-hitachi)
848 cpu=hppa1.1 847 cpu=hppa1.1
849 vendor=hitachi 848 vendor=hitachi
850 os=hiuxwe2 849 basic_os=hiuxwe2
851 ;; 850 ;;
852 pbd) 851 pbd)
853 cpu=sparc 852 cpu=sparc
@@ -884,12 +883,12 @@ case $basic_machine in
884 sde) 883 sde)
885 cpu=mipsisa32 884 cpu=mipsisa32
886 vendor=sde 885 vendor=sde
887 os=${os:-elf} 886 basic_os=${basic_os:-elf}
888 ;; 887 ;;
889 simso-wrs) 888 simso-wrs)
890 cpu=sparclite 889 cpu=sparclite
891 vendor=wrs 890 vendor=wrs
892 os=vxworks 891 basic_os=vxworks
893 ;; 892 ;;
894 tower | tower-32) 893 tower | tower-32)
895 cpu=m68k 894 cpu=m68k
@@ -906,7 +905,7 @@ case $basic_machine in
906 w89k-*) 905 w89k-*)
907 cpu=hppa1.1 906 cpu=hppa1.1
908 vendor=winbond 907 vendor=winbond
909 os=proelf 908 basic_os=proelf
910 ;; 909 ;;
911 none) 910 none)
912 cpu=none 911 cpu=none
@@ -959,11 +958,11 @@ case $cpu-$vendor in
959 # some cases the only manufacturer, in others, it is the most popular. 958 # some cases the only manufacturer, in others, it is the most popular.
960 craynv-unknown) 959 craynv-unknown)
961 vendor=cray 960 vendor=cray
962 os=${os:-unicosmp} 961 basic_os=${basic_os:-unicosmp}
963 ;; 962 ;;
964 c90-unknown | c90-cray) 963 c90-unknown | c90-cray)
965 vendor=cray 964 vendor=cray
966 os=${os:-unicos} 965 basic_os=${Basic_os:-unicos}
967 ;; 966 ;;
968 fx80-unknown) 967 fx80-unknown)
969 vendor=alliant 968 vendor=alliant
@@ -1007,7 +1006,7 @@ case $cpu-$vendor in
1007 dpx20-unknown | dpx20-bull) 1006 dpx20-unknown | dpx20-bull)
1008 cpu=rs6000 1007 cpu=rs6000
1009 vendor=bull 1008 vendor=bull
1010 os=${os:-bosx} 1009 basic_os=${basic_os:-bosx}
1011 ;; 1010 ;;
1012 1011
1013 # Here we normalize CPU types irrespective of the vendor 1012 # Here we normalize CPU types irrespective of the vendor
@@ -1016,7 +1015,7 @@ case $cpu-$vendor in
1016 ;; 1015 ;;
1017 blackfin-*) 1016 blackfin-*)
1018 cpu=bfin 1017 cpu=bfin
1019 os=linux 1018 basic_os=linux
1020 ;; 1019 ;;
1021 c54x-*) 1020 c54x-*)
1022 cpu=tic54x 1021 cpu=tic54x
@@ -1029,7 +1028,7 @@ case $cpu-$vendor in
1029 ;; 1028 ;;
1030 e500v[12]-*) 1029 e500v[12]-*)
1031 cpu=powerpc 1030 cpu=powerpc
1032 os=$os"spe" 1031 basic_os=${basic_os}"spe"
1033 ;; 1032 ;;
1034 mips3*-*) 1033 mips3*-*)
1035 cpu=mips64 1034 cpu=mips64
@@ -1039,7 +1038,7 @@ case $cpu-$vendor in
1039 ;; 1038 ;;
1040 m68knommu-*) 1039 m68knommu-*)
1041 cpu=m68k 1040 cpu=m68k
1042 os=linux 1041 basic_os=linux
1043 ;; 1042 ;;
1044 m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) 1043 m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
1045 cpu=s12z 1044 cpu=s12z
@@ -1049,7 +1048,7 @@ case $cpu-$vendor in
1049 ;; 1048 ;;
1050 parisc-*) 1049 parisc-*)
1051 cpu=hppa 1050 cpu=hppa
1052 os=linux 1051 basic_os=linux
1053 ;; 1052 ;;
1054 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1053 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1055 cpu=i586 1054 cpu=i586
@@ -1109,7 +1108,7 @@ case $cpu-$vendor in
1109 # Recognize the canonical CPU Types that limit and/or modify the 1108 # Recognize the canonical CPU Types that limit and/or modify the
1110 # company names they are paired with. 1109 # company names they are paired with.
1111 cr16-*) 1110 cr16-*)
1112 os=${os:-elf} 1111 basic_os=${basic_os:-elf}
1113 ;; 1112 ;;
1114 crisv32-* | etraxfs*-*) 1113 crisv32-* | etraxfs*-*)
1115 cpu=crisv32 1114 cpu=crisv32
@@ -1120,7 +1119,7 @@ case $cpu-$vendor in
1120 vendor=axis 1119 vendor=axis
1121 ;; 1120 ;;
1122 crx-*) 1121 crx-*)
1123 os=${os:-elf} 1122 basic_os=${basic_os:-elf}
1124 ;; 1123 ;;
1125 neo-tandem) 1124 neo-tandem)
1126 cpu=neo 1125 cpu=neo
@@ -1147,7 +1146,7 @@ case $cpu-$vendor in
1147 vendor=sony 1146 vendor=sony
1148 ;; 1147 ;;
1149 tile*-*) 1148 tile*-*)
1150 os=${os:-linux-gnu} 1149 basic_os=${basic_os:-linux-gnu}
1151 ;; 1150 ;;
1152 1151
1153 *) 1152 *)
@@ -1276,8 +1275,43 @@ esac
1276 1275
1277# Decode manufacturer-specific aliases for certain operating systems. 1276# Decode manufacturer-specific aliases for certain operating systems.
1278 1277
1279if [ x$os != x ] 1278if [ x$basic_os != x ]
1280then 1279then
1280
1281# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
1282# set os.
1283case $basic_os in
1284 gnu/linux*)
1285 kernel=linux
1286 os=`echo $basic_os | sed -e 's|gnu/linux|gnu|'`
1287 ;;
1288 nto-qnx*)
1289 kernel=nto
1290 os=`echo $basic_os | sed -e 's|nto-qnx|qnx|'`
1291 ;;
1292 *-*)
1293 # shellcheck disable=SC2162
1294 IFS="-" read kernel os <<EOF
1295$basic_os
1296EOF
1297 ;;
1298 # Default OS when just kernel was specified
1299 nto*)
1300 kernel=nto
1301 os=`echo $basic_os | sed -e 's|nto|qnx|'`
1302 ;;
1303 linux*)
1304 kernel=linux
1305 os=`echo $basic_os | sed -e 's|linux|gnu|'`
1306 ;;
1307 *)
1308 kernel=
1309 os=$basic_os
1310 ;;
1311esac
1312
1313# Now, normalize the OS (knowing we just have one component, it's not a kernel,
1314# etc.)
1281case $os in 1315case $os in
1282 # First match some system type aliases that might get confused 1316 # First match some system type aliases that might get confused
1283 # with valid system types. 1317 # with valid system types.
@@ -1297,9 +1331,6 @@ case $os in
1297 unixware*) 1331 unixware*)
1298 os=sysv4.2uw 1332 os=sysv4.2uw
1299 ;; 1333 ;;
1300 gnu/linux*)
1301 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1302 ;;
1303 # es1800 is here to avoid being matched by es* (a different OS) 1334 # es1800 is here to avoid being matched by es* (a different OS)
1304 es1800*) 1335 es1800*)
1305 os=ose 1336 os=ose
@@ -1323,10 +1354,7 @@ case $os in
1323 sco3.2.[4-9]*) 1354 sco3.2.[4-9]*)
1324 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 1355 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1325 ;; 1356 ;;
1326 sco3.2v[4-9]* | sco5v6*) 1357 sco*v* | scout)
1327 # Don't forget version if it is 3.2v4 or newer.
1328 ;;
1329 scout)
1330 # Don't match below 1358 # Don't match below
1331 ;; 1359 ;;
1332 sco*) 1360 sco*)
@@ -1347,18 +1375,6 @@ case $os in
1347 hiux*) 1375 hiux*)
1348 os=hiuxwe2 1376 os=hiuxwe2
1349 ;; 1377 ;;
1350 nto-qnx*)
1351 ;;
1352 nto*)
1353 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1354 ;;
1355 sim | xray | os68k* | v88r* \
1356 | windows* | osx | abug | netware* | os9* \
1357 | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
1358 ;;
1359 linux-dietlibc)
1360 os=linux-dietlibc
1361 ;;
1362 lynx*178) 1378 lynx*178)
1363 os=lynxos178 1379 os=lynxos178
1364 ;; 1380 ;;
@@ -1371,10 +1387,7 @@ case $os in
1371 lynx*) 1387 lynx*)
1372 os=lynxos 1388 os=lynxos
1373 ;; 1389 ;;
1374 mach) 1390 mac[0-9]*)
1375 # don't get caught up in next wildcard
1376 ;;
1377 mac*)
1378 os=`echo "$os" | sed -e 's|mac|macos|'` 1391 os=`echo "$os" | sed -e 's|mac|macos|'`
1379 ;; 1392 ;;
1380 opened*) 1393 opened*)
@@ -1444,18 +1457,12 @@ case $os in
1444 sysvr4) 1457 sysvr4)
1445 os=sysv4 1458 os=sysv4
1446 ;; 1459 ;;
1447 # This must come after sysvr4.
1448 sysv*)
1449 ;;
1450 ose*) 1460 ose*)
1451 os=ose 1461 os=ose
1452 ;; 1462 ;;
1453 *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) 1463 *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
1454 os=mint 1464 os=mint
1455 ;; 1465 ;;
1456 zvmoe)
1457 os=zvmoe
1458 ;;
1459 dicos*) 1466 dicos*)
1460 os=dicos 1467 os=dicos
1461 ;; 1468 ;;
@@ -1472,59 +1479,11 @@ case $os in
1472 ;; 1479 ;;
1473 esac 1480 esac
1474 ;; 1481 ;;
1475 nacl*)
1476 ;;
1477 ios)
1478 ;;
1479 psp)
1480 ;;
1481 none)
1482 ;;
1483 *-eabi)
1484 ;;
1485 # Now accept the basic system types.
1486 # The portable systems comes first.
1487 # Each alternative MUST end in a * to match a version number.
1488 # sysv* is not here because it comes later, after sysvr4.
1489 gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
1490 | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
1491 | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
1492 | sym* | kopensolaris* | plan9* \
1493 | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
1494 | aos* | aros* | cloudabi* | sortix* | twizzler* \
1495 | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
1496 | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
1497 | knetbsd* | mirbsd* | netbsd* \
1498 | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
1499 | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
1500 | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
1501 | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
1502 | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
1503 | chorusrdb* | cegcc* | glidix* \
1504 | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
1505 | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
1506 | linux-newlib* | linux-musl* | linux-uclibc* \
1507 | uxpv* | beos* | mpeix* | udk* | moxiebox* \
1508 | interix* | uwin* | mks* | rhapsody* | darwin* \
1509 | openstep* | oskit* | conix* | pw32* | nonstopux* \
1510 | storm-chaos* | tops10* | tenex* | tops20* | its* \
1511 | os2* | vos* | palmos* | uclinux* | nucleus* \
1512 | morphos* | superux* | rtmk* | windiss* \
1513 | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
1514 | skyos* | haiku* | rdos* | toppers* | drops* | es* \
1515 | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
1516 | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
1517 | nsk* | powerunix* | genode*)
1518 # Remember, each alternative MUST END IN *, to match a version number.
1519 ;;
1520 linux*)
1521 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1522 ;;
1523 *) 1482 *)
1524 echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 1483 # No normalization, but not necessarily accepted, that comes below.
1525 exit 1
1526 ;; 1484 ;;
1527esac 1485esac
1486
1528else 1487else
1529 1488
1530# Here we handle the default operating systems that come with various machines. 1489# Here we handle the default operating systems that come with various machines.
@@ -1537,6 +1496,7 @@ else
1537# will signal an error saying that MANUFACTURER isn't an operating 1496# will signal an error saying that MANUFACTURER isn't an operating
1538# system, and we'll never get to this point. 1497# system, and we'll never get to this point.
1539 1498
1499kernel=
1540case $cpu-$vendor in 1500case $cpu-$vendor in
1541 score-*) 1501 score-*)
1542 os=elf 1502 os=elf
@@ -1548,7 +1508,8 @@ case $cpu-$vendor in
1548 os=riscix1.2 1508 os=riscix1.2
1549 ;; 1509 ;;
1550 arm*-rebel) 1510 arm*-rebel)
1551 os=linux 1511 kernel=linux
1512 os=gnu
1552 ;; 1513 ;;
1553 arm*-semi) 1514 arm*-semi)
1554 os=aout 1515 os=aout
@@ -1714,84 +1675,169 @@ case $cpu-$vendor in
1714 os=none 1675 os=none
1715 ;; 1676 ;;
1716esac 1677esac
1678
1717fi 1679fi
1718 1680
1681# Now, validate our (potentially fixed-up) OS.
1682case $os in
1683 # Sometimes we do "kernel-abi", so those need to count as OSes.
1684 musl* | newlib* | uclibc*)
1685 ;;
1686 # Likewise for "kernel-libc"
1687 eabi | eabihf | gnueabi | gnueabihf)
1688 ;;
1689 # Now accept the basic system types.
1690 # The portable systems comes first.
1691 # Each alternative MUST end in a * to match a version number.
1692 gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
1693 | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
1694 | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
1695 | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
1696 | hiux* | abug | nacl* | netware* | windows* \
1697 | os9* | macos* | osx* | ios* \
1698 | mpw* | magic* | mmixware* | mon960* | lnews* \
1699 | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
1700 | aos* | aros* | cloudabi* | sortix* | twizzler* \
1701 | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
1702 | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
1703 | mirbsd* | netbsd* | dicos* | openedition* | ose* \
1704 | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
1705 | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
1706 | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
1707 | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
1708 | udi* | lites* | ieee* | go32* | aux* | hcos* \
1709 | chorusrdb* | cegcc* | glidix* \
1710 | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
1711 | midipix* | mingw32* | mingw64* | mint* \
1712 | uxpv* | beos* | mpeix* | udk* | moxiebox* \
1713 | interix* | uwin* | mks* | rhapsody* | darwin* \
1714 | openstep* | oskit* | conix* | pw32* | nonstopux* \
1715 | storm-chaos* | tops10* | tenex* | tops20* | its* \
1716 | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
1717 | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
1718 | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
1719 | skyos* | haiku* | rdos* | toppers* | drops* | es* \
1720 | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
1721 | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
1722 | nsk* | powerunix* | genode* | zvmoe* )
1723 ;;
1724 # This one is extra strict with allowed versions
1725 sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
1726 # Don't forget version if it is 3.2v4 or newer.
1727 ;;
1728 none)
1729 ;;
1730 *)
1731 echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
1732 exit 1
1733 ;;
1734esac
1735
1736# As a final step for OS-related things, validate the OS-kernel combination
1737# (given a valid OS), if there is a kernel.
1738case $kernel-$os in
1739 linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* )
1740 ;;
1741 -dietlibc* | -newlib* | -musl* | -uclibc* )
1742 # These are just libc implementations, not actual OSes, and thus
1743 # require a kernel.
1744 echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
1745 exit 1
1746 ;;
1747 kfreebsd*-gnu* | kopensolaris*-gnu*)
1748 ;;
1749 nto-qnx*)
1750 ;;
1751 *-eabi* | *-gnueabi*)
1752 ;;
1753 -*)
1754 # Blank kernel with real OS is always fine.
1755 ;;
1756 *-*)
1757 echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
1758 exit 1
1759 ;;
1760esac
1761
1719# Here we handle the case where we know the os, and the CPU type, but not the 1762# Here we handle the case where we know the os, and the CPU type, but not the
1720# manufacturer. We pick the logical manufacturer. 1763# manufacturer. We pick the logical manufacturer.
1721case $vendor in 1764case $vendor in
1722 unknown) 1765 unknown)
1723 case $os in 1766 case $cpu-$os in
1724 riscix*) 1767 *-riscix*)
1725 vendor=acorn 1768 vendor=acorn
1726 ;; 1769 ;;
1727 sunos*) 1770 *-sunos*)
1728 vendor=sun 1771 vendor=sun
1729 ;; 1772 ;;
1730 cnk*|-aix*) 1773 *-cnk* | *-aix*)
1731 vendor=ibm 1774 vendor=ibm
1732 ;; 1775 ;;
1733 beos*) 1776 *-beos*)
1734 vendor=be 1777 vendor=be
1735 ;; 1778 ;;
1736 hpux*) 1779 *-hpux*)
1737 vendor=hp 1780 vendor=hp
1738 ;; 1781 ;;
1739 mpeix*) 1782 *-mpeix*)
1740 vendor=hp 1783 vendor=hp
1741 ;; 1784 ;;
1742 hiux*) 1785 *-hiux*)
1743 vendor=hitachi 1786 vendor=hitachi
1744 ;; 1787 ;;
1745 unos*) 1788 *-unos*)
1746 vendor=crds 1789 vendor=crds
1747 ;; 1790 ;;
1748 dgux*) 1791 *-dgux*)
1749 vendor=dg 1792 vendor=dg
1750 ;; 1793 ;;
1751 luna*) 1794 *-luna*)
1752 vendor=omron 1795 vendor=omron
1753 ;; 1796 ;;
1754 genix*) 1797 *-genix*)
1755 vendor=ns 1798 vendor=ns
1756 ;; 1799 ;;
1757 clix*) 1800 *-clix*)
1758 vendor=intergraph 1801 vendor=intergraph
1759 ;; 1802 ;;
1760 mvs* | opened*) 1803 *-mvs* | *-opened*)
1804 vendor=ibm
1805 ;;
1806 *-os400*)
1761 vendor=ibm 1807 vendor=ibm
1762 ;; 1808 ;;
1763 os400*) 1809 s390-* | s390x-*)
1764 vendor=ibm 1810 vendor=ibm
1765 ;; 1811 ;;
1766 ptx*) 1812 *-ptx*)
1767 vendor=sequent 1813 vendor=sequent
1768 ;; 1814 ;;
1769 tpf*) 1815 *-tpf*)
1770 vendor=ibm 1816 vendor=ibm
1771 ;; 1817 ;;
1772 vxsim* | vxworks* | windiss*) 1818 *-vxsim* | *-vxworks* | *-windiss*)
1773 vendor=wrs 1819 vendor=wrs
1774 ;; 1820 ;;
1775 aux*) 1821 *-aux*)
1776 vendor=apple 1822 vendor=apple
1777 ;; 1823 ;;
1778 hms*) 1824 *-hms*)
1779 vendor=hitachi 1825 vendor=hitachi
1780 ;; 1826 ;;
1781 mpw* | macos*) 1827 *-mpw* | *-macos*)
1782 vendor=apple 1828 vendor=apple
1783 ;; 1829 ;;
1784 *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) 1830 *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
1785 vendor=atari 1831 vendor=atari
1786 ;; 1832 ;;
1787 vos*) 1833 *-vos*)
1788 vendor=stratus 1834 vendor=stratus
1789 ;; 1835 ;;
1790 esac 1836 esac
1791 ;; 1837 ;;
1792esac 1838esac
1793 1839
1794echo "$cpu-$vendor-$os" 1840echo "$cpu-$vendor-${kernel:+$kernel-}$os"
1795exit 1841exit
1796 1842
1797# Local variables: 1843# Local variables:
diff --git a/lib/getrandom.c b/lib/getrandom.c
index f0b3f535007..030a78bb08d 100644
--- a/lib/getrandom.c
+++ b/lib/getrandom.c
@@ -29,7 +29,16 @@
29#if defined _WIN32 && ! defined __CYGWIN__ 29#if defined _WIN32 && ! defined __CYGWIN__
30# define WIN32_LEAN_AND_MEAN 30# define WIN32_LEAN_AND_MEAN
31# include <windows.h> 31# include <windows.h>
32# include <bcrypt.h> 32# if HAVE_BCRYPT_H
33# include <bcrypt.h>
34# else
35# include <ntdef.h> /* NTSTATUS */
36typedef void * BCRYPT_ALG_HANDLE;
37# define BCRYPT_USE_SYSTEM_PREFERRED_RNG 0x00000002
38# if HAVE_LIB_BCRYPT
39extern NTSTATUS WINAPI BCryptGenRandom (BCRYPT_ALG_HANDLE, UCHAR *, ULONG, ULONG);
40# endif
41# endif
33# if !HAVE_LIB_BCRYPT 42# if !HAVE_LIB_BCRYPT
34# include <wincrypt.h> 43# include <wincrypt.h>
35# ifndef CRYPT_VERIFY_CONTEXT 44# ifndef CRYPT_VERIFY_CONTEXT
diff --git a/lib/gnulib.mk.in b/lib/gnulib.mk.in
index 8174ea26fa5..35d2db09bd4 100644
--- a/lib/gnulib.mk.in
+++ b/lib/gnulib.mk.in
@@ -109,6 +109,7 @@
109# futimens \ 109# futimens \
110# getloadavg \ 110# getloadavg \
111# getopt-gnu \ 111# getopt-gnu \
112# getrandom \
112# gettime \ 113# gettime \
113# gettimeofday \ 114# gettimeofday \
114# gitlog-to-changelog \ 115# gitlog-to-changelog \
@@ -1095,6 +1096,7 @@ gl_GNULIB_ENABLED_getdtablesize = @gl_GNULIB_ENABLED_getdtablesize@
1095gl_GNULIB_ENABLED_getgroups = @gl_GNULIB_ENABLED_getgroups@ 1096gl_GNULIB_ENABLED_getgroups = @gl_GNULIB_ENABLED_getgroups@
1096gl_GNULIB_ENABLED_lchmod = @gl_GNULIB_ENABLED_lchmod@ 1097gl_GNULIB_ENABLED_lchmod = @gl_GNULIB_ENABLED_lchmod@
1097gl_GNULIB_ENABLED_malloca = @gl_GNULIB_ENABLED_malloca@ 1098gl_GNULIB_ENABLED_malloca = @gl_GNULIB_ENABLED_malloca@
1099gl_GNULIB_ENABLED_open = @gl_GNULIB_ENABLED_open@
1098gl_GNULIB_ENABLED_strtoll = @gl_GNULIB_ENABLED_strtoll@ 1100gl_GNULIB_ENABLED_strtoll = @gl_GNULIB_ENABLED_strtoll@
1099gl_GNULIB_ENABLED_utimens = @gl_GNULIB_ENABLED_utimens@ 1101gl_GNULIB_ENABLED_utimens = @gl_GNULIB_ENABLED_utimens@
1100gl_LIBOBJS = @gl_LIBOBJS@ 1102gl_LIBOBJS = @gl_LIBOBJS@
@@ -2168,7 +2170,9 @@ endif
2168## begin gnulib module open 2170## begin gnulib module open
2169ifeq (,$(OMIT_GNULIB_MODULE_open)) 2171ifeq (,$(OMIT_GNULIB_MODULE_open))
2170 2172
2173ifneq (,$(gl_GNULIB_ENABLED_open))
2171 2174
2175endif
2172EXTRA_DIST += open.c 2176EXTRA_DIST += open.c
2173 2177
2174EXTRA_libgnu_a_SOURCES += open.c 2178EXTRA_libgnu_a_SOURCES += open.c
diff --git a/m4/getrandom.m4 b/m4/getrandom.m4
index 37fb10023a0..2a0034bf76c 100644
--- a/m4/getrandom.m4
+++ b/m4/getrandom.m4
@@ -1,4 +1,4 @@
1# getrandom.m4 serial 5 1# getrandom.m4 serial 6
2dnl Copyright 2020 Free Software Foundation, Inc. 2dnl Copyright 2020 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
@@ -36,6 +36,7 @@ AC_DEFUN([gl_FUNC_GETRANDOM],
36 36
37 case "$host_os" in 37 case "$host_os" in
38 mingw*) 38 mingw*)
39 AC_CHECK_HEADERS([bcrypt.h])
39 AC_CACHE_CHECK([whether the bcrypt library is guaranteed to be present], 40 AC_CACHE_CHECK([whether the bcrypt library is guaranteed to be present],
40 [gl_cv_lib_assume_bcrypt], 41 [gl_cv_lib_assume_bcrypt],
41 [AC_COMPILE_IFELSE( 42 [AC_COMPILE_IFELSE(
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index 1dc50a4a95c..5c92a0768a4 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -308,6 +308,7 @@ AC_DEFUN([gl_INIT],
308 AC_LIBOBJ([futimens]) 308 AC_LIBOBJ([futimens])
309 fi 309 fi
310 gl_SYS_STAT_MODULE_INDICATOR([futimens]) 310 gl_SYS_STAT_MODULE_INDICATOR([futimens])
311 AC_REQUIRE([AC_CANONICAL_HOST])
311 gl_GETLOADAVG 312 gl_GETLOADAVG
312 if test $HAVE_GETLOADAVG = 0; then 313 if test $HAVE_GETLOADAVG = 0; then
313 AC_LIBOBJ([getloadavg]) 314 AC_LIBOBJ([getloadavg])
@@ -327,6 +328,7 @@ AC_DEFUN([gl_INIT],
327 fi 328 fi
328 AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT]) 329 AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
329 gl_UNISTD_MODULE_INDICATOR([getopt-posix]) 330 gl_UNISTD_MODULE_INDICATOR([getopt-posix])
331 AC_REQUIRE([AC_CANONICAL_HOST])
330 gl_FUNC_GETRANDOM 332 gl_FUNC_GETRANDOM
331 if test $HAVE_GETRANDOM = 0 || test $REPLACE_GETRANDOM = 1; then 333 if test $HAVE_GETRANDOM = 0 || test $REPLACE_GETRANDOM = 1; then
332 AC_LIBOBJ([getrandom]) 334 AC_LIBOBJ([getrandom])
@@ -383,12 +385,6 @@ AC_DEFUN([gl_INIT],
383 gl_TIME_MODULE_INDICATOR([mktime]) 385 gl_TIME_MODULE_INDICATOR([mktime])
384 gl_MULTIARCH 386 gl_MULTIARCH
385 gl_FUNC_GNU_STRFTIME 387 gl_FUNC_GNU_STRFTIME
386 gl_FUNC_OPEN
387 if test $REPLACE_OPEN = 1; then
388 AC_LIBOBJ([open])
389 gl_PREREQ_OPEN
390 fi
391 gl_FCNTL_MODULE_INDICATOR([open])
392 gl_PATHMAX 388 gl_PATHMAX
393 gl_FUNC_PIPE2 389 gl_FUNC_PIPE2
394 gl_UNISTD_MODULE_INDICATOR([pipe2]) 390 gl_UNISTD_MODULE_INDICATOR([pipe2])
@@ -509,6 +505,7 @@ AC_DEFUN([gl_INIT],
509 gl_gnulib_enabled_2049e887c7e5308faad27b3f894bb8c9=false 505 gl_gnulib_enabled_2049e887c7e5308faad27b3f894bb8c9=false
510 gl_gnulib_enabled_malloca=false 506 gl_gnulib_enabled_malloca=false
511 gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31=false 507 gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31=false
508 gl_gnulib_enabled_open=false
512 gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=false 509 gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=false
513 gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c=false 510 gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c=false
514 gl_gnulib_enabled_strtoll=false 511 gl_gnulib_enabled_strtoll=false
@@ -517,7 +514,11 @@ AC_DEFUN([gl_INIT],
517 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b () 514 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b ()
518 { 515 {
519 if ! $gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b; then 516 if ! $gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b; then
517 AC_REQUIRE([AC_CANONICAL_HOST])
520 gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=true 518 gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=true
519 if case $host_os in mingw*) false;; *) :;; esac; then
520 func_gl_gnulib_m4code_open
521 fi
521 fi 522 fi
522 } 523 }
523 func_gl_gnulib_m4code_cloexec () 524 func_gl_gnulib_m4code_cloexec ()
@@ -644,6 +645,21 @@ AC_DEFUN([gl_INIT],
644 gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31=true 645 gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31=true
645 fi 646 fi
646 } 647 }
648 func_gl_gnulib_m4code_open ()
649 {
650 if ! $gl_gnulib_enabled_open; then
651 gl_FUNC_OPEN
652 if test $REPLACE_OPEN = 1; then
653 AC_LIBOBJ([open])
654 gl_PREREQ_OPEN
655 fi
656 gl_FCNTL_MODULE_INDICATOR([open])
657 gl_gnulib_enabled_open=true
658 if test $REPLACE_OPEN = 1; then
659 func_gl_gnulib_m4code_cloexec
660 fi
661 fi
662 }
647 func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 () 663 func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 ()
648 { 664 {
649 if ! $gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7; then 665 if ! $gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7; then
@@ -720,15 +736,18 @@ AC_DEFUN([gl_INIT],
720 if test $HAVE_FUTIMENS = 0 || test $REPLACE_FUTIMENS = 1; then 736 if test $HAVE_FUTIMENS = 0 || test $REPLACE_FUTIMENS = 1; then
721 func_gl_gnulib_m4code_utimens 737 func_gl_gnulib_m4code_utimens
722 fi 738 fi
739 if case $host_os in mingw*) false;; *) test $HAVE_GETLOADAVG = 0;; esac; then
740 func_gl_gnulib_m4code_open
741 fi
723 if test $REPLACE_GETOPT = 1; then 742 if test $REPLACE_GETOPT = 1; then
724 func_gl_gnulib_m4code_be453cec5eecf5731a274f2de7f2db36 743 func_gl_gnulib_m4code_be453cec5eecf5731a274f2de7f2db36
725 fi 744 fi
745 if case $host_os in mingw*) false;; *) test $HAVE_GETRANDOM = 0 || test $REPLACE_GETRANDOM = 1;; esac; then
746 func_gl_gnulib_m4code_open
747 fi
726 if test $NEED_LOCALTIME_BUFFER = 1; then 748 if test $NEED_LOCALTIME_BUFFER = 1; then
727 func_gl_gnulib_m4code_2049e887c7e5308faad27b3f894bb8c9 749 func_gl_gnulib_m4code_2049e887c7e5308faad27b3f894bb8c9
728 fi 750 fi
729 if test $REPLACE_OPEN = 1; then
730 func_gl_gnulib_m4code_cloexec
731 fi
732 if test $HAVE_READLINKAT = 0; then 751 if test $HAVE_READLINKAT = 0; then
733 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b 752 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b
734 fi 753 fi
@@ -763,6 +782,7 @@ AC_DEFUN([gl_INIT],
763 AM_CONDITIONAL([gl_GNULIB_ENABLED_2049e887c7e5308faad27b3f894bb8c9], [$gl_gnulib_enabled_2049e887c7e5308faad27b3f894bb8c9]) 782 AM_CONDITIONAL([gl_GNULIB_ENABLED_2049e887c7e5308faad27b3f894bb8c9], [$gl_gnulib_enabled_2049e887c7e5308faad27b3f894bb8c9])
764 AM_CONDITIONAL([gl_GNULIB_ENABLED_malloca], [$gl_gnulib_enabled_malloca]) 783 AM_CONDITIONAL([gl_GNULIB_ENABLED_malloca], [$gl_gnulib_enabled_malloca])
765 AM_CONDITIONAL([gl_GNULIB_ENABLED_5264294aa0a5557541b53c8c741f7f31], [$gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31]) 784 AM_CONDITIONAL([gl_GNULIB_ENABLED_5264294aa0a5557541b53c8c741f7f31], [$gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31])
785 AM_CONDITIONAL([gl_GNULIB_ENABLED_open], [$gl_gnulib_enabled_open])
766 AM_CONDITIONAL([gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7], [$gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7]) 786 AM_CONDITIONAL([gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7], [$gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7])
767 AM_CONDITIONAL([gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c], [$gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c]) 787 AM_CONDITIONAL([gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c], [$gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c])
768 AM_CONDITIONAL([gl_GNULIB_ENABLED_strtoll], [$gl_gnulib_enabled_strtoll]) 788 AM_CONDITIONAL([gl_GNULIB_ENABLED_strtoll], [$gl_gnulib_enabled_strtoll])