aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Nicolaescu2008-06-26 04:24:54 +0000
committerDan Nicolaescu2008-06-26 04:24:54 +0000
commitf2a77c3a41744e43b52f0ac7a2c9bd7f8d406ae1 (patch)
tree05d027376fd22d8624eefdd512362109f7b2389a
parent3617b1eb8da69a836148741cd35a7d8ec59191af (diff)
downloademacs-f2a77c3a41744e43b52f0ac7a2c9bd7f8d406ae1.tar.gz
emacs-f2a77c3a41744e43b52f0ac7a2c9bd7f8d406ae1.zip
* unexnext.c:
* m/ews4800.h: * m/hp9000s300.h: * m/ibm370aix.h: * m/mips-siemens.h: * m/ncr386.h: * m/next.h: * m/pmax.h: * m/powerpcle.h: * m/tandem-s2.h: * s/386bsd.h: * s/bsd386.h: * s/bsd4-1.h: * s/bsd4-2.h: * s/bsdos2-1.h: * s/bsdos2.h: * s/bsdos3.h: * s/bsdos4.h: * s/nextstep.h: * s/ultrix4-3.h: * s/usg5-0.h: * s/usg5-2-2.h: * s/usg5-2.h: * s/usg5-4-3.h: * s/ux4800.h: * s/uxpds.h: * s/uxpv.h: Remove support for obsolete systems. * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h: Remove, insert contents in s/hpux-10.20.h * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h: Remove, insert contents in s/aix-4.2.h * s/usg5-3.h: Remove, insert contents in s/usg5-4.h. * s/bsd4-3.h: Rename to .. * s/bsd-common.h: ... this. * src/data.c: * src/doc.c: * src/ecrt0.c: * src/emacs.c: * src/fileio.c: * src/floatfns.c: * src/keyboard.c: * src/mem-limits.h: * src/print.c: * src/process.c: * src/sysdep.c: * src/syssignal.h: * src/systty.h: * src/syswait.h: * src/term.c: * src/unexec.c: * src/unexelf.c: * src/unexhp9k800.c: * src/m/hp800.h: * src/m/ibmrs6000.h: * src/m/mips.h: * src/m/vax.h: * src/s/darwin.h: * src/s/freebsd.h: * src/s/gnu.h: * src/s/ms-w32.h: * src/s/msdos.h: * src/s/netbsd.h: * src/s/template.h: Remove references to obsolete variables. * Makefile.in: Add dependencies for all unexec files. (admindir): Remove unused variable. (UNEXEC_SRC): Remove references. * config.nt: Remove reference to UNEXEC_SRC. * lwlib.c: Remove references to obsolete variables. * fakemail.c: Remove references to obsolete variables. * os.texi: Remove references to obsolete systems. * configure.in: * configure: Remove references to obsolete systems.
-rw-r--r--ChangeLog5
-rw-r--r--admin/CPP-DEFINES16
-rw-r--r--admin/emacs-pretesters9
-rwxr-xr-xconfigure212
-rw-r--r--configure.in215
-rw-r--r--doc/lispref/ChangeLog4
-rw-r--r--doc/lispref/os.texi3
-rw-r--r--etc/MACHINES282
-rw-r--r--lib-src/ChangeLog4
-rw-r--r--lib-src/fakemail.c2
-rw-r--r--lwlib/ChangeLog4
-rw-r--r--lwlib/lwlib.c4
-rw-r--r--nt/ChangeLog4
-rw-r--r--nt/config.nt2
-rw-r--r--src/ChangeLog70
-rw-r--r--src/Makefile.in24
-rw-r--r--src/data.c14
-rw-r--r--src/doc.c2
-rw-r--r--src/ecrt0.c120
-rw-r--r--src/emacs.c12
-rw-r--r--src/fileio.c10
-rw-r--r--src/floatfns.c14
-rw-r--r--src/keyboard.c14
-rw-r--r--src/m/ews4800.h40
-rw-r--r--src/m/hp800.h7
-rw-r--r--src/m/hp9000s300.h212
-rw-r--r--src/m/ibm370aix.h51
-rw-r--r--src/m/ibmrs6000.h12
-rw-r--r--src/m/mips-siemens.h161
-rw-r--r--src/m/mips.h2
-rw-r--r--src/m/ncr386.h18
-rw-r--r--src/m/next.h125
-rw-r--r--src/m/pmax.h127
-rw-r--r--src/m/powerpcle.h61
-rw-r--r--src/m/tandem-s2.h24
-rw-r--r--src/m/vax.h6
-rw-r--r--src/mem-limits.h4
-rw-r--r--src/print.c10
-rw-r--r--src/process.c98
-rw-r--r--src/s/386bsd.h27
-rw-r--r--src/s/aix3-1.h210
-rw-r--r--src/s/aix3-2-5.h33
-rw-r--r--src/s/aix3-2.h73
-rw-r--r--src/s/aix4-1.h65
-rw-r--r--src/s/aix4-2.h206
-rw-r--r--src/s/aix4.h17
-rw-r--r--src/s/bsd-common.h (renamed from src/s/bsd4-3.h)0
-rw-r--r--src/s/bsd386.h67
-rw-r--r--src/s/bsd4-1.h131
-rw-r--r--src/s/bsd4-2.h122
-rw-r--r--src/s/bsdos2-1.h9
-rw-r--r--src/s/bsdos2.h14
-rw-r--r--src/s/bsdos3.h9
-rw-r--r--src/s/bsdos4.h26
-rw-r--r--src/s/darwin.h6
-rw-r--r--src/s/freebsd.h17
-rw-r--r--src/s/gnu.h4
-rw-r--r--src/s/hpux.h218
-rw-r--r--src/s/hpux10-20.h269
-rw-r--r--src/s/hpux10.h85
-rw-r--r--src/s/hpux8.h96
-rw-r--r--src/s/hpux9.h94
-rw-r--r--src/s/hpux9shr.h16
-rw-r--r--src/s/ms-w32.h10
-rw-r--r--src/s/msdos.h10
-rw-r--r--src/s/netbsd.h4
-rw-r--r--src/s/nextstep.h114
-rw-r--r--src/s/template.h3
-rw-r--r--src/s/ultrix4-3.h16
-rw-r--r--src/s/usg5-0.h149
-rw-r--r--src/s/usg5-2-2.h152
-rw-r--r--src/s/usg5-2.h152
-rw-r--r--src/s/usg5-3.h202
-rw-r--r--src/s/usg5-4-3.h11
-rw-r--r--src/s/usg5-4.h173
-rw-r--r--src/s/ux4800.h20
-rw-r--r--src/s/uxpds.h11
-rw-r--r--src/s/uxpv.h14
-rw-r--r--src/sysdep.c295
-rw-r--r--src/syssignal.h7
-rw-r--r--src/systty.h13
-rw-r--r--src/syswait.h4
-rw-r--r--src/term.c7
-rw-r--r--src/unexec.c2
-rw-r--r--src/unexelf.c98
-rw-r--r--src/unexhp9k800.c2
-rw-r--r--src/unexnext.c514
87 files changed, 751 insertions, 5050 deletions
diff --git a/ChangeLog b/ChangeLog
index 63e11ba32e2..1e51b8b3268 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
12008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * configure.in:
4 * configure: Remove references to obsolete systems.
5
12008-06-25 Stefan Monnier <monnier@iro.umontreal.ca> 62008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
2 7
3 * Makefile.in (Makefile): Use it for its timestamp value as well, and 8 * Makefile.in (Makefile): Use it for its timestamp value as well, and
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES
index 621f65a1134..c5c9a539da8 100644
--- a/admin/CPP-DEFINES
+++ b/admin/CPP-DEFINES
@@ -57,7 +57,6 @@ BROKEN_FIONREAD
57BROKEN_SIGIO 57BROKEN_SIGIO
58BROKEN_TIOCGETC 58BROKEN_TIOCGETC
59BROKEN_TIOCGWINSZ 59BROKEN_TIOCGWINSZ
60BSD4_2
61BSD4_3 60BSD4_3
62BSD4_4 61BSD4_4
63BSD_PGRPS 62BSD_PGRPS
@@ -102,6 +101,7 @@ HAVE_LIBRESOLV
102HAVE_PTYS 101HAVE_PTYS
103HAVE_SELECT 102HAVE_SELECT
104HAVE_SOCKETS 103HAVE_SOCKETS
104HAVE_STRING_H
105HAVE_SYSVIPC 105HAVE_SYSVIPC
106HAVE_SYSV_SIGPAUSE 106HAVE_SYSV_SIGPAUSE
107HAVE_SYS_WAIT_H 107HAVE_SYS_WAIT_H
@@ -140,17 +140,21 @@ LIB_X11_LIB
140LINKER 140LINKER
141LOAD_AVE_CVT 141LOAD_AVE_CVT
142LOAD_AVE_TYPE 142LOAD_AVE_TYPE
143MACH
143MAIL_USE_FLOCK 144MAIL_USE_FLOCK
144MKDIR_PROTOTYPE 145MKDIR_PROTOTYPE
145MOTIF 146MOTIF
146NARROWPROTO 147NARROWPROTO
148NEED_BSDTTY
147NEED_ERRNO 149NEED_ERRNO
148NEED_PTEM_H 150NEED_PTEM_H
149NEED_SIOCTL 151NEED_SIOCTL
152NEED_UNISTD_H
150NLIST_STRUCT 153NLIST_STRUCT
151NOMULTIPLEJOBS 154NOMULTIPLEJOBS
152NONSYSTEM_DIR_LIBRARY 155NONSYSTEM_DIR_LIBRARY
153NOT_C_CODE 156NOT_C_CODE
157NO_ABORT
154NO_ARG_ARRAY 158NO_ARG_ARRAY
155NO_REMAP 159NO_REMAP
156NO_SIOCTL_H 160NO_SIOCTL_H
@@ -167,6 +171,7 @@ PERROR
167PNTR_COMPARISON_TYPE 171PNTR_COMPARISON_TYPE
168POSIX_SIGNALS 172POSIX_SIGNALS
169PREFER_VSUSP 173PREFER_VSUSP
174PREFER_VSUSP
170PTY_ITERATION 175PTY_ITERATION
171PTY_NAME_SPRINTF 176PTY_NAME_SPRINTF
172PTY_OPEN 177PTY_OPEN
@@ -196,6 +201,8 @@ S_IFLNK
196S_IFMT 201S_IFMT
197S_IREAD 202S_IREAD
198S_IWRITE 203S_IWRITE
204TAB3
205TABDLY
199TERMCAP 206TERMCAP
200TERMINFO 207TERMINFO
201TEXT_END 208TEXT_END
@@ -211,11 +218,11 @@ USG5_4
211USG_JOBCTRL 218USG_JOBCTRL
212USG_SHARED_LIBRARIES 219USG_SHARED_LIBRARIES
213VIRT_ADDR_VARIES 220VIRT_ADDR_VARIES
221WCOREDUMP
214WORDS_BIG_ENDIAN 222WORDS_BIG_ENDIAN
215WORD_MACHINE 223WORD_MACHINE
216XINT 224X11R5_INHIBIT_I18N
217XSET 225XOS_NEEDS_TIME_H
218XUINT
219X_DEFAULT_FONT 226X_DEFAULT_FONT
220_ABIN32 227_ABIN32
221_MIPS_SZLONG 228_MIPS_SZLONG
@@ -240,6 +247,7 @@ m68k
240magic 247magic
241mc68000 248mc68000
242mips 249mips
250prep
243sel 251sel
244subprocesses 252subprocesses
245sun 253sun
diff --git a/admin/emacs-pretesters b/admin/emacs-pretesters
index a6590497c04..4ea98c16dfc 100644
--- a/admin/emacs-pretesters
+++ b/admin/emacs-pretesters
@@ -178,11 +178,10 @@ that *might* break other systems without the risk that it will fail to
178work and therefore require an additional cycle of pretesting. 178work and therefore require an additional cycle of pretesting.
179 179
180People often suggest fixing a problem by changing config.h or 180People often suggest fixing a problem by changing config.h or
181src/ymakefile or even src/Makefile to do something special that a 181src/Makefile to do something special that a particular system needs.
182particular system needs. Sometimes it is totally obvious that such 182Sometimes it is totally obvious that such changes would break Emacs
183changes would break Emacs for almost all users. We can't possibly 183for almost all users. We can't possibly make a change like that. All
184make a change like that. All we can do is ask you to find a fix that 184we can do is ask you to find a fix that is safe to install.
185is safe to install.
186 185
187Sometimes people send fixes that *might* be an improvement in 186Sometimes people send fixes that *might* be an improvement in
188general--but it is hard to be sure of this. I can install such 187general--but it is hard to be sure of this. I can install such
diff --git a/configure b/configure
index 457cc2c911c..93abc6d9176 100755
--- a/configure
+++ b/configure
@@ -2360,9 +2360,8 @@ configuration=${host_alias-${build_alias-$host}}
2360### based on the machine portion of the configuration name, and an s- 2360### based on the machine portion of the configuration name, and an s-
2361### file based on the operating system portion. However, it turns out 2361### file based on the operating system portion. However, it turns out
2362### that each m/*.h file is pretty manufacturer-specific - for 2362### that each m/*.h file is pretty manufacturer-specific - for
2363### example hp9000s300.h is a 68000 machine; 2363### example mips.h is MIPS
2364### mips.h, pmax.h are all MIPS 2364### So we basically have to have a special case for each
2365### machines. So we basically have to have a special case for each
2366### configuration name. 2365### configuration name.
2367### 2366###
2368### As far as handling version numbers on operating systems is 2367### As far as handling version numbers on operating systems is
@@ -2419,12 +2418,6 @@ _ACEOF
2419 case "${canonical}" in 2418 case "${canonical}" in
2420 alpha*-*-netbsd*) machine=alpha ;; 2419 alpha*-*-netbsd*) machine=alpha ;;
2421 i[3456]86-*-netbsd*) machine=intel386 ;; 2420 i[3456]86-*-netbsd*) machine=intel386 ;;
2422 m68k-*-netbsd*)
2423 # This is somewhat bogus.
2424 machine=hp9000s300 ;;
2425 mips-*-netbsd*) machine=pmax ;;
2426 mipsel-*-netbsd*) machine=pmax ;;
2427 mipseb-*-netbsd*) machine=pmax ;;
2428 powerpc-*-netbsd*) machine=macppc ;; 2421 powerpc-*-netbsd*) machine=macppc ;;
2429 sparc*-*-netbsd*) machine=sparc ;; 2422 sparc*-*-netbsd*) machine=sparc ;;
2430 vax-*-netbsd*) machine=vax ;; 2423 vax-*-netbsd*) machine=vax ;;
@@ -2440,9 +2433,7 @@ _ACEOF
2440 case "${canonical}" in 2433 case "${canonical}" in
2441 alpha*-*-openbsd*) machine=alpha ;; 2434 alpha*-*-openbsd*) machine=alpha ;;
2442 arm-*-openbsd*) machine=arm ;; 2435 arm-*-openbsd*) machine=arm ;;
2443 hppa-*-openbsd*) machine=hp9000s300 ;;
2444 i386-*-openbsd*) machine=intel386 ;; 2436 i386-*-openbsd*) machine=intel386 ;;
2445 m68k-*-openbsd*) machine=hp9000s300 ;;
2446 powerpc-*-openbsd*) machine=macppc ;; 2437 powerpc-*-openbsd*) machine=macppc ;;
2447 sparc*-*-openbsd*) machine=sparc ;; 2438 sparc*-*-openbsd*) machine=sparc ;;
2448 vax-*-openbsd*) machine=vax ;; 2439 vax-*-openbsd*) machine=vax ;;
@@ -2459,23 +2450,6 @@ _ACEOF
2459 esac 2450 esac
2460 ;; 2451 ;;
2461 2452
2462 ## BSDI ports
2463 *-*-bsdi* )
2464 opsys=bsdi
2465 case "${canonical}" in
2466 i[345]86-*-bsdi*) machine=intel386 ;;
2467 sparc-*-bsdi*) machine=sparc ;;
2468 powerpc-*-bsdi*) machine=macppc ;;
2469 esac
2470 case "${canonical}" in
2471 *-*-bsd386* | *-*-bsdi1* ) opsys=bsd386 ;;
2472 *-*-bsdi2.0* ) opsys=bsdos2 ;;
2473 *-*-bsdi2* ) opsys=bsdos2-1 ;;
2474 *-*-bsdi3* ) opsys=bsdos3 ;;
2475 *-*-bsdi[45]* ) opsys=bsdos4 ;;
2476 esac
2477 ;;
2478
2479 alpha*-*-linux-gnu* ) 2453 alpha*-*-linux-gnu* )
2480 machine=alpha opsys=gnu-linux 2454 machine=alpha opsys=gnu-linux
2481 ;; 2455 ;;
@@ -2502,56 +2476,10 @@ _ACEOF
2502 fi 2476 fi
2503 ;; 2477 ;;
2504 2478
2505 ## Cubix QBx/386
2506 i[3456]86-cubix-sysv* )
2507 machine=intel386 opsys=usg5-3
2508 ;;
2509
2510 mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
2511 machine=pmax opsys=bsd4-2
2512 ;;
2513 mips-dec-ultrix4.[12]* | mips-dec-bsd* )
2514 machine=pmax opsys=bsd4-3
2515 ;;
2516 mips-dec-ultrix* )
2517 machine=pmax opsys=ultrix4-3
2518 ;;
2519 ## HP 9000 series 200 or 300
2520 m68*-hp-bsd* )
2521 machine=hp9000s300 opsys=bsd4-3
2522 ;;
2523 ## HP/UX 7, 8, 9, and 10 are supported on these machines.
2524 m68*-hp-hpux* )
2525 case "`uname -r`" in
2526 ## Someone's system reports A.B8.05 for this.
2527 ## I wonder what other possibilities there are.
2528 *.B8.* ) machine=hp9000s300 opsys=hpux8 ;;
2529 *.08.* ) machine=hp9000s300 opsys=hpux8 ;;
2530 *.09.* ) machine=hp9000s300 opsys=hpux9 ;;
2531 *.1[0-9].* ) machine=hp9000s300 opsys=hpux9shr ;;
2532 *) machine=hp9000s300 opsys=hpux ;;
2533 esac
2534 ;;
2535
2536 ## HP 9000 series 700 and 800, running HP/UX 2479 ## HP 9000 series 700 and 800, running HP/UX
2537 hppa*-hp-hpux7* )
2538 machine=hp800 opsys=hpux
2539 ;;
2540 hppa*-hp-hpux8* )
2541 machine=hp800 opsys=hpux8
2542 ;;
2543 hppa*-hp-hpux9shr* )
2544 machine=hp800 opsys=hpux9shr
2545 ;;
2546 hppa*-hp-hpux9* )
2547 machine=hp800 opsys=hpux9
2548 ;;
2549 hppa*-hp-hpux10.2* ) 2480 hppa*-hp-hpux10.2* )
2550 machine=hp800 opsys=hpux10-20 2481 machine=hp800 opsys=hpux10-20
2551 ;; 2482 ;;
2552 hppa*-hp-hpux10* )
2553 machine=hp800 opsys=hpux10
2554 ;;
2555 hppa*-hp-hpux1[1-9]* ) 2483 hppa*-hp-hpux1[1-9]* )
2556 machine=hp800 opsys=hpux11 2484 machine=hp800 opsys=hpux11
2557 CFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CFLAGS" 2485 CFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CFLAGS"
@@ -2561,41 +2489,13 @@ _ACEOF
2561 machine=hp800 opsys=gnu-linux 2489 machine=hp800 opsys=gnu-linux
2562 ;; 2490 ;;
2563 2491
2564 ## HP 9000 series 700 and 800, running HP/UX
2565 hppa*-hp-hpux* )
2566 ## Cross-compilation? Nah!
2567 case "`uname -r`" in
2568 ## Someone's system reports A.B8.05 for this.
2569 ## I wonder what other possibilities there are.
2570 *.B8.* ) machine=hp800 opsys=hpux8 ;;
2571 *.08.* ) machine=hp800 opsys=hpux8 ;;
2572 *.09.* ) machine=hp800 opsys=hpux9 ;;
2573 *) machine=hp800 opsys=hpux10 ;;
2574 esac
2575 ;;
2576 hppa*-*-nextstep* )
2577 machine=hp800 opsys=nextstep
2578 ;;
2579
2580 ## IBM machines 2492 ## IBM machines
2581 i370-ibm-aix*)
2582 machine=ibm370aix opsys=usg5-3
2583 ;;
2584 s390-*-linux-gnu* ) 2493 s390-*-linux-gnu* )
2585 machine=ibms390 opsys=gnu-linux 2494 machine=ibms390 opsys=gnu-linux
2586 ;; 2495 ;;
2587 s390x-*-linux-gnu* ) 2496 s390x-*-linux-gnu* )
2588 machine=ibms390x opsys=gnu-linux 2497 machine=ibms390x opsys=gnu-linux
2589 ;; 2498 ;;
2590 rs6000-ibm-aix3.1* | powerpc-ibm-aix3.1* )
2591 machine=ibmrs6000 opsys=aix3-1
2592 ;;
2593 rs6000-ibm-aix3.2.5 | powerpc-ibm-aix3.2.5 )
2594 machine=ibmrs6000 opsys=aix3-2-5
2595 ;;
2596 rs6000-ibm-aix4.1* | powerpc-ibm-aix4.1* )
2597 machine=ibmrs6000 opsys=aix4-1
2598 ;;
2599 rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2* ) 2499 rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2* )
2600 machine=ibmrs6000 opsys=aix4-2 2500 machine=ibmrs6000 opsys=aix4-2
2601 ;; 2501 ;;
@@ -2608,65 +2508,12 @@ _ACEOF
2608 rs6000-ibm-aix5* | powerpc-ibm-aix6* ) 2508 rs6000-ibm-aix5* | powerpc-ibm-aix6* )
2609 machine=ibmrs6000 opsys=aix4-2 2509 machine=ibmrs6000 opsys=aix4-2
2610 ;; 2510 ;;
2611 rs6000-ibm-aix4.0* | powerpc-ibm-aix4.0* )
2612 machine=ibmrs6000 opsys=aix4
2613 ;;
2614 rs6000-ibm-aix4* | powerpc-ibm-aix4* )
2615 machine=ibmrs6000 opsys=aix4-1
2616 ;;
2617 rs6000-ibm-aix* | powerpc-ibm-aix* )
2618 machine=ibmrs6000 opsys=aix3-2
2619 ;;
2620
2621 ## Prime EXL
2622 i[3456]86-prime-sysv* )
2623 machine=i386 opsys=usg5-3
2624 ;;
2625
2626 ## ncr machine running svr4.3.
2627 i[3456]86-ncr-sysv4.3 )
2628 machine=ncr386 opsys=usg5-4-3
2629 ;;
2630
2631 ## Unspecified sysv on an ncr machine defaults to svr4.2.
2632 ## (Plain usg5-4 doesn't turn on POSIX signals, which we need.)
2633 i[3456]86-ncr-sysv* )
2634 machine=ncr386 opsys=usg5-4-2
2635 ;;
2636 2511
2637 ## Macintosh PowerPC 2512 ## Macintosh PowerPC
2638 powerpc*-*-linux-gnu* ) 2513 powerpc*-*-linux-gnu* )
2639 machine=macppc opsys=gnu-linux 2514 machine=macppc opsys=gnu-linux
2640 ;; 2515 ;;
2641 2516
2642 ## Workstations sold by MIPS
2643 ## This is not necessarily all workstations using the MIPS processor -
2644 ## Irises are produced by SGI, and DECstations by DEC.
2645
2646 mips-mips-bsd* )
2647 machine=mips opsys=bsd4-3
2648 ;;
2649 mips-mips-* )
2650 machine=mips opsys=usg5-2-2
2651 ;;
2652
2653 ## NeXT
2654 m68*-next-* | m68k-*-nextstep* )
2655 machine=m68k opsys=nextstep
2656 ;;
2657
2658 ## NEC EWS4800
2659 mips-nec-sysv4*)
2660 machine=ews4800 opsys=ux4800
2661 ;;
2662
2663 ## Siemens Nixdorf
2664 mips-siemens-sysv* | mips-sni-sysv*)
2665 machine=mips-siemens opsys=usg5-4
2666 NON_GNU_CC=/usr/ccs/bin/cc
2667 NON_GNU_CPP=/usr/ccs/lib/cpp
2668 ;;
2669
2670 ## Silicon Graphics machines 2517 ## Silicon Graphics machines
2671 ## Iris 4D 2518 ## Iris 4D
2672 mips-sgi-irix6.5 ) 2519 mips-sgi-irix6.5 )
@@ -2689,7 +2536,6 @@ _ACEOF
2689 case "${canonical}" in 2536 case "${canonical}" in
2690 i[3456]86-*-* ) machine=intel386 ;; 2537 i[3456]86-*-* ) machine=intel386 ;;
2691 amd64-*-*|x86_64-*-*) machine=amdx86-64 ;; 2538 amd64-*-*|x86_64-*-*) machine=amdx86-64 ;;
2692 powerpcle* ) machine=powerpcle ;;
2693 powerpc* | rs6000* ) machine=ibmrs6000 ;; 2539 powerpc* | rs6000* ) machine=ibmrs6000 ;;
2694 sparc* ) machine=sparc ;; 2540 sparc* ) machine=sparc ;;
2695 * ) unported=yes ;; 2541 * ) unported=yes ;;
@@ -2719,7 +2565,6 @@ _ACEOF
2719 emacs_check_sunpro_c=yes 2565 emacs_check_sunpro_c=yes
2720 NON_GNU_CPP=/usr/ccs/lib/cpp 2566 NON_GNU_CPP=/usr/ccs/lib/cpp
2721 ;; 2567 ;;
2722 * ) opsys=bsd4-2 ;;
2723 esac 2568 esac
2724 ## Watch out for a compiler that we know will not work. 2569 ## Watch out for a compiler that we know will not work.
2725 case "${canonical}" in 2570 case "${canonical}" in
@@ -2733,24 +2578,11 @@ _ACEOF
2733 *) ;; 2578 *) ;;
2734 esac 2579 esac
2735 ;; 2580 ;;
2736 sparc-*-nextstep* )
2737 machine=sparc opsys=nextstep
2738 ;;
2739
2740 ## Tandem Integrity S2
2741 mips-tandem-sysv* )
2742 machine=tandem-s2 opsys=usg5-3
2743 ;;
2744 2581
2745 ## Vaxen. 2582 ## Vaxen.
2746 vax-dec-* ) 2583 vax-dec-* )
2747 machine=vax 2584 machine=vax
2748 case "${canonical}" in 2585 case "${canonical}" in
2749 *-bsd4.1* ) opsys=bsd4-1 ;;
2750 *-bsd4.2* | *-ultrix[0-3].* | *-ultrix4.0* ) opsys=bsd4-2 ;;
2751 *-bsd4.3* | *-ultrix* ) opsys=bsd4-3 ;;
2752 *-sysv[01]* | *-sysvr[01]* ) opsys=usg5-0 ;;
2753 *-sysv2* | *-sysvr2* ) opsys=usg5-2 ;;
2754 *-vms* ) opsys=vms ;; 2586 *-vms* ) opsys=vms ;;
2755 * ) unported=yes 2587 * ) unported=yes
2756 esac 2588 esac
@@ -2773,8 +2605,6 @@ _ACEOF
2773 *-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; 2605 *-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
2774 *-sysv5uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; 2606 *-sysv5uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
2775 *-sysv5OpenUNIX* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; 2607 *-sysv5OpenUNIX* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
2776 *-386bsd* ) opsys=386bsd ;;
2777 *-nextstep* ) opsys=nextstep ;;
2778 ## Otherwise, we'll fall through to the generic opsys code at the bottom. 2608 ## Otherwise, we'll fall through to the generic opsys code at the bottom.
2779 esac 2609 esac
2780 ;; 2610 ;;
@@ -2789,13 +2619,6 @@ _ACEOF
2789 machine=mips opsys=gnu-linux 2619 machine=mips opsys=gnu-linux
2790 ;; 2620 ;;
2791 2621
2792 ## UXP/DS
2793 sparc-fujitsu-sysv4* )
2794 machine=sparc opsys=uxpds
2795 NON_GNU_CPP=/usr/ccs/lib/cpp
2796 RANLIB="ar -ts"
2797 ;;
2798
2799 ## AMD x86-64 Linux-based GNU system 2622 ## AMD x86-64 Linux-based GNU system
2800 x86_64-*-linux-gnu* ) 2623 x86_64-*-linux-gnu* )
2801 machine=amdx86-64 opsys=gnu-linux 2624 machine=amdx86-64 opsys=gnu-linux
@@ -2820,13 +2643,6 @@ esac
2820if test x"${opsys}" = x; then 2643if test x"${opsys}" = x; then
2821 case "${canonical}" in 2644 case "${canonical}" in
2822 *-gnu* ) opsys=gnu ;; 2645 *-gnu* ) opsys=gnu ;;
2823 *-bsd4.[01] ) opsys=bsd4-1 ;;
2824 *-bsd4.2 ) opsys=bsd4-2 ;;
2825 *-bsd4.3 ) opsys=bsd4-3 ;;
2826 *-sysv0 | *-sysvr0 ) opsys=usg5-0 ;;
2827 *-sysv2 | *-sysvr2 ) opsys=usg5-2 ;;
2828 *-sysv2.2 | *-sysvr2.2 ) opsys=usg5-2-2 ;;
2829 *-sysv3* | *-sysvr3* ) opsys=usg5-3 ;;
2830 *-sysv4.2uw* ) opsys=unixware ;; 2646 *-sysv4.2uw* ) opsys=unixware ;;
2831 *-sysv5uw* ) opsys=unixware ;; 2647 *-sysv5uw* ) opsys=unixware ;;
2832 *-sysv5OpenUNIX* ) opsys=unixware ;; 2648 *-sysv5OpenUNIX* ) opsys=unixware ;;
@@ -2849,30 +2665,6 @@ if test x"${opsys}" = x; then
2849 esac 2665 esac
2850fi 2666fi
2851 2667
2852### Tests for sytems that we beleive are obsolete and should be desupported.
2853
2854case "${machine}" in
2855 pmax | hp9000s300 | ibm370aix | ncr386 | ews4800 | mips-siemens | powerpcle | tandem-s2 )
2856 echo "The system that you are configuring on: ${canonical} is considered to be obsolete"
2857 echo "and it is planned to be desupported in the next version of Emacs"
2858 echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use."
2859 echo "The code is still functional, but you need to edit the 'configure' script and remove the"
2860 echo "exit 33 line. After that you can run configure again and 'complete' the build."
2861 exit 33
2862 ;;
2863esac
2864
2865case "${opsys}" in
2866 bsd386 | bsdos2-1 | bsdos2 | bsdos3 | bsdos4 | bsd4-1 | bsd4-2 | bsd4-3 | usg5-0 | usg5-2-2 | usg5-2 | usg5-3 | ultrix4-3 | 386bsd | hpux | hpux8 | hpux9 | hpux9shr | hpux10 | aix3-1 | aix3-2-5 | aix3-2 | aix4-1 | nextstep | ux4800 | uxpds | uxpv )
2867 echo "The system that you are configuring on: ${canonical} is considered to be obsolete"
2868 echo "and it is planned to be desupported in the next version of Emacs"
2869 echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use."
2870 echo "The code is still functional, but you need to edit the 'configure' script and remove the"
2871 echo "'exit 44' line. After that you can run 'configure' again and complete the build."
2872 exit 44
2873 ;;
2874esac
2875
2876 2668
2877 2669
2878if test $unported = yes; then 2670if test $unported = yes; then
diff --git a/configure.in b/configure.in
index 7e90aa68cbf..72982ad80d3 100644
--- a/configure.in
+++ b/configure.in
@@ -265,9 +265,8 @@ dnl quotation begins
265### based on the machine portion of the configuration name, and an s- 265### based on the machine portion of the configuration name, and an s-
266### file based on the operating system portion. However, it turns out 266### file based on the operating system portion. However, it turns out
267### that each m/*.h file is pretty manufacturer-specific - for 267### that each m/*.h file is pretty manufacturer-specific - for
268### example hp9000s300.h is a 68000 machine; 268### example mips.h is MIPS
269### mips.h, pmax.h are all MIPS 269### So we basically have to have a special case for each
270### machines. So we basically have to have a special case for each
271### configuration name. 270### configuration name.
272### 271###
273### As far as handling version numbers on operating systems is 272### As far as handling version numbers on operating systems is
@@ -322,12 +321,6 @@ dnl see the `changequote' comment above.
322 case "${canonical}" in 321 case "${canonical}" in
323 alpha*-*-netbsd*) machine=alpha ;; 322 alpha*-*-netbsd*) machine=alpha ;;
324 i[3456]86-*-netbsd*) machine=intel386 ;; 323 i[3456]86-*-netbsd*) machine=intel386 ;;
325 m68k-*-netbsd*)
326 # This is somewhat bogus.
327 machine=hp9000s300 ;;
328 mips-*-netbsd*) machine=pmax ;;
329 mipsel-*-netbsd*) machine=pmax ;;
330 mipseb-*-netbsd*) machine=pmax ;;
331 powerpc-*-netbsd*) machine=macppc ;; 324 powerpc-*-netbsd*) machine=macppc ;;
332 sparc*-*-netbsd*) machine=sparc ;; 325 sparc*-*-netbsd*) machine=sparc ;;
333 vax-*-netbsd*) machine=vax ;; 326 vax-*-netbsd*) machine=vax ;;
@@ -343,9 +336,7 @@ dnl see the `changequote' comment above.
343 case "${canonical}" in 336 case "${canonical}" in
344 alpha*-*-openbsd*) machine=alpha ;; 337 alpha*-*-openbsd*) machine=alpha ;;
345 arm-*-openbsd*) machine=arm ;; 338 arm-*-openbsd*) machine=arm ;;
346 hppa-*-openbsd*) machine=hp9000s300 ;;
347 i386-*-openbsd*) machine=intel386 ;; 339 i386-*-openbsd*) machine=intel386 ;;
348 m68k-*-openbsd*) machine=hp9000s300 ;;
349 powerpc-*-openbsd*) machine=macppc ;; 340 powerpc-*-openbsd*) machine=macppc ;;
350 sparc*-*-openbsd*) machine=sparc ;; 341 sparc*-*-openbsd*) machine=sparc ;;
351 vax-*-openbsd*) machine=vax ;; 342 vax-*-openbsd*) machine=vax ;;
@@ -362,23 +353,6 @@ dnl see the `changequote' comment above.
362 esac 353 esac
363 ;; 354 ;;
364 355
365 ## BSDI ports
366 *-*-bsdi* )
367 opsys=bsdi
368 case "${canonical}" in
369 i[345]86-*-bsdi*) machine=intel386 ;;
370 sparc-*-bsdi*) machine=sparc ;;
371 powerpc-*-bsdi*) machine=macppc ;;
372 esac
373 case "${canonical}" in
374 *-*-bsd386* | *-*-bsdi1* ) opsys=bsd386 ;;
375 *-*-bsdi2.0* ) opsys=bsdos2 ;;
376 *-*-bsdi2* ) opsys=bsdos2-1 ;;
377 *-*-bsdi3* ) opsys=bsdos3 ;;
378 *-*-bsdi[45]* ) opsys=bsdos4 ;;
379 esac
380 ;;
381
382 alpha*-*-linux-gnu* ) 356 alpha*-*-linux-gnu* )
383 machine=alpha opsys=gnu-linux 357 machine=alpha opsys=gnu-linux
384 ;; 358 ;;
@@ -405,56 +379,10 @@ dnl see the `changequote' comment above.
405 fi 379 fi
406 ;; 380 ;;
407 381
408 ## Cubix QBx/386
409 i[3456]86-cubix-sysv* )
410 machine=intel386 opsys=usg5-3
411 ;;
412
413 mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
414 machine=pmax opsys=bsd4-2
415 ;;
416 mips-dec-ultrix4.[12]* | mips-dec-bsd* )
417 machine=pmax opsys=bsd4-3
418 ;;
419 mips-dec-ultrix* )
420 machine=pmax opsys=ultrix4-3
421 ;;
422 ## HP 9000 series 200 or 300
423 m68*-hp-bsd* )
424 machine=hp9000s300 opsys=bsd4-3
425 ;;
426 ## HP/UX 7, 8, 9, and 10 are supported on these machines.
427 m68*-hp-hpux* )
428 case "`uname -r`" in
429 ## Someone's system reports A.B8.05 for this.
430 ## I wonder what other possibilities there are.
431 *.B8.* ) machine=hp9000s300 opsys=hpux8 ;;
432 *.08.* ) machine=hp9000s300 opsys=hpux8 ;;
433 *.09.* ) machine=hp9000s300 opsys=hpux9 ;;
434 *.1[0-9].* ) machine=hp9000s300 opsys=hpux9shr ;;
435 *) machine=hp9000s300 opsys=hpux ;;
436 esac
437 ;;
438
439 ## HP 9000 series 700 and 800, running HP/UX 382 ## HP 9000 series 700 and 800, running HP/UX
440 hppa*-hp-hpux7* )
441 machine=hp800 opsys=hpux
442 ;;
443 hppa*-hp-hpux8* )
444 machine=hp800 opsys=hpux8
445 ;;
446 hppa*-hp-hpux9shr* )
447 machine=hp800 opsys=hpux9shr
448 ;;
449 hppa*-hp-hpux9* )
450 machine=hp800 opsys=hpux9
451 ;;
452 hppa*-hp-hpux10.2* ) 383 hppa*-hp-hpux10.2* )
453 machine=hp800 opsys=hpux10-20 384 machine=hp800 opsys=hpux10-20
454 ;; 385 ;;
455 hppa*-hp-hpux10* )
456 machine=hp800 opsys=hpux10
457 ;;
458 hppa*-hp-hpux1[1-9]* ) 386 hppa*-hp-hpux1[1-9]* )
459 machine=hp800 opsys=hpux11 387 machine=hp800 opsys=hpux11
460 CFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CFLAGS" 388 CFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CFLAGS"
@@ -464,41 +392,13 @@ dnl see the `changequote' comment above.
464 machine=hp800 opsys=gnu-linux 392 machine=hp800 opsys=gnu-linux
465 ;; 393 ;;
466 394
467 ## HP 9000 series 700 and 800, running HP/UX
468 hppa*-hp-hpux* )
469 ## Cross-compilation? Nah!
470 case "`uname -r`" in
471 ## Someone's system reports A.B8.05 for this.
472 ## I wonder what other possibilities there are.
473 *.B8.* ) machine=hp800 opsys=hpux8 ;;
474 *.08.* ) machine=hp800 opsys=hpux8 ;;
475 *.09.* ) machine=hp800 opsys=hpux9 ;;
476 *) machine=hp800 opsys=hpux10 ;;
477 esac
478 ;;
479 hppa*-*-nextstep* )
480 machine=hp800 opsys=nextstep
481 ;;
482
483 ## IBM machines 395 ## IBM machines
484 i370-ibm-aix*)
485 machine=ibm370aix opsys=usg5-3
486 ;;
487 s390-*-linux-gnu* ) 396 s390-*-linux-gnu* )
488 machine=ibms390 opsys=gnu-linux 397 machine=ibms390 opsys=gnu-linux
489 ;; 398 ;;
490 s390x-*-linux-gnu* ) 399 s390x-*-linux-gnu* )
491 machine=ibms390x opsys=gnu-linux 400 machine=ibms390x opsys=gnu-linux
492 ;; 401 ;;
493 rs6000-ibm-aix3.1* | powerpc-ibm-aix3.1* )
494 machine=ibmrs6000 opsys=aix3-1
495 ;;
496 rs6000-ibm-aix3.2.5 | powerpc-ibm-aix3.2.5 )
497 machine=ibmrs6000 opsys=aix3-2-5
498 ;;
499 rs6000-ibm-aix4.1* | powerpc-ibm-aix4.1* )
500 machine=ibmrs6000 opsys=aix4-1
501 ;;
502 rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2* ) 402 rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2* )
503 machine=ibmrs6000 opsys=aix4-2 403 machine=ibmrs6000 opsys=aix4-2
504 ;; 404 ;;
@@ -511,65 +411,12 @@ dnl see the `changequote' comment above.
511 rs6000-ibm-aix5* | powerpc-ibm-aix6* ) 411 rs6000-ibm-aix5* | powerpc-ibm-aix6* )
512 machine=ibmrs6000 opsys=aix4-2 412 machine=ibmrs6000 opsys=aix4-2
513 ;; 413 ;;
514 rs6000-ibm-aix4.0* | powerpc-ibm-aix4.0* )
515 machine=ibmrs6000 opsys=aix4
516 ;;
517 rs6000-ibm-aix4* | powerpc-ibm-aix4* )
518 machine=ibmrs6000 opsys=aix4-1
519 ;;
520 rs6000-ibm-aix* | powerpc-ibm-aix* )
521 machine=ibmrs6000 opsys=aix3-2
522 ;;
523
524 ## Prime EXL
525 i[3456]86-prime-sysv* )
526 machine=i386 opsys=usg5-3
527 ;;
528
529 ## ncr machine running svr4.3.
530 i[3456]86-ncr-sysv4.3 )
531 machine=ncr386 opsys=usg5-4-3
532 ;;
533
534 ## Unspecified sysv on an ncr machine defaults to svr4.2.
535 ## (Plain usg5-4 doesn't turn on POSIX signals, which we need.)
536 i[3456]86-ncr-sysv* )
537 machine=ncr386 opsys=usg5-4-2
538 ;;
539 414
540 ## Macintosh PowerPC 415 ## Macintosh PowerPC
541 powerpc*-*-linux-gnu* ) 416 powerpc*-*-linux-gnu* )
542 machine=macppc opsys=gnu-linux 417 machine=macppc opsys=gnu-linux
543 ;; 418 ;;
544 419
545 ## Workstations sold by MIPS
546 ## This is not necessarily all workstations using the MIPS processor -
547 ## Irises are produced by SGI, and DECstations by DEC.
548
549 mips-mips-bsd* )
550 machine=mips opsys=bsd4-3
551 ;;
552 mips-mips-* )
553 machine=mips opsys=usg5-2-2
554 ;;
555
556 ## NeXT
557 m68*-next-* | m68k-*-nextstep* )
558 machine=m68k opsys=nextstep
559 ;;
560
561 ## NEC EWS4800
562 mips-nec-sysv4*)
563 machine=ews4800 opsys=ux4800
564 ;;
565
566 ## Siemens Nixdorf
567 mips-siemens-sysv* | mips-sni-sysv*)
568 machine=mips-siemens opsys=usg5-4
569 NON_GNU_CC=/usr/ccs/bin/cc
570 NON_GNU_CPP=/usr/ccs/lib/cpp
571 ;;
572
573 ## Silicon Graphics machines 420 ## Silicon Graphics machines
574 ## Iris 4D 421 ## Iris 4D
575 mips-sgi-irix6.5 ) 422 mips-sgi-irix6.5 )
@@ -592,7 +439,6 @@ dnl see the `changequote' comment above.
592 case "${canonical}" in 439 case "${canonical}" in
593 i[3456]86-*-* ) machine=intel386 ;; 440 i[3456]86-*-* ) machine=intel386 ;;
594 amd64-*-*|x86_64-*-*) machine=amdx86-64 ;; 441 amd64-*-*|x86_64-*-*) machine=amdx86-64 ;;
595 powerpcle* ) machine=powerpcle ;;
596 powerpc* | rs6000* ) machine=ibmrs6000 ;; 442 powerpc* | rs6000* ) machine=ibmrs6000 ;;
597 sparc* ) machine=sparc ;; 443 sparc* ) machine=sparc ;;
598 * ) unported=yes ;; 444 * ) unported=yes ;;
@@ -622,7 +468,6 @@ dnl see the `changequote' comment above.
622 emacs_check_sunpro_c=yes 468 emacs_check_sunpro_c=yes
623 NON_GNU_CPP=/usr/ccs/lib/cpp 469 NON_GNU_CPP=/usr/ccs/lib/cpp
624 ;; 470 ;;
625 * ) opsys=bsd4-2 ;;
626 esac 471 esac
627 ## Watch out for a compiler that we know will not work. 472 ## Watch out for a compiler that we know will not work.
628 case "${canonical}" in 473 case "${canonical}" in
@@ -636,24 +481,11 @@ dnl see the `changequote' comment above.
636 *) ;; 481 *) ;;
637 esac 482 esac
638 ;; 483 ;;
639 sparc-*-nextstep* )
640 machine=sparc opsys=nextstep
641 ;;
642
643 ## Tandem Integrity S2
644 mips-tandem-sysv* )
645 machine=tandem-s2 opsys=usg5-3
646 ;;
647 484
648 ## Vaxen. 485 ## Vaxen.
649 vax-dec-* ) 486 vax-dec-* )
650 machine=vax 487 machine=vax
651 case "${canonical}" in 488 case "${canonical}" in
652 *-bsd4.1* ) opsys=bsd4-1 ;;
653 *-bsd4.2* | *-ultrix[0-3].* | *-ultrix4.0* ) opsys=bsd4-2 ;;
654 *-bsd4.3* | *-ultrix* ) opsys=bsd4-3 ;;
655 *-sysv[01]* | *-sysvr[01]* ) opsys=usg5-0 ;;
656 *-sysv2* | *-sysvr2* ) opsys=usg5-2 ;;
657 *-vms* ) opsys=vms ;; 489 *-vms* ) opsys=vms ;;
658 * ) unported=yes 490 * ) unported=yes
659 esac 491 esac
@@ -676,8 +508,6 @@ dnl see the `changequote' comment above.
676 *-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; 508 *-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
677 *-sysv5uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; 509 *-sysv5uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
678 *-sysv5OpenUNIX* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; 510 *-sysv5OpenUNIX* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
679 *-386bsd* ) opsys=386bsd ;;
680 *-nextstep* ) opsys=nextstep ;;
681 ## Otherwise, we'll fall through to the generic opsys code at the bottom. 511 ## Otherwise, we'll fall through to the generic opsys code at the bottom.
682 esac 512 esac
683 ;; 513 ;;
@@ -692,13 +522,6 @@ dnl see the `changequote' comment above.
692 machine=mips opsys=gnu-linux 522 machine=mips opsys=gnu-linux
693 ;; 523 ;;
694 524
695 ## UXP/DS
696 sparc-fujitsu-sysv4* )
697 machine=sparc opsys=uxpds
698 NON_GNU_CPP=/usr/ccs/lib/cpp
699 RANLIB="ar -ts"
700 ;;
701
702 ## AMD x86-64 Linux-based GNU system 525 ## AMD x86-64 Linux-based GNU system
703 x86_64-*-linux-gnu* ) 526 x86_64-*-linux-gnu* )
704 machine=amdx86-64 opsys=gnu-linux 527 machine=amdx86-64 opsys=gnu-linux
@@ -723,13 +546,6 @@ esac
723if test x"${opsys}" = x; then 546if test x"${opsys}" = x; then
724 case "${canonical}" in 547 case "${canonical}" in
725 *-gnu* ) opsys=gnu ;; 548 *-gnu* ) opsys=gnu ;;
726 *-bsd4.[01] ) opsys=bsd4-1 ;;
727 *-bsd4.2 ) opsys=bsd4-2 ;;
728 *-bsd4.3 ) opsys=bsd4-3 ;;
729 *-sysv0 | *-sysvr0 ) opsys=usg5-0 ;;
730 *-sysv2 | *-sysvr2 ) opsys=usg5-2 ;;
731 *-sysv2.2 | *-sysvr2.2 ) opsys=usg5-2-2 ;;
732 *-sysv3* | *-sysvr3* ) opsys=usg5-3 ;;
733 *-sysv4.2uw* ) opsys=unixware ;; 549 *-sysv4.2uw* ) opsys=unixware ;;
734 *-sysv5uw* ) opsys=unixware ;; 550 *-sysv5uw* ) opsys=unixware ;;
735 *-sysv5OpenUNIX* ) opsys=unixware ;; 551 *-sysv5OpenUNIX* ) opsys=unixware ;;
@@ -752,30 +568,6 @@ if test x"${opsys}" = x; then
752 esac 568 esac
753fi 569fi
754 570
755### Tests for sytems that we beleive are obsolete and should be desupported.
756
757case "${machine}" in
758 pmax | hp9000s300 | ibm370aix | ncr386 | ews4800 | mips-siemens | powerpcle | tandem-s2 )
759 echo "The system that you are configuring on: ${canonical} is considered to be obsolete"
760 echo "and it is planned to be desupported in the next version of Emacs"
761 echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use."
762 echo "The code is still functional, but you need to edit the 'configure' script and remove the"
763 echo "exit 33 line. After that you can run configure again and 'complete' the build."
764 exit 33
765 ;;
766esac
767
768case "${opsys}" in
769 bsd386 | bsdos2-1 | bsdos2 | bsdos3 | bsdos4 | bsd4-1 | bsd4-2 | bsd4-3 | usg5-0 | usg5-2-2 | usg5-2 | usg5-3 | ultrix4-3 | 386bsd | hpux | hpux8 | hpux9 | hpux9shr | hpux10 | aix3-1 | aix3-2-5 | aix3-2 | aix4-1 | nextstep | ux4800 | uxpds | uxpv )
770 echo "The system that you are configuring on: ${canonical} is considered to be obsolete"
771 echo "and it is planned to be desupported in the next version of Emacs"
772 echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use."
773 echo "The code is still functional, but you need to edit the 'configure' script and remove the"
774 echo "'exit 44' line. After that you can run 'configure' again and complete the build."
775 exit 44
776 ;;
777esac
778
779] 571]
780dnl quotation ends 572dnl quotation ends
781 573
@@ -1475,9 +1267,6 @@ case ${HAVE_X11} in
1475 yes ) HAVE_MENUS=yes ;; 1267 yes ) HAVE_MENUS=yes ;;
1476esac 1268esac
1477 1269
1478### Compute the unexec source name from the object name.
1479UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
1480
1481# Do the opsystem or machine files prohibit the use of the GNU malloc? 1270# Do the opsystem or machine files prohibit the use of the GNU malloc?
1482# Assume not, until told otherwise. 1271# Assume not, until told otherwise.
1483GNU_MALLOC=yes 1272GNU_MALLOC=yes
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index d5bf99ec61a..f604fe7a3b8 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,7 @@
12008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * os.texi: Remove references to obsolete systems.
4
12008-06-20 Eli Zaretskii <eliz@gnu.org> 52008-06-20 Eli Zaretskii <eliz@gnu.org>
2 6
3 * makefile.w32-in (distclean): Remove makefile. 7 * makefile.w32-in (distclean): Remove makefile.
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 0519e7dfa30..7eb3c95e6ab 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -664,9 +664,6 @@ Microsoft MS-DOS ``operating system.'' Emacs compiled with DJGPP for
664MS-DOS binds @code{system-type} to @code{ms-dos} even when you run it on 664MS-DOS binds @code{system-type} to @code{ms-dos} even when you run it on
665MS-Windows. 665MS-Windows.
666 666
667@item next-mach
668NeXT Mach-based system.
669
670@item usg-unix-v 667@item usg-unix-v
671AT&T System V. 668AT&T System V.
672 669
diff --git a/etc/MACHINES b/etc/MACHINES
index f2b9a36bc04..7ea6400253c 100644
--- a/etc/MACHINES
+++ b/etc/MACHINES
@@ -121,62 +121,10 @@ Fujitsu DS/90 (sparc-fujitsu-sysv4)
121 121
122 Changes merged in 20.3. 122 Changes merged in 20.3.
123 123
124GEC 63 (local-gec63-usg5.2)
125
126 Changes are partially merged in version 18, but certainly require
127 more work. Let us know if you get this working, and we'll give it a
128 real configuration name.
129
130Harris Power PC (powerpc-harris-powerunix) 124Harris Power PC (powerpc-harris-powerunix)
131 125
132 Patches have been merged in 19.31. 126 Patches have been merged in 19.31.
133 127
134Hewlett-Packard 9000 series 200 or 300 (m68k-hp-bsd or m68k-hp-hpux
135 or m68k-hp-netbsd)
136
137 These machines are 68000-series CPUs running HP/UX
138 (a derivative of sysV with some BSD features) or BSD 4.3 ported by Utah.
139 The operating system suffix determines which system Emacs is built for.
140
141 Series 200 HPUX runs Emacs only if it has the "HP/UX upgrade".
142
143 Version 19 works under BSD. The 19.26 pretest was reported
144 to work on HPUX 9. 19.31 works on HPUX 10.01, but there are
145 some problems on 10.10 which have not been resolved. Emacs 19.34
146 works on HPUX 10.20 provided you compile with GCC; with the HP C
147 compiler, subprocess commands do not work.
148
149 On HPUX 9, Emacs sometimes crashes with SIGBUS or SIGSEGV after you
150 delete a frame. We think this is due to a bug in the X libraries
151 provided by HP. With the alternative X libraries in
152 /usr/contrib/mitX11R5/lib, the problem does not happen.
153
154 If you are running HP/UX release 8.0 or later, you need the optional
155 "C/ANSI C" software in order to build Emacs (older releases of HP/UX
156 do not require any special software). If the file "/etc/filesets/C"
157 exists on your machine, you have this software, otherwise you do not.
158
159 Note that HP has used two incompatible assembler syntaxes,
160 and has recently changed the format of C function frames.
161 `src/crt0.c' and `src/alloca.s' have been conditionalised for the new
162 assembler and new function-entry sequence. You may need to define
163 OLD_HP_ASSEMBLER if you are using an older hpux version. If you
164 have an official (bought from HP) series 300 machine you have
165 the new assembler. Kernels that are 5.+ or later have new
166 assembler. A Series 200 that has been upgraded to a 68010
167 processor and a 5.+ kernel has the new compiler.
168
169 Define C_SWITCH_MACHINE to be +X to make a version of Emacs that
170 runs on both 68010 and 68020 based HP/UX's.
171
172 Define HPUX_68010 if you are using the new assembler, for
173 a system that has a 68010 without a 68881. This is to say,
174 a s200 (upgraded) or s310.
175
176 Define the symbol HPUX_NET if you have the optional network features
177 that include the `netunam' system call. This is referred to as
178 Network Services (NS/9000) in HP literature.
179
180HP 9000 series 500: not supported. 128HP 9000 series 500: not supported.
181 129
182 The series 500 has a seriously incompatible memory architecture 130 The series 500 has a seriously incompatible memory architecture
@@ -184,13 +132,11 @@ HP 9000 series 500: not supported.
184 and support for it would be difficult to implement. 132 and support for it would be difficult to implement.
185 133
186HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux 134HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux
187 or ...hpux9shr, or ...-nextstep) 135 or ...hpux9shr)
188 136
189 Use hppa1.1 for the 700 series and hppa1.0 for the 800 137 Use hppa1.1 for the 700 series and hppa1.0 for the 800
190 series machines. (Emacs may not actually care which one you use.) 138 series machines. (Emacs may not actually care which one you use.)
191 139
192 Support for NextSTEP was added in 19.31.
193
194 Emacs 20 may work on HPUX 10. You need patch PHSS_6202 to install 140 Emacs 20 may work on HPUX 10. You need patch PHSS_6202 to install
195 the Xaw and Xmu libraries. On HPUX 10.20 you may need to compile with GCC; 141 the Xaw and Xmu libraries. On HPUX 10.20 you may need to compile with GCC;
196 when Emacs was compiled with HP's C compiler, HP92453-01 A.10.32.03, 142 when Emacs was compiled with HP's C compiler, HP92453-01 A.10.32.03,
@@ -251,14 +197,6 @@ HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux
251 do not require any special software). If the file "/etc/filesets/C" 197 do not require any special software). If the file "/etc/filesets/C"
252 exists on your machine, you have this software, otherwise you do not. 198 exists on your machine, you have this software, otherwise you do not.
253 199
254IBM PS/2 (i386-ibm-aix1.1 or i386-ibm-aix1.2)
255
256 Changes merged in version 19. You may need to copy
257 /usr/lib/samples/hft/hftctl.c to the Emacs src directory.
258
259 i386-ibm-aix1.1 may not work with certain new X window managers, and
260 may be suboptimal.
261
262IBM RS/6000 (rs6000-ibm-aix*) 200IBM RS/6000 (rs6000-ibm-aix*)
263 201
264 Emacs 19.26 is believed to work; its pretest was tested. 202 Emacs 19.26 is believed to work; its pretest was tested.
@@ -299,22 +237,6 @@ IBM System/390 running GNU/Linux (s390-*-linux-gnu)
299 As of Emacs 21.2, a 31-bit only version is supported on this 237 As of Emacs 21.2, a 31-bit only version is supported on this
300 system. 238 system.
301 239
302Integrated Solutions `Optimum V' (m68k-isi-bsd4.2 or -bsd4.3)
303
304 18.52 said to work on some sort of ISI machine.
305 Version 18.45 worked (running on a Optimum V (VME bus, 68020)
306 BSD 4.2 (3.05e) system). 18.42 is reported to work on
307 a Qbus 68010 system. Has not been tried on `WorkStation' `Cluster
308 Compute Node' `Cluster WorkStation' or `Server Node' (Love the
309 StudLYCaps)
310
311 Compilation with -O is rumored to break something.
312
313 On recent system versions, you may need to undefine the macro UMAX
314 in `lib-src/loadst.c' and `src/getpagesize.h'. They stupidly defined this
315 in a system header file, which confuses Emacs (which thinks that UMAX
316 indicates the Umax operating system).
317
318Intel 386 (i386-*-bsdi2, i386-*-freebsd, i386-*-linux-gnu, 240Intel 386 (i386-*-bsdi2, i386-*-freebsd, i386-*-linux-gnu,
319 i386-*-sol2.4, i386-*-sysv3, i386-intsys-sysv, 241 i386-*-sol2.4, i386-*-sysv3, i386-intsys-sysv,
320 i386-*-sysv4, i386-*-sysv4.2, 242 i386-*-sysv4, i386-*-sysv4.2,
@@ -424,12 +346,6 @@ Intel 386 (i386-*-bsdi2, i386-*-freebsd, i386-*-linux-gnu,
424 but define `struct tc' instead; add `#define tchars tc' 346 but define `struct tc' instead; add `#define tchars tc'
425 to config.h to solve this problem. 347 to config.h to solve this problem.
426 348
427Iris 2500 and Iris 2500 Turbo (m68k-sgi-iris3.5 or m68k-sgi-iris3.6)
428
429 Version 18 was said to work; use m68k-sgi-iris3.5 for system version 2.5
430 and m68k-sgi-iris3.6 for system version 3.6.
431 Note that the 3030 is the same as the Iris 2500 Turbo.
432
433Iris 4D (mips-sgi-irix[456].*) 349Iris 4D (mips-sgi-irix[456].*)
434 350
435 Emacs 21.3 is reported to work on IRIX 6.5.x. 351 Emacs 21.3 is reported to work on IRIX 6.5.x.
@@ -491,54 +407,10 @@ NCR Intel system (i386-ncr-sysv4.2)
491 you may need to set LD_RUN_PATH at link time to specify where 407 you may need to set LD_RUN_PATH at link time to specify where
492 to find the X libraries. 408 to find the X libraries.
493 409
494NEC EWS4800 (mips-nec-sysv4)
495
496 This system works in 20.4, but you should use the compiler
497 /usr/abiccs/bin/cc (MIPS ABI MODE).
498
499NeXT (m68k-next-nextstep)
500
501 Emacs 19 has not been tested extensively yet, but it seems to work
502 in a NeXTStep 3.0 terminal window, and under the X server called
503 co-Xist. You may need to specify -traditional when src/Makefile
504 builds xmakefile.
505
506 NeXT users might want to implement direct operation with NeXTStep,
507 but from the point of view of the GNU project, that is a
508 distraction.
509
510 Thanks to Thorsten Ohl for working on the NeXT port of Emacs 19.
511
512Pmax (DEC Mips) (mips-dec-ultrix or mips-dec-osf1)
513
514 See under DECstation, above.
515
516Prime EXL (i386-prime-sysv) 410Prime EXL (i386-prime-sysv)
517 411
518 Minor changes merged in 19.1. 412 Minor changes merged in 19.1.
519 413
520Sequent Symmetry (i386-sequent-bsd, i386-sequent-ptx, i386-sequent-ptx4)
521
522 19.33 has changes to support ptx 4 (a modified SVR4).
523
524 Emacs 19 should work on Dynix (BSD). However, if you compile with
525 the Sequent compiler, you may find Emacs does not restore the
526 terminal settings on exit. If this happens, compile with GCC.
527
528 Emacs 19.27 contains patches that should support
529 DYNIX/ptx 1.4 and 2.1 with the native cc compiler.
530
531 GCC can't compile src/process.c due to a non-standard Sequent asm
532 keyword extension supported by cc and used for the network byte/word
533 swapping functions in the PTX /usr/include/netinet/in.h file. GCC
534 2.5.8 includes the file <sys/byteorder.h> which can be included into
535 netinet/in.h to perform these byte/word swapping functions in the
536 same manner. Patches have been submitted to the FSF against GCC
537 2.6.0 to fix this problem and allow Emacs to be built with GCC.
538
539 If your machine does not have TCP/IP installed, you will have to edit the
540 src/s/ptx.h file and comment out #define TCPIP_INSTALLED.
541
542Siemens Nixdorf RM600 and RM400 (mips-siemens-sysv4) 414Siemens Nixdorf RM600 and RM400 (mips-siemens-sysv4)
543 415
544 Changes merged in 19.29. The version configured with 416 Changes merged in 19.29. The version configured with
@@ -558,23 +430,8 @@ Siemens Nixdorf RM600 and RM400 (mips-siemens-sysv4)
558 LIBW= /usr/lib/libXm.a /usr/ccs/lib/libgen.a 430 LIBW= /usr/lib/libXm.a /usr/ccs/lib/libgen.a
559 LIBXT= $(LIBW) -lXmu /usr/lib/libXt.a $(LIBXTR6) -lXext 431 LIBXT= $(LIBW) -lXmu /usr/lib/libXt.a $(LIBXTR6) -lXext
560 432
561SONY News (m68k-sony-bsd4.2 or m68k-sony-bsd4.3) 433Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*,
562 434 i386-sun-solaris2.*, sparc*-*-linux-gnu)
563 18.52 worked. Use m68k-sony-bsd4.3 for system release 3.
564
565SONY News 3000 series (RISC NEWS) (mips-sony-bsd)
566
567 The 19.26 pretest is reported to work.
568
569 Some versions of the operating system give SIGTRAP for division by zero
570 instead of the usual signals. This causes division by zero
571 to make Emacs crash. The system should be fixed to give the proper signal.
572 Changing Emacs is not a proper solution, because it would prevent
573 Emacs from working under any debugger. But you can change init_data
574 in data.c if you wish.
575
576Sun 3, Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*,
577 i386-sun-solaris2.*, sparc*-*-linux-gnu)
578 435
579 To build a 32-bit Emacs (i.e. if you are having any sort of problem 436 To build a 32-bit Emacs (i.e. if you are having any sort of problem
580 bootstrapping a 64-bit version), you can use the Sun Studio compiler 437 bootstrapping a 64-bit version), you can use the Sun Studio compiler
@@ -634,13 +491,6 @@ Sun 3, Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*,
634 There are reports that using SunSoft cc with -xO4 -xdepend produces 491 There are reports that using SunSoft cc with -xO4 -xdepend produces
635 bad code for some part of Emacs. 492 bad code for some part of Emacs.
636 493
637 Emacs works ok Sunos 4.1.x
638 provided you completely replace your C shared library
639 using one of the SunOS 4.1.x jumbo replacement patches from Sun.
640 Here are the patch numbers for Sunos 4.1.3:
641 100890-10 SunOS 4.1.3: domestic libc jumbo patch
642 100891-10 SunOS 4.1.3: international libc jumbo patch
643
644 Some people report that Emacs crashes immediately on startup when 494 Some people report that Emacs crashes immediately on startup when
645 used with a non-X terminal, but we think this is due to compiling 495 used with a non-X terminal, but we think this is due to compiling
646 with GCC and failing to use GCC's "fixed" system header files. 496 with GCC and failing to use GCC's "fixed" system header files.
@@ -654,13 +504,6 @@ Sun 3, Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*,
654 The problem went away when GCC 2.7.0 was used instead. We do not know 504 The problem went away when GCC 2.7.0 was used instead. We do not know
655 whether anything in Emacs is partly to blame for this. 505 whether anything in Emacs is partly to blame for this.
656 506
657 X11R6 is set up to make shared libraries only, on Sunos 4.
658 Therefore, in order to link Emacs, you need to create static X libraries.
659 To do this, rebuild X11 after setting
660 #define ForceNormalLib YES
661 #define SeparateSharedCompile YES
662 in site.def (after #ifdef AfterVendorCF).
663
664 If you compile with Sun's ANSI compiler acc, you need additional options 507 If you compile with Sun's ANSI compiler acc, you need additional options
665 when linking temacs, such as 508 when linking temacs, such as
666 /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1 509 /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1
@@ -700,21 +543,6 @@ Sun 3, Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*,
700 (now remapped as part of the text). These are never 543 (now remapped as part of the text). These are never
701 swapped in. 544 swapped in.
702 545
703 To build a single Emacs that will run on Sun 2 and Sun 3
704 HARDWARE, just build it on the Sun 2.
705
706 On Sunos 4.1.3, the word is that Emacs can loop infinitely
707 on startup with X due perhaps to a bug in Sunos. Installing all of
708 these Sun patches fixes the problem. We don't know which of them
709 are really relevant.
710
711 100075-11 100224-06 100347-03 100482-05 100557-02 100623-03 100804-03
712 101080-01 100103-12 100249-09 100496-02 100564-07 100630-02 100891-10
713 101134-01 100170-09 100296-04 100377-09 100507-04 100567-04 100650-02
714 101070-01 101145-01 100173-10 100305-15 100383-06 100513-04 100570-05
715 100689-01 101071-03 101200-02 100178-09 100338-05 100421-03 100536-02
716 100584-05 100784-01 101072-01 101207-01
717
718Tadpole 68K (m68k-tadpole-sysv) 546Tadpole 68K (m68k-tadpole-sysv)
719 547
720 Changes merged in 19.1. 548 Changes merged in 19.1.
@@ -726,13 +554,6 @@ Tadpole 68K (m68k-tadpole-sysv)
726 554
727 chmod 2755 etc/movemail; chgrp mail etc/movemail 555 chmod 2755 etc/movemail; chgrp mail etc/movemail
728 556
729Tandem Integrity S2 (mips-tandem-sysv)
730
731 Changes merged in 18.56 but subprocess support is turned off.
732 You will probably want to see if you can make subprocesses work.
733
734 You must edit `lib-src/Makefile' to define LOADLIBES = -mld.
735
736Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3), 557Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3),
737 Ultrix (vax-dec-ultrix), 558 Ultrix (vax-dec-ultrix),
738 System V (vax-dec-sysv0, vax-dec-sysv2), or 559 System V (vax-dec-sysv0, vax-dec-sysv2), or
@@ -754,18 +575,6 @@ Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3),
754 575
755Here are notes about some of the systems supported: 576Here are notes about some of the systems supported:
756 577
757Berkeley 4.1 (bsd4.1)
758
759 Works on vaxes.
760
761Berkeley 4.2 (bsd4.2)
762
763 Works on several machines.
764
765Berkeley 4.3 (bsd4.3)
766
767 Works, on Vaxes at least.
768
769Linux (actually GNU/Linux) 578Linux (actually GNU/Linux)
770 579
771 Most of the complete systems which use the Linux kernel are close 580 Most of the complete systems which use the Linux kernel are close
@@ -805,57 +614,6 @@ SCO Unix
805 If you are using SMAIL, you need to define the macro 614 If you are using SMAIL, you need to define the macro
806 SMAIL in config.h. 615 SMAIL in config.h.
807 616
808System V rel 0 (usg5.0)
809
810 Works, on Vaxes and 3bxxx's.
811 There are some problems in 18.37 due to shortnames/cccp problems:
812 use the emacs 17 cpp if you have it.
813
814System V rel 2 (usg5.2)
815
816 Works on various machines.
817 On some (maybe all) machines the library -lPW exists and contains
818 a version of `alloca'. On these machines, to use it, put
819 #define HAVE_ALLOCA
820 #define LIB_STANDARD -lPW -lc
821 in the `src/m/MACHINENAME.h' file for the machine.
822
823 If you find that the character Meta-DEL makes Emacs crash,
824 find where function init_sys_modes in sysdep.c sets sg.c_cc[VQUIT]
825 and make it store 7 there. I have as yet no evidence of whether
826 this problem, known in HP/UX, exists in other system V versions.
827
828System V rel 2.2 (usg5.2.2)
829
830 In 5.2.2 AT&T undid, incompatibly, their previous incompatible
831 change to the way the nlist library is called. A different s- file
832 is used to enable the other interface.
833
834 They call themselves the right choice--can't they choose?
835
836 Emacs version 18 unexec is currently not working properly
837 on 5.2.2. Nobody knows why yet. A workaround is to define
838 NO_REMAP. It is not yet known whether this applies to all
839 machines running 5.2.2.
840
841System V rel 3 (usg5.3)
842
843 Some versions of this system support ptys and BSD-style sockets.
844 On such systems, you should define HAVE_PTYS and HAVE_SOCKETS in config.h.
845
846 If you want to link Emacs with shared libraries, define
847 USG_SHARED_LIBRARIES.
848
849 You may have to add ANSI idempotence #-lines to your sys/types.h
850 file to get Emacs to compile correctly. This may be necessary on
851 other pre-ANSI systems as well.
852
853 On an AT&T 6386WGS using System V Release 3.2 and X11R3, the X support
854 cannot be made to work. Whether or not the GNU relocating malloc is
855 used, the symptom is that the first call Emacs makes to sbrk(0) returns
856 (char *)-1. Sorry, you're stuck with character-only mode. Try
857 installing XFree86 to fix this.
858
859System V rel 4.0.3 and 4.0.4 (usg5.4) 617System V rel 4.0.3 and 4.0.4 (usg5.4)
860 618
861 Supported, including shared libraries for ELF, but ptys do not work 619 Supported, including shared libraries for ELF, but ptys do not work
@@ -892,27 +650,6 @@ System V rel 4.0.3 and 4.0.4 (usg5.4)
892 #undef HAVE_SOCKETS in config.h, after the inclusion of s-usg5-4.h. 650 #undef HAVE_SOCKETS in config.h, after the inclusion of s-usg5-4.h.
893 (Any system that supports Internet should implement sockets.) 651 (Any system that supports Internet should implement sockets.)
894 652
895Ultrix (bsd4.3)
896
897 Recent versions of Ultrix appear to support the features of Berkeley 4.3.
898 Ultrix was at the BSD 4.2 level for a long time after BSD 4.3 came out.
899
900 Ultrix 3.0 has incompatibilities in its X library if you have the
901 Ultrix version of X (UWS version 2.0). To solve them, you need to
902 prevent XvmsAlloc.o in Xlib from being used. Israel Pinkas says:
903
904 I added the following lines to config.h after the X defines:
905
906 #if defined(ultrix) && defined(X11)
907 #define OBJECTS_SYSTEM calloc.o
908 #endif
909
910 Then I ran the following:
911
912 ar x /usr/lib/libc.a calloc.o
913
914 The problem is said to be gone in UWS version 2.1.
915
916VMS (vmsM.N) 653VMS (vmsM.N)
917 654
918 Richard Levitte <levitte@e.kth.se> distributes a set of patches to 655 Richard Levitte <levitte@e.kth.se> distributes a set of patches to
@@ -964,6 +701,9 @@ Support for the following obsolete platforms was removed in Emacs 23.1
964 Apollo (m/apollo.h) 701 Apollo (m/apollo.h)
965 AT&T 3b (m/att3b.h) 702 AT&T 3b (m/att3b.h)
966 Aviion (m/aviion*) 703 Aviion (m/aviion*)
704 Berkeley 4.1 (m/bsd4.1.h)
705 Berkeley 4.2 (m/bsd4.2.h)
706 Berkeley 4.3 (m/bsd4.3.h)
967 Celerity (m/celerity.h) 707 Celerity (m/celerity.h)
968 clipper (m/clipper.h) 708 clipper (m/clipper.h)
969 convergent S series (m/cnvrgnt.h) 709 convergent S series (m/cnvrgnt.h)
@@ -1014,6 +754,16 @@ Support for the following obsolete platforms was removed in Emacs 23.1
1014 Sun's 386-based RoadRunner (m/sun386.h) 754 Sun's 386-based RoadRunner (m/sun386.h)
1015 Sun3 machines (m/sun3*) 755 Sun3 machines (m/sun3*)
1016 Integrated Solutions 386 machine (m/is386.h) 756 Integrated Solutions 386 machine (m/is386.h)
757 Integrated Solutions `Optimum V' -- m68k-isi-bsd4.2 or -bsd4.3
758 Hewlett-Packard 9000 series 200 or 300 -- m68k-hp-bsd or m68k-hp-hpux or m68k-hp-netbsd
759 IBM PS/2 -- i386-ibm-aix1.1 or i386-ibm-aix1.2
760 GEC 63 -- local-gec63-usg5.2
761 Tandem Integrity S2 -- mips-tandem-sysv
762 System V rel 0 -- usg5.0
763 System V rel 2 -- usg5.2
764 System V rel 2.2 -- usg5.2.2
765 System V rel 3 -- usg5.3
766 Ultrix -- bsd4.3
1017 767
1018 768
1019Local variables: 769Local variables:
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index f87f53d6f29..ce2eea2679e 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,7 @@
12008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * fakemail.c: Remove references to obsolete variables.
4
12008-06-02 Jim Meyering <meyering@redhat.com> 52008-06-02 Jim Meyering <meyering@redhat.com>
2 6
3 * ebrowse.c (xfree): Remove definition; s/xfree/free/. 7 * ebrowse.c (xfree): Remove definition; s/xfree/free/.
diff --git a/lib-src/fakemail.c b/lib-src/fakemail.c
index ead5ac61854..c732511f90e 100644
--- a/lib-src/fakemail.c
+++ b/lib-src/fakemail.c
@@ -24,7 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24#include <config.h> 24#include <config.h>
25#endif 25#endif
26 26
27#if defined (BSD_SYSTEM) && !defined (BSD4_1) && !defined (USE_FAKEMAIL) 27#if defined (BSD_SYSTEM) && !defined (USE_FAKEMAIL)
28/* This program isnot used in BSD, so just avoid loader complaints. */ 28/* This program isnot used in BSD, so just avoid loader complaints. */
29int 29int
30main () 30main ()
diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog
index 4fd03926ce3..a3fe863e9fd 100644
--- a/lwlib/ChangeLog
+++ b/lwlib/ChangeLog
@@ -1,3 +1,7 @@
12008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * lwlib.c: Remove references to obsolete variables.
4
12008-06-02 Jim Meyering <meyering@redhat.com> 52008-06-02 Jim Meyering <meyering@redhat.com>
2 6
3 remove useless if-before-free tests 7 remove useless if-before-free tests
diff --git a/lwlib/lwlib.c b/lwlib/lwlib.c
index 03c402163e9..73f458adb93 100644
--- a/lwlib/lwlib.c
+++ b/lwlib/lwlib.c
@@ -20,10 +20,6 @@ along with GNU Emacs; see the file COPYING. If not, write to
20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21Boston, MA 02110-1301, USA. */ 21Boston, MA 02110-1301, USA. */
22 22
23#ifdef NeXT
24#undef __STRICT_BSD__ /* ick */
25#endif
26
27#ifdef HAVE_CONFIG_H 23#ifdef HAVE_CONFIG_H
28#include <config.h> 24#include <config.h>
29#endif 25#endif
diff --git a/nt/ChangeLog b/nt/ChangeLog
index d228b84bd70..6c06e571ade 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,7 @@
12008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * config.nt: Remove reference to UNEXEC_SRC.
4
12008-06-23 Juanma Barranquero <lekktu@gmail.com> 52008-06-23 Juanma Barranquero <lekktu@gmail.com>
2 Eli Zaretskii <eliz@gnu.org> 6 Eli Zaretskii <eliz@gnu.org>
3 7
diff --git a/nt/config.nt b/nt/config.nt
index 777fe83c9c2..8deebdf6aec 100644
--- a/nt/config.nt
+++ b/nt/config.nt
@@ -202,8 +202,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
202 202
203#undef CRAY_STACKSEG_END 203#undef CRAY_STACKSEG_END
204 204
205#undef UNEXEC_SRC
206
207#undef HAVE_LIBXBSD 205#undef HAVE_LIBXBSD
208#undef HAVE_XRMSETDATABASE 206#undef HAVE_XRMSETDATABASE
209#undef HAVE_XSCREENRESOURCESTRING 207#undef HAVE_XSCREENRESOURCESTRING
diff --git a/src/ChangeLog b/src/ChangeLog
index eea911d7a89..4450763e1a9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,73 @@
12008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * unexnext.c:
4 * m/ews4800.h:
5 * m/hp9000s300.h:
6 * m/ibm370aix.h:
7 * m/mips-siemens.h:
8 * m/ncr386.h:
9 * m/next.h:
10 * m/pmax.h:
11 * m/powerpcle.h:
12 * m/tandem-s2.h:
13 * s/386bsd.h:
14 * s/bsd386.h:
15 * s/bsd4-1.h:
16 * s/bsd4-2.h:
17 * s/bsdos2-1.h:
18 * s/bsdos2.h:
19 * s/bsdos3.h:
20 * s/bsdos4.h:
21 * s/nextstep.h:
22 * s/ultrix4-3.h:
23 * s/usg5-0.h:
24 * s/usg5-2-2.h:
25 * s/usg5-2.h:
26 * s/usg5-4-3.h:
27 * s/ux4800.h:
28 * s/uxpds.h:
29 * s/uxpv.h: Remove support for obsolete systems.
30 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
31 Remove, insert contents in s/hpux-10.20.h
32 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
33 Remove, insert contents in s/aix-4.2.h
34 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
35 * s/bsd4-3.h: Rename to ..
36 * s/bsd-common.h: ... this.
37 * src/data.c:
38 * src/doc.c:
39 * src/ecrt0.c:
40 * src/emacs.c:
41 * src/fileio.c:
42 * src/floatfns.c:
43 * src/keyboard.c:
44 * src/mem-limits.h:
45 * src/print.c:
46 * src/process.c:
47 * src/sysdep.c:
48 * src/syssignal.h:
49 * src/systty.h:
50 * src/syswait.h:
51 * src/term.c:
52 * src/unexec.c:
53 * src/unexelf.c:
54 * src/unexhp9k800.c:
55 * src/m/hp800.h:
56 * src/m/ibmrs6000.h:
57 * src/m/mips.h:
58 * src/m/vax.h:
59 * src/s/darwin.h:
60 * src/s/freebsd.h:
61 * src/s/gnu.h:
62 * src/s/ms-w32.h:
63 * src/s/msdos.h:
64 * src/s/netbsd.h:
65 * src/s/template.h: Remove references to obsolete variables.
66
67 * Makefile.in: Add dependencies for all unexec files.
68 (admindir): Remove unused variable.
69 (UNEXEC_SRC): Remove references.
70
12008-06-25 Chong Yidong <cyd@stupidchicken.com> 712008-06-25 Chong Yidong <cyd@stupidchicken.com>
2 72
3 * xfns.c (x_default_font_parameter): If Xft is available, first 73 * xfns.c (x_default_font_parameter): If Xft is available, first
diff --git a/src/Makefile.in b/src/Makefile.in
index 60aace0a53e..8acfa014f2b 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -52,7 +52,6 @@ version=@version@
52LIBOBJS = @LIBOBJS@ 52LIBOBJS = @LIBOBJS@
53 53
54lispsource = ${srcdir}/../lisp/ 54lispsource = ${srcdir}/../lisp/
55admindir = $(srcdir)/../admin/
56libsrc = ../lib-src/ 55libsrc = ../lib-src/
57etc = ../etc/ 56etc = ../etc/
58oldXMenudir = ../oldXMenu/ 57oldXMenudir = ../oldXMenu/
@@ -94,11 +93,6 @@ SHELL=/bin/sh
94 do not let it interfere with this file. */ 93 do not let it interfere with this file. */
95#undef register 94#undef register
96 95
97/* On some systems we may not be able to use the system make command. */
98#ifdef MAKE_COMMAND
99MAKE = MAKE_COMMAND
100#endif
101
102/* GNU libc requires ORDINARY_LINK so that its own crt0 is used. 96/* GNU libc requires ORDINARY_LINK so that its own crt0 is used.
103 GNU/Linux is an exception because it uses a funny variant of GNU libc. */ 97 GNU/Linux is an exception because it uses a funny variant of GNU libc. */
104#ifdef __GNU_LIBRARY__ 98#ifdef __GNU_LIBRARY__
@@ -500,9 +494,6 @@ TEMACS_LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_TEMACS LD_SWITCH_MACHINE LD_S
500#ifndef UNEXEC 494#ifndef UNEXEC
501#define UNEXEC unexec.o 495#define UNEXEC unexec.o
502#endif 496#endif
503#ifndef UNEXEC_SRC
504#define UNEXEC_SRC unexec.c
505#endif
506 497
507INTERVAL_SRC = intervals.h composite.h 498INTERVAL_SRC = intervals.h composite.h
508 499
@@ -1141,10 +1132,17 @@ terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \
1141terminfo.o: terminfo.c $(config_h) 1132terminfo.o: terminfo.c $(config_h)
1142tparam.o: tparam.c $(config_h) 1133tparam.o: tparam.c $(config_h)
1143undo.o: undo.c buffer.h commands.h window.h $(config_h) 1134undo.o: undo.c buffer.h commands.h window.h $(config_h)
1144/* This hack is to discard any space that cpp might put at the beginning 1135unexaix.o: unexaix.c $(config_h)
1145 of UNEXEC when substituting it in. */ 1136unexalpha.o: unexalpha.c $(config_h)
1146UNEXEC_ALIAS=UNEXEC 1137unexcw.o: unexcw.c $(config_h)
1147$(UNEXEC_ALIAS): UNEXEC_SRC $(config_h) 1138unexec.o: unexec.c $(config_h)
1139unexelf.o: unexelf.c $(config_h)
1140unexhp9k800.o: unexhp9k800.c $(config_h)
1141unexmacosx.o: unexmacosx.c $(config_h)
1142unexmips.o: unexmips.c $(config_h)
1143unexnext.o: unexnext.c $(config_h)
1144unexsol.o: unexsol.c $(config_h)
1145unexw32.o: unexw32.c $(config_h)
1148w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \ 1146w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \
1149 msdos.h buffer.h charset.h coding.h composite.h $(config_h) 1147 msdos.h buffer.h charset.h coding.h composite.h $(config_h)
1150widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \ 1148widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \
diff --git a/src/data.c b/src/data.c
index a695c4d56b2..ab52c20c77f 100644
--- a/src/data.c
+++ b/src/data.c
@@ -45,16 +45,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
45#endif 45#endif
46#endif 46#endif
47 47
48/* Work around a problem that happens because math.h on hpux 7
49 defines two static variables--which, in Emacs, are not really static,
50 because `static' is defined as nothing. The problem is that they are
51 here, in floatfns.c, and in lread.c.
52 These macros prevent the name conflict. */
53#if defined (HPUX) && !defined (HPUX8)
54#define _MAXLDBL data_c_maxldbl
55#define _NMAXLDBL data_c_nmaxldbl
56#endif
57
58#include <math.h> 48#include <math.h>
59 49
60#if !defined (atof) 50#if !defined (atof)
@@ -3285,11 +3275,7 @@ arith_error (signo)
3285 /* VMS systems are like USG. */ 3275 /* VMS systems are like USG. */
3286 signal (signo, arith_error); 3276 signal (signo, arith_error);
3287#endif /* VMS */ 3277#endif /* VMS */
3288#ifdef BSD4_1
3289 sigrelse (SIGFPE);
3290#else /* not BSD4_1 */
3291 sigsetmask (SIGEMPTYMASK); 3278 sigsetmask (SIGEMPTYMASK);
3292#endif /* not BSD4_1 */
3293 3279
3294 SIGNAL_THREAD_CHECK (signo); 3280 SIGNAL_THREAD_CHECK (signo);
3295 xsignal0 (Qarith_error); 3281 xsignal0 (Qarith_error);
diff --git a/src/doc.c b/src/doc.c
index c307119eaf9..433a6109afc 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -22,7 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22#include <config.h> 22#include <config.h>
23 23
24#include <sys/types.h> 24#include <sys/types.h>
25#include <sys/file.h> /* Must be after sys/types.h for USG and BSD4_1*/ 25#include <sys/file.h> /* Must be after sys/types.h for USG*/
26#include <ctype.h> 26#include <ctype.h>
27 27
28#ifdef HAVE_FCNTL_H 28#ifdef HAVE_FCNTL_H
diff --git a/src/ecrt0.c b/src/ecrt0.c
index fcf4fee26e8..4c4f297c9ca 100644
--- a/src/ecrt0.c
+++ b/src/ecrt0.c
@@ -200,120 +200,6 @@ start1 (ignore, argc, xargv)
200 200
201#endif /* not CRT0_DUMMIES */ 201#endif /* not CRT0_DUMMIES */
202 202
203#ifdef hp9000s300
204int argc_value;
205char **argv_value;
206#ifdef OLD_HP_ASSEMBLER
207 asm(" text");
208 asm(" globl __start");
209 asm(" globl _exit");
210 asm(" globl _main");
211 asm("__start");
212 asm(" dc.l 0");
213 asm(" subq.w #0x1,d0");
214 asm(" move.w d0,float_soft");
215 asm(" move.l 0x4(a7),d0");
216 asm(" beq.s skip_1");
217 asm(" move.l d0,a0");
218 asm(" clr.l -0x4(a0)");
219 asm("skip_1");
220 asm(" move.l a7,a0");
221 asm(" subq.l #0x8,a7");
222 asm(" move.l (a0),(a7)");
223 asm(" move.l (a0),_argc_value");
224 asm(" addq.l #0x4,a0");
225 asm(" move.l a0,0x4(a7)");
226 asm(" move.l a0,_argv_value");
227 asm("incr_loop");
228 asm(" tst.l (a0)+");
229 asm(" bne.s incr_loop");
230 asm(" move.l 0x4(a7),a1");
231 asm(" cmp.l (a1),a0");
232 asm(" blt.s skip_2");
233 asm(" subq.l #0x4,a0");
234 asm("skip_2");
235 asm(" move.l a0,0x8(a7)");
236 asm(" move.l a0,_environ");
237 asm(" jsr _main");
238 asm(" addq.l #0x8,a7");
239 asm(" move.l d0,-(a7)");
240 asm(" jsr _exit");
241 asm(" move.w #0x1,d0");
242 asm(" trap #0x0");
243 asm(" comm float_soft,4");
244/* float_soft is allocated in this way because C would
245 put an underscore character in its name otherwise. */
246
247#else /* new hp assembler */
248
249 asm(" text");
250 asm(" global float_loc");
251 asm(" set float_loc,0xFFFFB000");
252 asm(" global fpa_loc");
253 asm(" set fpa_loc,0xfff08000");
254 asm(" global __start");
255 asm(" global _exit");
256 asm(" global _main");
257 asm("__start:");
258 asm(" byte 0,0,0,0");
259 asm(" subq.w &1,%d0");
260 asm(" mov.w %d0,float_soft");
261 asm(" mov.w %d1,flag_68881");
262#ifndef HPUX_68010
263 asm(" beq.b skip_float");
264 asm(" fmov.l &0x7400,%fpcr");
265/* asm(" fmov.l &0x7480,%fpcr"); */
266#endif /* HPUX_68010 */
267 asm("skip_float:");
268 asm(" mov.l %a0,%d0");
269 asm(" add.l %d0,%d0");
270 asm(" subx.w %d1,%d1");
271 asm(" mov.w %d1,flag_68010");
272 asm(" add.l %d0,%d0");
273 asm(" subx.w %d1,%d1");
274 asm(" mov.w %d1,flag_fpa");
275 asm(" tst.l %d2");
276 asm(" ble.b skip_3");
277 asm(" lsl flag_68881");
278 asm(" lsl flag_fpa");
279 asm("skip_3:");
280 asm(" mov.l 4(%a7),%d0");
281 asm(" beq.b skip_1");
282 asm(" mov.l %d0,%a0");
283 asm(" clr.l -4(%a0)");
284 asm("skip_1:");
285 asm(" mov.l %a7,%a0");
286 asm(" subq.l &8,%a7");
287 asm(" mov.l (%a0),(%a7)");
288 asm(" mov.l (%a0),_argc_value");
289 asm(" addq.l &4,%a0");
290 asm(" mov.l %a0,4(%a7)");
291 asm(" mov.l %a0,_argv_value");
292 asm("incr_loop:");
293 asm(" tst.l (%a0)+");
294 asm(" bne.b incr_loop");
295 asm(" mov.l 4(%a7),%a1");
296 asm(" cmp.l %a0,(%a1)");
297 asm(" blt.b skip_2");
298 asm(" subq.l &4,%a0");
299 asm("skip_2:");
300 asm(" mov.l %a0,8(%a7)");
301 asm(" mov.l %a0,_environ");
302 asm(" jsr _main");
303 asm(" addq.l &8,%a7");
304 asm(" mov.l %d0,-(%a7)");
305 asm(" jsr _exit");
306 asm(" mov.w &1,%d0");
307 asm(" trap &0");
308 asm(" comm float_soft, 4");
309 asm(" comm flag_68881, 4");
310 asm(" comm flag_68010, 4");
311 asm(" comm flag_68040, 4");
312 asm(" comm flag_fpa, 4");
313
314#endif /* new hp assembler */
315#endif /* hp9000s300 */
316
317#ifdef sparc 203#ifdef sparc
318asm (".global __start"); 204asm (".global __start");
319asm (".text"); 205asm (".text");
@@ -337,12 +223,6 @@ asm (" nop");
337#if __FreeBSD__ == 2 223#if __FreeBSD__ == 2
338char *__progname; 224char *__progname;
339#endif 225#endif
340#ifdef __bsdi__
341#include <sys/param.h> /* for version number */
342#if defined(_BSDI_VERSION) && (_BSDI_VERSION >= 199501)
343char *__progname;
344#endif
345#endif /* __bsdi__ */
346 226
347/* arch-tag: 4025c2fb-d6b1-4d29-b1b6-8100b6bd1e74 227/* arch-tag: 4025c2fb-d6b1-4d29-b1b6-8100b6bd1e74
348 (do not change this comment) */ 228 (do not change this comment) */
diff --git a/src/emacs.c b/src/emacs.c
index 517b39e828d..b27e787e7e0 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -922,16 +922,6 @@ main (argc, argv
922 } 922 }
923#endif 923#endif
924 924
925#ifdef NeXT
926 {
927 extern int malloc_cookie;
928 /* This helps out unexnext.c. */
929 if (initialized)
930 if (malloc_jumpstart (malloc_cookie) != 0)
931 printf ("malloc jumpstart failed!\n");
932 }
933#endif /* NeXT */
934
935#ifdef MAC_OSX 925#ifdef MAC_OSX
936 /* Skip process serial number passed in the form -psn_x_y as 926 /* Skip process serial number passed in the form -psn_x_y as
937 command-line argument. The WindowServer adds this option when 927 command-line argument. The WindowServer adds this option when
@@ -1505,7 +1495,7 @@ main (argc, argv
1505 if this is not done. Do it after set_global_environment so that we 1495 if this is not done. Do it after set_global_environment so that we
1506 don't pollute Vglobal_environment. */ 1496 don't pollute Vglobal_environment. */
1507 /* Setting LANG here will defeat the startup locale processing... */ 1497 /* Setting LANG here will defeat the startup locale processing... */
1508#ifdef AIX3_2 1498#ifdef AIX
1509 putenv ("LANG=C"); 1499 putenv ("LANG=C");
1510#endif 1500#endif
1511 1501
diff --git a/src/fileio.c b/src/fileio.c
index 2a700a69f97..ffb65497a40 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -122,11 +122,6 @@ extern int errno;
122 122
123#ifdef HPUX 123#ifdef HPUX
124#include <netio.h> 124#include <netio.h>
125#ifndef HPUX8
126#ifndef HPUX9
127#include <errnet.h>
128#endif
129#endif
130#endif 125#endif
131 126
132#include "commands.h" 127#include "commands.h"
@@ -2792,12 +2787,7 @@ This is what happens in interactive use with M-x. */)
2792 || INTEGERP (ok_if_already_exists)) 2787 || INTEGERP (ok_if_already_exists))
2793 barf_or_query_if_file_exists (newname, "rename to it", 2788 barf_or_query_if_file_exists (newname, "rename to it",
2794 INTEGERP (ok_if_already_exists), 0, 0); 2789 INTEGERP (ok_if_already_exists), 0, 0);
2795#ifndef BSD4_1
2796 if (0 > rename (SDATA (encoded_file), SDATA (encoded_newname))) 2790 if (0 > rename (SDATA (encoded_file), SDATA (encoded_newname)))
2797#else
2798 if (0 > link (SDATA (encoded_file), SDATA (encoded_newname))
2799 || 0 > unlink (SDATA (encoded_file)))
2800#endif
2801 { 2791 {
2802 if (errno == EXDEV) 2792 if (errno == EXDEV)
2803 { 2793 {
diff --git a/src/floatfns.c b/src/floatfns.c
index 5600d980652..8ee28210e43 100644
--- a/src/floatfns.c
+++ b/src/floatfns.c
@@ -62,16 +62,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
62#endif 62#endif
63#endif 63#endif
64 64
65/* Work around a problem that happens because math.h on hpux 7
66 defines two static variables--which, in Emacs, are not really static,
67 because `static' is defined as nothing. The problem is that they are
68 defined both here and in lread.c.
69 These macros prevent the name conflict. */
70#if defined (HPUX) && !defined (HPUX8)
71#define _MAXLDBL floatfns_maxldbl
72#define _NMAXLDBL floatfns_nmaxldbl
73#endif
74
75#include <math.h> 65#include <math.h>
76 66
77/* This declaration is omitted on some systems, like Ultrix. */ 67/* This declaration is omitted on some systems, like Ultrix. */
@@ -972,11 +962,7 @@ float_error (signo)
972 fatal_error_signal (signo); 962 fatal_error_signal (signo);
973 963
974#ifdef BSD_SYSTEM 964#ifdef BSD_SYSTEM
975#ifdef BSD4_1
976 sigrelse (SIGILL);
977#else /* not BSD4_1 */
978 sigsetmask (SIGEMPTYMASK); 965 sigsetmask (SIGEMPTYMASK);
979#endif /* not BSD4_1 */
980#else 966#else
981 /* Must reestablish handler each time it is called. */ 967 /* Must reestablish handler each time it is called. */
982 signal (SIGILL, float_error); 968 signal (SIGILL, float_error);
diff --git a/src/keyboard.c b/src/keyboard.c
index 5ac28a55247..e42e17525e6 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -7305,10 +7305,6 @@ tty_read_avail_input (struct terminal *terminal,
7305void 7305void
7306handle_async_input () 7306handle_async_input ()
7307{ 7307{
7308#ifdef BSD4_1
7309 extern int select_alarmed;
7310#endif
7311
7312 interrupt_input_pending = 0; 7308 interrupt_input_pending = 0;
7313 7309
7314 while (1) 7310 while (1)
@@ -7321,9 +7317,6 @@ handle_async_input ()
7321 if (nread <= 0) 7317 if (nread <= 0)
7322 break; 7318 break;
7323 7319
7324#ifdef BSD4_1
7325 select_alarmed = 1; /* Force the select emulator back to life */
7326#endif
7327 } 7320 }
7328} 7321}
7329 7322
@@ -7342,10 +7335,6 @@ input_available_signal (signo)
7342 signal (signo, input_available_signal); 7335 signal (signo, input_available_signal);
7343#endif /* USG */ 7336#endif /* USG */
7344 7337
7345#ifdef BSD4_1
7346 sigisheld (SIGIO);
7347#endif
7348
7349#ifdef SYNC_INPUT 7338#ifdef SYNC_INPUT
7350 interrupt_input_pending = 1; 7339 interrupt_input_pending = 1;
7351#else 7340#else
@@ -7359,9 +7348,6 @@ input_available_signal (signo)
7359 handle_async_input (); 7348 handle_async_input ();
7360#endif 7349#endif
7361 7350
7362#ifdef BSD4_1
7363 sigfree ();
7364#endif
7365 errno = old_errno; 7351 errno = old_errno;
7366} 7352}
7367#endif /* SIGIO */ 7353#endif /* SIGIO */
diff --git a/src/m/ews4800.h b/src/m/ews4800.h
deleted file mode 100644
index 5badc7ecf1a..00000000000
--- a/src/m/ews4800.h
+++ /dev/null
@@ -1,40 +0,0 @@
1/* m- file for NEC EWS4800 RISC series.
2 Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20#undef LIB_STANDARD
21#undef C_DEBUG_SWITCH
22#define INHIBIT_BSD_TIME
23#undef USG
24#include "mips.h"
25#define USG
26#undef UNEXEC
27#define UNEXEC unexelf.o
28#undef LIBS_MACHINE
29#undef LD_SWITCH_MACHINE
30#undef START_FILES
31#undef DATA_START
32#undef LIB_STANDARD
33#undef C_SWITCH_MACHINE
34#ifndef __GNUC__
35#undef C_DEBUG_SWITCH
36#define C_DEBUG_SWITCH -O -KOlimit=3000 -ZXNd=5000
37#endif /* !__GNUC__ */
38
39/* arch-tag: 27f72f54-45cd-40a3-b182-345127f04955
40 (do not change this comment) */
diff --git a/src/m/hp800.h b/src/m/hp800.h
index 28d7e4d7371..1a1a6abc465 100644
--- a/src/m/hp800.h
+++ b/src/m/hp800.h
@@ -62,13 +62,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
62/* Common definitions for HPUX and GNU/Linux. */ 62/* Common definitions for HPUX and GNU/Linux. */
63 63
64#if defined (__hpux) || defined (GNU_LINUX) 64#if defined (__hpux) || defined (GNU_LINUX)
65/* Now define a symbol for the cpu type, if your compiler
66 does not define it automatically:
67 Ones defined so far include vax, m68000, ns16000, pyramid,
68 orion, tahoe, APOLLO and many others */
69#ifndef hp9000s800
70# define hp9000s800
71#endif
72 65
73/* Define CANNOT_DUMP on machines where unexec does not work. 66/* Define CANNOT_DUMP on machines where unexec does not work.
74 Then the function dump-emacs will not be defined 67 Then the function dump-emacs will not be defined
diff --git a/src/m/hp9000s300.h b/src/m/hp9000s300.h
deleted file mode 100644
index d7fb8b4015a..00000000000
--- a/src/m/hp9000s300.h
+++ /dev/null
@@ -1,212 +0,0 @@
1/* machine description file for hp9000 series 200 or 300 on either HPUX or BSD.
2 Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21/* The following line tells the configuration script what sort of
22 operating system this machine is likely to run.
23 USUAL-OPSYS="note"
24
25NOTE-START
26HP 9000 series 200 or 300 (-machine=hp9000s300)
27
28 These machines are 68000-series CPUs running HP-UX
29 (a derivative of sysV with some BSD features) or BSD 4.3 ported by Utah.
30
31 If you're running HP-UX, specify `-opsystem=hpux'.
32 If you're running BSD, specify `-opsystem=bsd4-3'.
33NOTE-END */
34
35/* I don't understand why we have to do this at all! -JimB */
36
37/* Define NOMULTIPLEJOBS on versions of HPUX before 6.5. */
38
39/* #define NOMULTIPLEJOBS */
40
41/* Define this symbol if you are running a version of HP-UX
42 which predates version 6.01 */
43
44/* #define HPUX_5 */
45
46/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
47 is the most significant byte. */
48
49#define WORDS_BIG_ENDIAN
50
51/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
52 * group of arguments and treat it as an array of the arguments. */
53
54/* #define NO_ARG_ARRAY */
55
56/* Define WORD_MACHINE if addresses and such have
57 * to be corrected before they can be used as byte counts. */
58
59/* #define WORD_MACHINE */
60
61/* Now define a symbol for the cpu type, if your compiler
62 does not define it automatically. */
63
64#ifndef hp9000s300
65#define hp9000s300
66#endif
67
68/* Use type int rather than a union, to represent Lisp_Object */
69/* This is desirable for most machines. */
70
71#define NO_UNION_TYPE
72
73/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
74 the 24-bit bit field into an int. In other words, if bit fields
75 are always unsigned.
76
77 If you use NO_UNION_TYPE, this flag does not matter. */
78
79#define EXPLICIT_SIGN_EXTEND
80
81/* Define CANNOT_DUMP on machines where unexec does not work.
82 Then the function dump-emacs will not be defined
83 and temacs will do (load "loadup") automatically unless told otherwise. */
84
85/* #define CANNOT_DUMP */
86
87/* Define VIRT_ADDR_VARIES if the virtual addresses of
88 pure and impure space as loaded can vary, and even their
89 relative order cannot be relied on.
90
91 Otherwise Emacs assumes that text space precedes data space,
92 numerically. */
93
94/* #define VIRT_ADDR_VARIES */
95
96/* For University of Utah 4.3bsd implementation on HP300s.
97 The #ifndef __GNUC__ definitions are required for the "standard" cc,
98 a very old, brain-dead version of PCC. */
99
100#ifdef BSD4_3
101
102/* Tell crt0.c that this is an ordinary 68020. */
103#undef hp9000s300
104#define m68000
105
106#define CRT0_DUMMIES bogus_a6,
107
108#ifndef __GNUC__
109#define LIBS_DEBUG /* don't have -lg that works */
110#define C_DEBUG_SWITCH /* don't support -g */
111#endif
112
113#undef LOAD_AVE_TYPE
114#undef LOAD_AVE_CVT
115#define LOAD_AVE_TYPE long
116#define LOAD_AVE_CVT(x) ((int) (((double) (x)) / 2048.0 * 100.0))
117
118#endif /* BSD4_3 */
119
120#ifndef BSD4_3
121/* The following definitions are for HPUX only. */
122
123/* The symbol in the kernel where the load average is found
124 is named _avenrun on this machine. */
125
126#define LDAV_SYMBOL "_avenrun"
127
128/* Data type of load average, as read out of kmem. */
129
130#define LOAD_AVE_TYPE double
131
132/* Convert that into an integer that is 100 for a load average of 1.0 */
133
134#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
135
136/* This library is needed with -g, on the 200/300 only. */
137
138#if !defined(__GNUC__) || defined(__HPUX_ASM__)
139#define LIBS_DEBUG /usr/lib/end.o
140#endif
141
142/* Need a TEXT_START. On the HP9000/s300 that is 0. */
143#ifdef __GNUC__
144#define TEXT_START 0
145#endif
146
147/* The symbol FIONREAD is defined, but the feature does not work
148 on the 200/300. */
149
150#define BROKEN_FIONREAD
151
152/* In older versions of hpux, for unknown reasons, S_IFLNK is defined
153 even though symbolic links do not exist.
154 Make sure our conditionals based on S_IFLNK are not confused.
155
156 Here we assume that stat.h is included before config.h
157 so that we can override it here.
158
159 Version 6 of HP-UX has symbolic links. */
160
161#ifdef HPUX_5
162#undef S_IFLNK
163#endif
164
165/* Define the BSTRING functions in terms of the sysV functions.
166 Version 6 of HP-UX supplies these in the BSD library,
167 but that library has reported bugs in `signal'. */
168
169/* #ifdef HPUX_5 */
170#define bcopy(a,b,s) memcpy (b,a,s)
171#define bzero(a,s) memset (a,0,s)
172#define bcmp memcmp
173/* #endif */
174
175/* On USG systems these have different names.
176 Version 6 of HP-UX supplies these in the BSD library,
177 which we currently want to avoid using. */
178
179/* #ifdef HPUX_5 */
180#define index strchr
181#define rindex strrchr
182/* #endif */
183
184/* Define C_SWITCH_MACHINE to be +X if you want the s200/300
185 * Emacs to run on both 68010 and 68020 based hp-ux's.
186 *
187 * Define OLD_HP_ASSEMBLER if you have an ancient assembler
188 *
189 * Define HPUX_68010 if you are using the new assembler but
190 * compiling for a s200 (upgraded) or s310. 68010 based
191 * processor without 68881.
192 */
193
194/* These switches increase the size of some internal C compiler tables.
195 They are required for compiling the X11 interface files. */
196
197#ifndef HPUX_5
198#ifndef __GNUC__
199#define C_SWITCH_MACHINE -Wc,-Nd4000,-Ns3000
200#endif
201#endif
202
203/* Define NEED_BSDTTY if you have such. */
204
205#ifndef NOMULTIPLEJOBS
206#define NEED_BSDTTY
207#endif
208
209#endif /* not BSD4_3 */
210
211/* arch-tag: 6e0001a5-ed62-4258-9235-204348f6bdb9
212 (do not change this comment) */
diff --git a/src/m/ibm370aix.h b/src/m/ibm370aix.h
deleted file mode 100644
index daaa4ddff02..00000000000
--- a/src/m/ibm370aix.h
+++ /dev/null
@@ -1,51 +0,0 @@
1/* m/ file for IBM 370 running AIX.
2 Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20#define AIX
21
22/* Include unistd.h, even though we don't define POSIX. */
23#define NEED_UNISTD_H
24
25/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
26 is the most significant byte. */
27
28#define WORDS_BIG_ENDIAN
29
30#undef TEXT_START
31#undef SEGMENT_MASK
32#undef DATA_SECTION_ALIGNMENT
33
34#define TEXT_START 0
35#define SEGMENT_MASK 0
36#define DATA_SECTION_ALIGNMENT 0x00001000
37
38#undef LOAD_AVE_CVT
39#undef LOAD_AVE_TYPE
40/* Data type of load average, as read out of kmem. */
41#define LOAD_AVE_CVT(x) (int)(((double) (x)) * 100.0 / 1.0)
42#define LOAD_AVE_TYPE double
43
44#undef LIBS_MACHINE
45#define LIBS_MACHINE
46
47#undef LD_SWITCH_MACHINE
48#define LD_SWITCH_MACHINE -xa
49
50/* arch-tag: 8605b600-0580-4e49-9ba9-8b4a977f860a
51 (do not change this comment) */
diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h
index fcbb8f28864..db6ebee0d78 100644
--- a/src/m/ibmrs6000.h
+++ b/src/m/ibmrs6000.h
@@ -107,15 +107,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
107 107
108/* Here override various assumptions in ymakefile */ 108/* Here override various assumptions in ymakefile */
109 109
110#ifdef AIXHFT
111#define OBJECTS_MACHINE hftctl.o
112#endif
113
114#ifndef USG5 110#ifndef USG5
115#define C_SWITCH_MACHINE -D_BSD 111#define C_SWITCH_MACHINE -D_BSD
116#endif 112#endif
117 113
118#ifdef AIX3_2 114#ifdef AIX
119/* -lpthreads seems to be necessary for Xlib in X11R6, and should be harmless 115/* -lpthreads seems to be necessary for Xlib in X11R6, and should be harmless
120 on older versions of X where it happens to exist. */ 116 on older versions of X where it happens to exist. */
121#ifdef HAVE_LIBPTHREADS 117#ifdef HAVE_LIBPTHREADS
@@ -159,15 +155,15 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
159 because .inp is a better convention to use in make-dist for naming 155 because .inp is a better convention to use in make-dist for naming
160 random input files. */ 156 random input files. */
161#ifdef THIS_IS_MAKEFILE /* Don't use this in configure. */ 157#ifdef THIS_IS_MAKEFILE /* Don't use this in configure. */
162#ifdef AIX4 158#ifdef AIX
163#define LD_SWITCH_MACHINE -Wl,-bnodelcsect 159#define LD_SWITCH_MACHINE -Wl,-bnodelcsect
164#else /* not AIX4 */ 160#else /* not AIX */
165#ifdef HAVE_AIX_SMT_EXP 161#ifdef HAVE_AIX_SMT_EXP
166#define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp,-bI:/usr/lpp/X11/bin/smt.exp 162#define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp,-bI:/usr/lpp/X11/bin/smt.exp
167#else 163#else
168#define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp 164#define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp
169#endif 165#endif
170#endif /* not AIX4 */ 166#endif /* not AIX */
171#endif /* THIS_IS_MAKEFILE */ 167#endif /* THIS_IS_MAKEFILE */
172 168
173/* Avoid gcc 2.7.x collect2 bug by using /bin/ld instead. */ 169/* Avoid gcc 2.7.x collect2 bug by using /bin/ld instead. */
diff --git a/src/m/mips-siemens.h b/src/m/mips-siemens.h
deleted file mode 100644
index 1fa475e95d7..00000000000
--- a/src/m/mips-siemens.h
+++ /dev/null
@@ -1,161 +0,0 @@
1/* m- file for Mips machines.
2 Copyright (C) 1987, 1992, 1993, 1995, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007, 2008 Free Software Foundation, Inc.
4
5 This file contains some changes for our SVR4 based SINIX-Mips 5.4.
6 I hope this is helpful to port the emacs to our RM?00 series and
7 maybe to the DC/OSx (Mips-based) machines of Pyramid Inc.
8 (Marco.Walther@mch.sni.de)
9
10This file is part of GNU Emacs.
11
12GNU Emacs is free software: you can redistribute it and/or modify
13it under the terms of the GNU General Public License as published by
14the Free Software Foundation, either version 3 of the License, or
15(at your option) any later version.
16
17GNU Emacs is distributed in the hope that it will be useful,
18but WITHOUT ANY WARRANTY; without even the implied warranty of
19MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20GNU General Public License for more details.
21
22You should have received a copy of the GNU General Public License
23along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24
25
26/* The following line tells the configuration script what sort of
27 operating system this machine is likely to run.
28 USUAL-OPSYS="note"
29
30NOTE-START
31Use m-mips4.h for RISCOS version 4; use s-bsd4-3.h with the BSD world.
32Note that the proper m- file for the Decstation is m-pmax.h.
33This is the m- file for SNI RM*00 machines. Use s- sinix5-4.h file!
34With this the file mips-siemens.h is obsolete.
35NOTE-END */
36
37/* Define BIG_ENDIAN if lowest-numbered byte in a word
38 is the most significant byte. */
39
40#define BIG_ENDIAN
41
42/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
43 * group of arguments and treat it as an array of the arguments. */
44
45#define NO_ARG_ARRAY
46
47/* Define WORD_MACHINE if addresses and such have
48 * to be corrected before they can be used as byte counts. */
49
50#undef WORD_MACHINE
51
52/* Define how to take a char and sign-extend into an int.
53 On machines where char is signed, this is a no-op. */
54
55#define SIGN_EXTEND_CHAR(c) ((signed char)(c))
56
57/* Now define a symbol for the cpu type, if your compiler
58 does not define it automatically:
59 Ones defined so far include vax, m68000, ns16000, pyramid,
60 orion, tahoe, APOLLO and many others */
61#ifndef mips
62# define mips
63#endif
64
65/* Use type int rather than a union, to represent Lisp_Object */
66/* This is desirable for most machines. */
67
68#define NO_UNION_TYPE
69
70/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
71 the 24-bit bit field into an int. In other words, if bit fields
72 are always unsigned.
73
74 If you use NO_UNION_TYPE, this flag does not matter. */
75
76#define EXPLICIT_SIGN_EXTEND
77
78/* Data type of load average, as read out of kmem. */
79
80#define LOAD_AVE_TYPE long
81
82/* Convert that into an integer that is 100 for a load average of 1.0 */
83
84#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / 256.0)
85
86/* CDC EP/IX 1.4.3 uses /unix */
87
88#undef KERNEL_FILE
89#define KERNEL_FILE "/unix"
90
91/* Define CANNOT_DUMP on machines where unexec does not work.
92 Then the function dump-emacs will not be defined
93 and temacs will do (load "loadup") automatically unless told otherwise. */
94
95#undef CANNOT_DUMP
96
97/* Define VIRT_ADDR_VARIES if the virtual addresses of
98 pure and impure space as loaded can vary, and even their
99 relative order cannot be relied on.
100
101 Otherwise Emacs assumes that text space precedes data space,
102 numerically. */
103
104/* #define VIRT_ADDR_VARIES */
105
106/* Define NO_REMAP if memory segmentation makes it not work well
107 to change the boundary between the text section and data section
108 when Emacs is dumped. If you define this, the preloaded Lisp
109 code will not be sharable; but that's better than failing completely. */
110
111#define NO_REMAP
112
113/* Describe layout of the address space in an executing process. */
114/* MARCO ???
115*/
116#define TEXT_START 0x400000
117/*
118#define DATA_START 0x10000000
119#define DATA_SEG_BITS 0x10000000
120*/
121#ifdef UNEXEC
122#undef UNEXEC
123#endif
124#define UNEXEC unexsni.o
125
126#undef ORDINARY_LINK
127
128#undef LIBS_DEBUG
129
130/* Alter some of the options used when linking. */
131
132#define LIBS_MACHINE -lmld
133#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o
134
135#ifdef LIB_STANDARD
136#undef LIB_STANDARD
137#endif
138#define LIB_STANDARD -lc /usr/ccs/lib/crtn.o
139
140#ifdef __GNUC__
141#define C_DEBUG_SWITCH
142#define LD_SWITCH_MACHINE
143#else
144#define C_DEBUG_SWITCH -DSYSV
145#define C_OPTIMIZE_SWITCH -DSYSV
146#define LD_SWITCH_MACHINE
147#endif
148
149
150/* The standard definitions of these macros would work ok,
151 but these are faster because the constants are short. */
152
153#define XUINT(a) (((unsigned)(a) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS))
154
155#define XSET(var, type, ptr) \
156 ((var) = \
157 ((int)(type) << VALBITS) \
158 + (((unsigned) (ptr) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS)))
159
160/* arch-tag: a4f5c090-0bd5-48f0-9724-b7d531f9b6c8
161 (do not change this comment) */
diff --git a/src/m/mips.h b/src/m/mips.h
index b3192d75de7..877e4e4c900 100644
--- a/src/m/mips.h
+++ b/src/m/mips.h
@@ -187,7 +187,7 @@ NOTE-END */
187 187
188#define HAVE_SYSVIPC 188#define HAVE_SYSVIPC
189 189
190#if defined(emacs) && !defined(INHIBIT_BSD_TIME) 190#if defined(emacs)
191#include <bsd/sys/time.h> 191#include <bsd/sys/time.h>
192#endif 192#endif
193 193
diff --git a/src/m/ncr386.h b/src/m/ncr386.h
deleted file mode 100644
index f98566a2959..00000000000
--- a/src/m/ncr386.h
+++ /dev/null
@@ -1,18 +0,0 @@
1#include "intel386.h"
2
3#ifndef __GNUC__
4/* Allow emacs to link with "bcopy()" unresolved. Works around a
5 problem where /usr/lib/libX11.so provides bcopy, but
6 /usr/ccs/lib/libX11.so does not. */
7#define LD_SWITCH_X_DEFAULT -Wl,-z,nodefs
8#else /* __GNUC__ */
9
10/* Assuming we are using GNU ld, pass a -R option to it
11 so that shared libraries will be found at execution time
12 just as they are found at link time. */
13#define LD_SWITCH_X_DEFAULT -Xlinker LD_SWITCH_X_SITE_AUX
14
15#endif /* __GNUC__ */
16
17/* arch-tag: 79c76283-7d50-499b-b910-8ef980357758
18 (do not change this comment) */
diff --git a/src/m/next.h b/src/m/next.h
deleted file mode 100644
index c6e2358fdd9..00000000000
--- a/src/m/next.h
+++ /dev/null
@@ -1,125 +0,0 @@
1/* Configuration file for the NeXT machine.
2 Copyright (C) 1990, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21/* Say this machine is a next if not previously defined */
22
23#ifndef NeXT
24#define NeXT
25#endif
26
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */
29
30/* Let the compiler tell us. */
31#ifdef __BIG_ENDIAN__
32#define WORDS_BIG_ENDIAN
33#endif
34
35/* Define how to take a char and sign-extend into an int.
36 On machines where char is signed, this is a no-op. */
37
38#define SIGN_EXTEND_CHAR(c) (c)
39
40/* Use type int rather than a union, to represent Lisp_Object */
41
42#define NO_UNION_TYPE
43
44/* XINT must explicitly sign-extend */
45
46#define EXPLICIT_SIGN_EXTEND
47
48/* Data type of load average, as read out of kmem. */
49
50#define LOAD_AVE_TYPE long
51
52/* Convert that into an integer that is 100 for a load average of 1.0 */
53
54#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
55
56/* Say that the text segment of a.out includes the header;
57 the header actually occupies the first few bytes of the text segment
58 and is counted in hdr.a_text. */
59
60#define A_TEXT_OFFSET(HDR) sizeof (HDR)
61
62/* Mask for address bits within a memory segment */
63
64#define SEGSIZ 0x20000
65#define SEGMENT_MASK (SEGSIZ - 1)
66
67#define SYSTEM_MALLOC
68
69#define HAVE_UNIX_DOMAIN
70
71#define LIB_X11_LIB -L/usr/lib/X11 -lX11
72
73/* This avoids a problem in Xos.h when using co-Xist 3.01. */
74#define X_NOT_POSIX
75
76/* Conflicts in process.c between ioctl.h & tty.h use of t_foo fields */
77
78#define NO_T_CHARS_DEFINES
79
80/* Use our own unexec routines */
81
82#define UNEXEC unexnext.o
83
84/* We don't have a g library either, so override the -lg LIBS_DEBUG switch */
85
86#define LIBS_DEBUG
87
88/* We don't have a libgcc.a, so we can't let LIB_GCC default to -lgcc */
89
90#define LIB_GCC
91
92#if 0 /* ohl@chico.harvard.edu says to do this. */
93/* Compile "strict bsd" to avoid warnings from include files */
94
95#define C_SWITCH_MACHINE -bsd
96#endif
97
98/* Link this program just by running cc. */
99#define ORDINARY_LINK
100
101/* start_of_text isn't actually used, so make it compile without error. */
102#define TEXT_START 0
103/* This seems to be right for end_of_text, but it may not be used anyway. */
104#define TEXT_END get_etext ()
105/* This seems to be right for end_of_data, but it may not be used anyway. */
106#define DATA_END get_edata ()
107
108/* Defining KERNEL_FILE causes lossage because sys/file.h
109 stupidly gets confused by it. */
110#undef KERNEL_FILE
111
112#define LD_SWITCH_MACHINE -X -noseglinkedit
113
114#define environ _environ
115
116#if 0 /* This is ok for NeXT system version 3.0 or above. */
117/* Where to find the kernel, for load average. */
118#define KERNEL_FILE "/mach"
119#endif
120
121/* This should be true for recent NeXT systems. At least since 3.2. */
122#define HAVE_MACH_MACH_H
123
124/* arch-tag: 1155cdcb-1f6c-4208-a2da-22c7473060a1
125 (do not change this comment) */
diff --git a/src/m/pmax.h b/src/m/pmax.h
deleted file mode 100644
index ad884ca8b36..00000000000
--- a/src/m/pmax.h
+++ /dev/null
@@ -1,127 +0,0 @@
1/* Machine description file for DEC MIPS machines.
2
3 Copyright (C) 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21
22#include "mips.h"
23
24/* The following line tells the configuration script what sort of
25 operating system this machine is likely to run.
26 USUAL-OPSYS="note"
27
28NOTE-START
29The operating system would be either osf1, ultrix, or NetBSD.
30NOTE-END */
31
32#ifndef __MIPSEB__
33#undef WORDS_BIG_ENDIAN
34#endif
35#if defined (__NetBSD__)
36#define BROKEN_NOCOMBRELOC
37#else
38#undef LIB_STANDARD
39#undef START_FILES
40#endif
41#undef COFF
42#undef TERMINFO
43#define MAIL_USE_FLOCK
44#define HAVE_UNION_WAIT
45
46
47#ifdef MACH
48#define START_FILES pre-crt0.o /usr/lib/crt0.o
49#else
50#if !defined (__NetBSD__)
51/* This line starts being needed with ultrix 4.0. */
52/* You must delete it for version 3.1. */
53#define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o
54#endif
55#endif
56
57/* Supposedly the following will overcome a kernel bug. */
58#undef LD_SWITCH_MACHINE
59#undef DATA_START
60#define DATA_START 0x10000000
61#define DATA_SEG_BITS 0x10000000
62
63#if 0
64/* I don't see any such conflict in Ultrix 4.2, 4.2a, or 4.3. And
65 the relocating allocator is a real win. -JimB */
66
67/* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist
68 on defining malloc itself. This should avoid conflicting with it. */
69#define SYSTEM_MALLOC
70#endif
71
72/* Override what mips.h says about this. */
73#if !defined (__NetBSD__)
74#undef LINKER
75#endif
76
77#ifdef ultrix
78/* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK
79 but it doesn't work right;
80 and it causes hanging in read_process_output. */
81#define BROKEN_O_NONBLOCK
82#endif
83
84#ifndef __NetBSD__
85/* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */
86#ifdef HAVE_LIBDNET
87#define LIBS_MACHINE -ldnet
88#endif
89
90/* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a. */
91#undef KERNEL_FILE
92#define KERNEL_FILE "/vmunix"
93#endif
94
95#ifdef ultrix
96/* Jim Wilson writes:
97 [...] The X11 include files that Dec distributes with Ultrix
98 are bogus.
99
100 When __STDC__ is defined (which is true with gcc), the X11 include files
101 try to define prototypes. The prototypes however use types which haven't
102 been defined yet, and thus we get syntax/parse errors.
103
104 You can not fix this by changing the include files, because the prototypes
105 create circular dependencies, in particular Xutil.h depends on types defined
106 in Xlib.h, and Xlib.h depends on types defined in Xutil.h. So, no matter
107 which order you try to include them in, it will still fail.
108
109 Compiling with -DNeedFunctionPrototypes=0 will solve the problem by
110 directly inhibiting the bad prototypes. This could perhaps just be put in
111 an a Ultrix configuration file.
112
113 Using the MIT X11 distribution instead of the one provided by Dec will
114 also solve the problem, but I doubt you can convince everyone to do this. */
115/* Addendum: the MIT X11 distribution neglects to define certain symbols
116 when NeedFunctionPrototypes is 0, but still tries to use them when
117 NeedVarargsPrototypes is 1 (which is its default value). So if we're
118 going to disable non-variadic prototypes, we also need to disable
119 variadic prototypes. --kwzh@gnu.ai.mit.edu */
120#define C_SWITCH_X_MACHINE -DNeedFunctionPrototypes=0 -DNeedVarargsPrototypes=0
121#endif
122
123/* Enable a fix in process.c. */
124#define SET_CHILD_PTY_PGRP
125
126/* arch-tag: 45d5070e-d2b7-479f-b336-3fd497c36e15
127 (do not change this comment) */
diff --git a/src/m/powerpcle.h b/src/m/powerpcle.h
deleted file mode 100644
index 071ea29d61e..00000000000
--- a/src/m/powerpcle.h
+++ /dev/null
@@ -1,61 +0,0 @@
1/* machine description file for PowerPC.
2 Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20/* The following line tells the configuration script what sort of
21 operating system this machine is likely to run.
22 USUAL-OPSYS="Solaris2.5.1 Windows/NT AIX 4.1.2"
23*/
24
25/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
26 is the most significant byte. */
27
28#undef WORDS_BIG_ENDIAN
29
30/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
31 * group of arguments and treat it as an array of the arguments. */
32
33#define NO_ARG_ARRAY
34
35/* Say this machine is a PowerPC Refernce Platform */
36
37#ifndef prep
38#define prep
39#endif
40
41/* Use type int rather than a union, to represent Lisp_Object */
42
43#define NO_UNION_TYPE
44
45/* XINT must explicitly sign-extend */
46
47#define EXPLICIT_SIGN_EXTEND
48
49/* Data type of load average, as read out of kmem. */
50
51#define LOAD_AVE_TYPE long
52
53/* Convert that into an integer that is 100 for a load average of 1.0 */
54
55#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
56
57/* Control a conditional in unexelf.c. */
58#define SOLARIS_POWERPC
59
60/* arch-tag: dc2c3cb6-4683-45ae-961f-0a4f2bda3c61
61 (do not change this comment) */
diff --git a/src/m/tandem-s2.h b/src/m/tandem-s2.h
deleted file mode 100644
index b22f9bb66af..00000000000
--- a/src/m/tandem-s2.h
+++ /dev/null
@@ -1,24 +0,0 @@
1/* machine description file for the Tandem Integrity S2. */
2
3#include "mips.h"
4
5/* The following line tells the configuration script what sort of
6 operating system this machine is likely to run.
7 USUAL-OPSYS="usg5-3" */
8
9/* This overrides some of the usual support for the mips and system V.3. */
10
11/* The operating system apparently defines TIOCGETC
12 but it doesn't work. */
13#undef BROKEN_TIOCGETC
14
15/* rs@ai.mit.edu said this was necessary for it to work. However, some
16 user of this machine ought to try to get subprocesses to work. */
17#undef subprocesses
18
19/* Correct some library file names. */
20#define START_FILES pre-crt0.o /usr/lib/crt1.o1.31
21#define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o1.31
22
23/* arch-tag: ae34a1a6-6408-4b23-a6d3-ce4e8f124916
24 (do not change this comment) */
diff --git a/src/m/vax.h b/src/m/vax.h
index 631a25d50c9..35050a11e10 100644
--- a/src/m/vax.h
+++ b/src/m/vax.h
@@ -100,12 +100,6 @@ NOTE-END */
100#ifdef USG 100#ifdef USG
101#define LIB_STANDARD -lPW -lc 101#define LIB_STANDARD -lPW -lc
102 102
103/* There is some bug in unexec in for usg 5.2 on a vax
104 which nobody who runs such a system has yet tracked down. */
105#ifndef USG5_0
106#define NO_REMAP
107#endif /* USG 5_0 */
108
109#define TEXT_START 0 103#define TEXT_START 0
110#endif /* USG */ 104#endif /* USG */
111 105
diff --git a/src/mem-limits.h b/src/mem-limits.h
index a6cb43d1d81..7341295fa31 100644
--- a/src/mem-limits.h
+++ b/src/mem-limits.h
@@ -45,10 +45,6 @@ extern int etext, __data_start; weak_extern (__data_start)
45# endif 45# endif
46#endif 46#endif
47 47
48#ifdef __bsdi__
49#define BSD4_2
50#endif
51
52#ifdef CYGWIN 48#ifdef CYGWIN
53#define BSD4_2 49#define BSD4_2
54#endif 50#endif
diff --git a/src/print.c b/src/print.c
index c88951880e8..8fac2660d0f 100644
--- a/src/print.c
+++ b/src/print.c
@@ -45,16 +45,6 @@ extern Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction;
45 45
46Lisp_Object Vfloat_output_format, Qfloat_output_format; 46Lisp_Object Vfloat_output_format, Qfloat_output_format;
47 47
48/* Work around a problem that happens because math.h on hpux 7
49 defines two static variables--which, in Emacs, are not really static,
50 because `static' is defined as nothing. The problem is that they are
51 defined both here and in lread.c.
52 These macros prevent the name conflict. */
53#if defined (HPUX) && !defined (HPUX8)
54#define _MAXLDBL print_maxldbl
55#define _NMAXLDBL print_nmaxldbl
56#endif
57
58#include <math.h> 48#include <math.h>
59 49
60#if STDC_HEADERS 50#if STDC_HEADERS
diff --git a/src/process.c b/src/process.c
index fdeb0aa9e91..73bbb34fd01 100644
--- a/src/process.c
+++ b/src/process.c
@@ -80,10 +80,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
80#endif /* HAVE_PTYS and no O_NDELAY */ 80#endif /* HAVE_PTYS and no O_NDELAY */
81#endif /* BSD_SYSTEM */ 81#endif /* BSD_SYSTEM */
82 82
83#ifdef BROKEN_O_NONBLOCK
84#undef O_NONBLOCK
85#endif /* BROKEN_O_NONBLOCK */
86
87#ifdef NEED_BSDTTY 83#ifdef NEED_BSDTTY
88#include <bsdtty.h> 84#include <bsdtty.h>
89#endif 85#endif
@@ -2006,9 +2002,6 @@ create_process (process, new_argv, current_dir)
2006 sigprocmask (SIG_BLOCK, &blocked, &procmask); 2002 sigprocmask (SIG_BLOCK, &blocked, &procmask);
2007#else /* !POSIX_SIGNALS */ 2003#else /* !POSIX_SIGNALS */
2008#ifdef SIGCHLD 2004#ifdef SIGCHLD
2009#ifdef BSD4_1
2010 sighold (SIGCHLD);
2011#else /* not BSD4_1 */
2012#if defined (BSD_SYSTEM) || defined (HPUX) 2005#if defined (BSD_SYSTEM) || defined (HPUX)
2013 sigsetmask (sigmask (SIGCHLD)); 2006 sigsetmask (sigmask (SIGCHLD));
2014#else /* ordinary USG */ 2007#else /* ordinary USG */
@@ -2017,7 +2010,6 @@ create_process (process, new_argv, current_dir)
2017 sigchld = signal (SIGCHLD, create_process_sigchld); 2010 sigchld = signal (SIGCHLD, create_process_sigchld);
2018#endif 2011#endif
2019#endif /* ordinary USG */ 2012#endif /* ordinary USG */
2020#endif /* not BSD4_1 */
2021#endif /* SIGCHLD */ 2013#endif /* SIGCHLD */
2022#endif /* !POSIX_SIGNALS */ 2014#endif /* !POSIX_SIGNALS */
2023 2015
@@ -2134,9 +2126,6 @@ create_process (process, new_argv, current_dir)
2134 This makes the pty the controlling terminal of the subprocess. */ 2126 This makes the pty the controlling terminal of the subprocess. */
2135 if (pty_flag) 2127 if (pty_flag)
2136 { 2128 {
2137#ifdef SET_CHILD_PTY_PGRP
2138 int pgrp = getpid ();
2139#endif
2140 2129
2141 /* I wonder if emacs_close (emacs_open (pty_name, ...)) 2130 /* I wonder if emacs_close (emacs_open (pty_name, ...))
2142 would work? */ 2131 would work? */
@@ -2152,10 +2141,6 @@ create_process (process, new_argv, current_dir)
2152 _exit (1); 2141 _exit (1);
2153 } 2142 }
2154 2143
2155#ifdef SET_CHILD_PTY_PGRP
2156 ioctl (xforkin, TIOCSPGRP, &pgrp);
2157 ioctl (xforkout, TIOCSPGRP, &pgrp);
2158#endif
2159 } 2144 }
2160#endif /* not DONT_REOPEN_PTY */ 2145#endif /* not DONT_REOPEN_PTY */
2161 2146
@@ -2181,9 +2166,6 @@ create_process (process, new_argv, current_dir)
2181 sigprocmask (SIG_SETMASK, &procmask, 0); 2166 sigprocmask (SIG_SETMASK, &procmask, 0);
2182#else /* !POSIX_SIGNALS */ 2167#else /* !POSIX_SIGNALS */
2183#ifdef SIGCHLD 2168#ifdef SIGCHLD
2184#ifdef BSD4_1
2185 sigrelse (SIGCHLD);
2186#else /* not BSD4_1 */
2187#if defined (BSD_SYSTEM) || defined (HPUX) 2169#if defined (BSD_SYSTEM) || defined (HPUX)
2188 sigsetmask (SIGEMPTYMASK); 2170 sigsetmask (SIGEMPTYMASK);
2189#else /* ordinary USG */ 2171#else /* ordinary USG */
@@ -2191,7 +2173,6 @@ create_process (process, new_argv, current_dir)
2191 signal (SIGCHLD, sigchld); 2173 signal (SIGCHLD, sigchld);
2192#endif 2174#endif
2193#endif /* ordinary USG */ 2175#endif /* ordinary USG */
2194#endif /* not BSD4_1 */
2195#endif /* SIGCHLD */ 2176#endif /* SIGCHLD */
2196#endif /* !POSIX_SIGNALS */ 2177#endif /* !POSIX_SIGNALS */
2197 2178
@@ -2273,9 +2254,6 @@ create_process (process, new_argv, current_dir)
2273 sigprocmask (SIG_SETMASK, &procmask, 0); 2254 sigprocmask (SIG_SETMASK, &procmask, 0);
2274#else /* !POSIX_SIGNALS */ 2255#else /* !POSIX_SIGNALS */
2275#ifdef SIGCHLD 2256#ifdef SIGCHLD
2276#ifdef BSD4_1
2277 sigrelse (SIGCHLD);
2278#else /* not BSD4_1 */
2279#if defined (BSD_SYSTEM) || defined (HPUX) 2257#if defined (BSD_SYSTEM) || defined (HPUX)
2280 sigsetmask (SIGEMPTYMASK); 2258 sigsetmask (SIGEMPTYMASK);
2281#else /* ordinary USG */ 2259#else /* ordinary USG */
@@ -2287,7 +2265,6 @@ create_process (process, new_argv, current_dir)
2287 kill (getpid (), SIGCHLD); 2265 kill (getpid (), SIGCHLD);
2288#endif 2266#endif
2289#endif /* ordinary USG */ 2267#endif /* ordinary USG */
2290#endif /* not BSD4_1 */
2291#endif /* SIGCHLD */ 2268#endif /* SIGCHLD */
2292#endif /* !POSIX_SIGNALS */ 2269#endif /* !POSIX_SIGNALS */
2293 2270
@@ -2700,19 +2677,6 @@ OPTION is not a supported option, return nil instead; otherwise return t. */)
2700} 2677}
2701 2678
2702 2679
2703/* A version of request_sigio suitable for a record_unwind_protect. */
2704
2705#ifdef __ultrix__
2706static Lisp_Object
2707unwind_request_sigio (dummy)
2708 Lisp_Object dummy;
2709{
2710 if (interrupt_input)
2711 request_sigio ();
2712 return Qnil;
2713}
2714#endif
2715
2716#ifdef HAVE_SERIAL 2680#ifdef HAVE_SERIAL
2717DEFUN ("serial-process-configure", 2681DEFUN ("serial-process-configure",
2718 Fserial_process_configure, 2682 Fserial_process_configure,
@@ -3502,28 +3466,6 @@ usage: (make-network-process &rest ARGS) */)
3502 3466
3503 open_socket: 3467 open_socket:
3504 3468
3505#ifdef __ultrix__
3506 /* Previously this was compiled unconditionally, but that seems
3507 unnecessary on modern systems, and `unrequest_sigio' was a noop
3508 under X anyway. --lorentey */
3509 /* Kernel bugs (on Ultrix at least) cause lossage (not just EINTR)
3510 when connect is interrupted. So let's not let it get interrupted.
3511 Note we do not turn off polling, because polling is only used
3512 when not interrupt_input, and thus not normally used on the systems
3513 which have this bug. On systems which use polling, there's no way
3514 to quit if polling is turned off. */
3515 if (interrupt_input
3516 && !is_server && socktype == SOCK_STREAM)
3517 {
3518 /* Comment from KFS: The original open-network-stream code
3519 didn't unwind protect this, but it seems like the proper
3520 thing to do. In any case, I don't see how it could harm to
3521 do this -- and it makes cleanup (using unbind_to) easier. */
3522 record_unwind_protect (unwind_request_sigio, Qnil);
3523 unrequest_sigio ();
3524 }
3525#endif
3526
3527 /* Do this in case we never enter the for-loop below. */ 3469 /* Do this in case we never enter the for-loop below. */
3528 count1 = SPECPDL_INDEX (); 3470 count1 = SPECPDL_INDEX ();
3529 s = -1; 3471 s = -1;
@@ -4651,16 +4593,6 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display,
4651 EMACS_SET_SECS_USECS (timeout, time_limit, microsecs); 4593 EMACS_SET_SECS_USECS (timeout, time_limit, microsecs);
4652 EMACS_ADD_TIME (end_time, end_time, timeout); 4594 EMACS_ADD_TIME (end_time, end_time, timeout);
4653 } 4595 }
4654#ifdef POLL_INTERRUPTED_SYS_CALL
4655 /* AlainF 5-Jul-1996
4656 HP-UX 10.10 seem to have problems with signals coming in
4657 Causes "poll: interrupted system call" messages when Emacs is run
4658 in an X window
4659 Turn off periodic alarms (in case they are in use),
4660 and then turn off any other atimers. */
4661 stop_polling ();
4662 turn_on_atimers (0);
4663#endif /* POLL_INTERRUPTED_SYS_CALL */
4664 4596
4665 while (1) 4597 while (1)
4666 { 4598 {
@@ -4975,15 +4907,6 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display,
4975 { 4907 {
4976 if (xerrno == EINTR) 4908 if (xerrno == EINTR)
4977 no_avail = 1; 4909 no_avail = 1;
4978#ifdef ultrix
4979 /* Ultrix select seems to return ENOMEM when it is
4980 interrupted. Treat it just like EINTR. Bleah. Note
4981 that we want to test for the "ultrix" CPP symbol, not
4982 "__ultrix__"; the latter is only defined under GCC, but
4983 not by DEC's bundled CC. -JimB */
4984 else if (xerrno == ENOMEM)
4985 no_avail = 1;
4986#endif
4987 else if (xerrno == EBADF) 4910 else if (xerrno == EBADF)
4988 { 4911 {
4989#ifdef AIX 4912#ifdef AIX
@@ -5295,14 +5218,6 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display,
5295 clear_input_pending (); 5218 clear_input_pending ();
5296 QUIT; 5219 QUIT;
5297 } 5220 }
5298#ifdef POLL_INTERRUPTED_SYS_CALL
5299 /* AlainF 5-Jul-1996
5300 HP-UX 10.10 seems to have problems with signals coming in
5301 Causes "poll: interrupted system call" messages when Emacs is run
5302 in an X window
5303 Turn periodic alarms back on */
5304 start_polling ();
5305#endif /* POLL_INTERRUPTED_SYS_CALL */
5306 5221
5307 return got_some_input; 5222 return got_some_input;
5308} 5223}
@@ -5712,10 +5627,6 @@ SIGTYPE
5712send_process_trap () 5627send_process_trap ()
5713{ 5628{
5714 SIGNAL_THREAD_CHECK (SIGPIPE); 5629 SIGNAL_THREAD_CHECK (SIGPIPE);
5715#ifdef BSD4_1
5716 sigrelse (SIGPIPE);
5717 sigrelse (SIGALRM);
5718#endif /* BSD4_1 */
5719 sigunblock (sigmask (SIGPIPE)); 5630 sigunblock (sigmask (SIGPIPE));
5720 longjmp (send_process_frame, 1); 5631 longjmp (send_process_frame, 1);
5721} 5632}
@@ -6784,11 +6695,6 @@ sigchld_handler (signo)
6784 6695
6785 SIGNAL_THREAD_CHECK (signo); 6696 SIGNAL_THREAD_CHECK (signo);
6786 6697
6787#ifdef BSD4_1
6788 extern int sigheld;
6789 sigheld |= sigbit (SIGCHLD);
6790#endif
6791
6792 while (1) 6698 while (1)
6793 { 6699 {
6794 pid_t pid; 6700 pid_t pid;
@@ -6817,10 +6723,6 @@ sigchld_handler (signo)
6817#if defined (USG) && !defined (POSIX_SIGNALS) 6723#if defined (USG) && !defined (POSIX_SIGNALS)
6818 signal (signo, sigchld_handler); /* WARNING - must come after wait3() */ 6724 signal (signo, sigchld_handler); /* WARNING - must come after wait3() */
6819#endif 6725#endif
6820#ifdef BSD4_1
6821 sigheld &= ~sigbit (SIGCHLD);
6822 sigrelse (SIGCHLD);
6823#endif
6824 errno = old_errno; 6726 errno = old_errno;
6825 return; 6727 return;
6826 } 6728 }
diff --git a/src/s/386bsd.h b/src/s/386bsd.h
deleted file mode 100644
index 706fbf23acb..00000000000
--- a/src/s/386bsd.h
+++ /dev/null
@@ -1,27 +0,0 @@
1/* s/ file for 386bsd system. */
2
3/* Get most of the stuff from bsd4.3 */
4#include "bsd4-3.h"
5
6#undef LIB_STANDARD
7#define LIB_STANDARD -lc $(GNULIB_VAR)
8
9/* The following should be set to /netbsd if you are running netbsd > 0.8
10 Or just link /netbsd -> /386bsd */
11#undef KERNEL_FILE
12#define KERNEL_FILE "/386bsd"
13
14#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
15
16/* Need to use GNU make, as system make has problems */
17#define MAKE_COMMAND gmake
18#define LIBS_DEBUG
19
20/* For mem-limits.h. */
21#define BSD4_2
22
23/* This affects a declaration in xrdb.c. */
24#define DECLARE_GETPWUID_WITH_UID_T
25
26/* arch-tag: 8a114892-0863-4285-a4cb-3d66ba2d8e7b
27 (do not change this comment) */
diff --git a/src/s/aix3-1.h b/src/s/aix3-1.h
deleted file mode 100644
index bcc4b10dc7a..00000000000
--- a/src/s/aix3-1.h
+++ /dev/null
@@ -1,210 +0,0 @@
1/* Definitions file for GNU Emacs running on IBM AIX version 3.1
2 Copyright (C) 1985, 1986, 1990, 1999, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21/*
22 * Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly.
24 */
25
26#define USG /* System III, System V, etc */
27#define USG5
28
29/* Specify IBM AIX version of system */
30
31#ifndef AIX
32#define AIX
33#endif
34
35/* turn off c prototypes */
36#ifndef _NO_PROTO
37#define _NO_PROTO
38#endif
39
40/* This symbol should be defined on AIX Version 3 ??????? */
41#ifndef _AIX
42#define _AIX
43#endif
44
45/* Specify "_BSD" to invoke Berkeley compatibility in header files */
46/*#ifndef _BSD
47#define _BSD
48#endif
49*/
50
51/* SYSTEM_TYPE should indicate the kind of system you are using.
52 It sets the Lisp variable system-type. */
53
54#define SYSTEM_TYPE "aix"
55
56
57/* nomultiplejobs should be defined if your system's shell
58 does not have "job control" (the ability to stop a program,
59 run some other program, then continue the first one). */
60
61/* #define NOMULTIPLEJOBS */
62
63/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
64
65/* #define INTERRUPT_INPUT */
66
67/* In AIX, you allocate a pty by opening /dev/ptc to get the master side.
68 To get the name of the slave side, you just ttyname() the master side. */
69
70#define PTY_ITERATION for (c = 0; !c ; c++)
71#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc");
72#define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd));
73
74/*
75 * Define HAVE_TERMIO if the system provides sysV-style ioctls
76 * for terminal control.
77 */
78
79#define HAVE_TERMIOS
80
81/*
82 * Define HAVE_PTYS if the system supports pty devices.
83 */
84
85#define HAVE_PTYS
86
87/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
88
89#define HAVE_SOCKETS
90
91/*
92 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
93 * The 4.2 opendir, etc., library functions.
94 */
95
96/* #define NONSYSTEM_DIR_LIBRARY */
97
98/*
99 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
100 * library functions. Almost, but not quite the same as
101 * the 4.2 functions
102 */
103
104#define SYSV_SYSTEM_DIR
105
106/* Define this symbol if your system has the functions bcopy, etc. */
107
108#define BSTRING
109
110/* subprocesses should be defined if you want to
111 have code for asynchronous subprocesses
112 (as used in M-x compile and M-x shell).
113 This is supposed to work now on system V release 2. */
114
115#define subprocesses
116
117/* If your system uses COFF (Common Object File Format) then define the
118 preprocessor symbol "COFF". */
119
120/* #define COFF */
121
122/* define MAIL_USE_FLOCK if the mailer uses flock
123 to interlock access to /usr/spool/mail/$USER.
124 The alternative is that a lock file named
125 /usr/spool/mail/$USER.lock. */
126
127/* #define MAIL_USE_FLOCK */
128
129/* Define CLASH_DETECTION if you want lock files to be written
130 so that Emacs can tell instantly when you try to modify
131 a file that someone else has modified in his Emacs. */
132
133/* #define CLASH_DETECTION */
134
135/* The file containing the kernel's symbol table is called /unix. */
136
137#define KERNEL_FILE "/unix"
138
139/* The symbol in the kernel where the load average is found
140 is named avenrun. */
141
142#define LDAV_SYMBOL "avenrun"
143
144/* Special itemss needed to make Emacs run on this system. */
145
146/*
147 * Make the sigsetmask function go away. Don't know what the
148 * ramifications of this are, but doesn't seem possible to
149 * emulate it properly anyway at this point.
150 */
151
152#define sigsetmask(mask) /* Null expansion */
153
154/* setjmp and longjmp can safely replace _setjmp and _longjmp,
155 but they will run slower. */
156
157#define _setjmp setjmp
158#define _longjmp longjmp
159
160/* On USG systems these have different names */
161
162#define index strchr
163#define rindex strrchr
164
165/* USG systems tend to put everything declared static
166 into the initialized data area, which becomes pure after dumping Emacs.
167 Foil this. Emacs carefully avoids static vars inside functions. */
168
169#undef static
170
171/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
172
173/* #define ADDR_CORRECT(x) (x) */
174
175#ifndef __GNUC__
176#define LINKER cc
177#endif
178
179/* Prevent -lg from being used for debugging. Not needed. */
180
181#define LIBS_DEBUG
182
183/* No need to specify -lc when linking. */
184
185#define LIB_STANDARD
186
187/* Use terminfo instead of termcap. */
188
189#define TERMINFO
190
191/* The following definition seems to be needed in AIX version 3.1.6.8.
192 It may not have been needed in certain earlier versions. */
193#define HAVE_TCATTR
194
195#define SYSTEM_MALLOC
196
197/* Include unistd.h, even though we don't define POSIX. */
198#define NEED_UNISTD_H
199
200/* AIX doesn't define this. */
201#define unix 1
202
203/* AIX 3.1 has the HFT features. */
204#define AIXHFT
205
206/* For unexaix.c. */
207#define ALIGN_DATA_RELOC
208
209/* arch-tag: bfff798c-542d-4290-91f2-267394c85b7b
210 (do not change this comment) */
diff --git a/src/s/aix3-2-5.h b/src/s/aix3-2-5.h
deleted file mode 100644
index 6c8458cc8a4..00000000000
--- a/src/s/aix3-2-5.h
+++ /dev/null
@@ -1,33 +0,0 @@
1/* s- file for building Emacs on AIX 3.2.5. */
2
3#include "aix3-2.h"
4
5/* For AIX, it turns out compiling emacs under AIX 3.2.4 REQUIRES "cc -g"
6 because "cc -O" crashes. Under AIX 3.2.5, "cc -O" is required because
7 "cc -g" crashes. Go figure. --floppy@merlin.mit.edu */
8/* The above isn't generally true. If it occurs with some compiler
9 release, seek a fixed version, be it XLC or GCC. The XLC version
10 isn't tied to the OS version on AIX any more than elsewhere. XLC
11 (the IBM compiler) can use -g with -O. (-O3 is also a possibility
12 for the optimization level.) -- fx, after David Edelsohn. */
13#undef C_DEBUG_SWITCH
14#define C_DEBUG_SWITCH -g -O
15
16/* Perry Smith <pedz@ddivt1.austin.ibm.com> says these are correct. */
17#define SIGNALS_VIA_CHARACTERS
18#define MAIL_USE_LOCKF
19#define CLASH_DETECTION
20
21/* Perry Smith <pedz@ddivt1.austin.ibm.com> says these are correct. */
22#define POSIX_SIGNALS
23#undef sigmask
24#undef sigsetmask
25#undef _setjmp
26#undef _longjmp
27
28/* Bill Woodward <wpwood@austin.ibm.com> says:
29 libIM *must* precede libXm, to avoid getting aixLoadIM error messages. */
30#define LIB_MOTIF -lIM -lXm
31
32/* arch-tag: 692b3acb-5383-4cfb-93f6-378b5c48c75e
33 (do not change this comment) */
diff --git a/src/s/aix3-2.h b/src/s/aix3-2.h
deleted file mode 100644
index 6d6c734c07f..00000000000
--- a/src/s/aix3-2.h
+++ /dev/null
@@ -1,73 +0,0 @@
1/* s- file for building Emacs on AIX 3.2.
2
3 Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21
22#include "aix3-1.h"
23
24#define AIX3_2
25
26/* No need to define this--the header files indicate X11R4,
27 and that's supposedly what 3.2 will come with. */
28#undef SPECIFY_X11R4
29
30#ifndef __GNUC__
31/* Some programs in src produce warnings saying certain subprograms
32 are to comples and need a MAXMEM value greater than 2000 for
33 additional optimization. --nils@exp-math.uni-essen.de */
34#define C_SWITCH_SYSTEM -ma -qmaxmem=4000
35#endif
36
37/* Adrian Colley <Adrian.Colley@three.serpentine.com> says this is needed. */
38#ifndef NOT_C_CODE
39#ifndef AIX4
40 #pragma alloca
41#endif
42#endif
43
44#undef rindex
45#undef index
46
47/* With this defined, a gcc-compiled Emacs crashed in realloc under AIX
48 3.2, and a cc-compiled Emacs works with this undefined.
49 --karl@cs.umb.edu. */
50#undef SYSTEM_MALLOC
51
52/* For AIX, it turns out compiling emacs under AIX 3.2.4 REQUIRES "cc -g"
53 because "cc -O" crashes. Under AIX 3.2.5, "cc -O" is required because
54 "cc -g" crashes. Go figure. --floppy@merlin.mit.edu */
55/* See comments about this in aix3-2-5.h. -- fx */
56#ifndef __GNUC__
57#define C_DEBUG_SWITCH -g -O
58#endif
59
60/* The character-composition stuff is broken in X11R5.
61 Even with XIMStatusNothing aliased to XIMStatusNone,
62 tranle@intellicorp.com (Minh Tran-Le) reports that enabling
63 the internationalization code causes the modifier keys C, M and Shift
64 to beep after a mouse click. */
65#define X11R5_INHIBIT_I18N
66
67/* string.h defines rindex as a macro, at least with native cc, so we
68 lose declaring char * rindex without this.
69 It is just a guess which versions of AIX need this definition. */
70#undef HAVE_STRING_H
71
72/* arch-tag: 0935754d-67e1-4697-978a-3e9976da05c3
73 (do not change this comment) */
diff --git a/src/s/aix4-1.h b/src/s/aix4-1.h
deleted file mode 100644
index 6b8361420a5..00000000000
--- a/src/s/aix4-1.h
+++ /dev/null
@@ -1,65 +0,0 @@
1/*
2Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
3 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21#define AIX4_1
22
23#include "aix4.h"
24
25/* olson@mcs.anl.gov says -li18n is needed by -lXm. */
26#undef LIB_MOTIF
27#define LIB_MOTIF -lXm -li18n
28
29#ifdef __GNUC__
30#undef _NO_PROTO
31#endif
32
33/* For AIX, it turns out compiling emacs under AIX 3.2.4 REQUIRES "cc -g"
34 because "cc -O" crashes. Under AIX 3.2.5, "cc -O" is required because
35 "cc -g" crashes. Go figure. --floppy@merlin.mit.edu.
36 4.1 seems to need -g again. -- larry@vaquita.mitra.com. */
37/* David Edelsohn <dje@watson.ibm.com> says that this actually depends
38 on the version of XLC, which can't be predicted from the system version.
39 What a mess! */
40/* No more of a mess than other systems, GNU+GCC included. See
41 comments in aix3-2-5.h. -- fx */
42#if 0
43#ifndef __GNUC__
44#undef C_DEBUG_SWITCH
45#undef C_OPTIMIZE_SWITCH
46#define C_DEBUG_SWITCH -g
47#endif
48#endif
49
50/* The X internationalization stuff is still broken in AIX 4.1, so
51 don't #undef X11R5_INHIBIT_I18N
52 It still causes shift, ctrl, and alt to resend the last character,
53 if it was a control character like tab, enter, backspace, or ESC.
54 Bill_Mann @ PraxisInt.com */
55/* #undef X11R5_INHIBIT_I18N */
56
57#ifndef HAVE_LIBXMU
58#define LIBXMU
59
60/* Unfortunately without libXmu we cannot support EditRes. */
61#define NO_EDITRES
62#endif
63
64/* arch-tag: 72d598e1-bc3e-48e0-bfd2-693917c3738e
65 (do not change this comment) */
diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h
index c23987d2d9b..2b31e2c8167 100644
--- a/src/s/aix4-2.h
+++ b/src/s/aix4-2.h
@@ -1,6 +1,194 @@
1#include "aix4-1.h" 1/*
2Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
3 Free Software Foundation, Inc.
2 4
3#undef ALIGN_DATA_RELOC 5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20/*
21 * Define symbols to identify the version of Unix this is.
22 * Define all the symbols that apply correctly.
23 */
24
25#define USG /* System III, System V, etc */
26#define USG5
27
28/* This symbol should be defined on AIX Version 3 ??????? */
29#ifndef _AIX
30#define _AIX
31#endif
32
33/* SYSTEM_TYPE should indicate the kind of system you are using.
34 It sets the Lisp variable system-type. */
35
36#define SYSTEM_TYPE "aix"
37
38/* In AIX, you allocate a pty by opening /dev/ptc to get the master side.
39 To get the name of the slave side, you just ttyname() the master side. */
40
41#define PTY_ITERATION for (c = 0; !c ; c++)
42#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc");
43#define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd));
44
45/*
46 * Define HAVE_TERMIO if the system provides sysV-style ioctls
47 * for terminal control.
48 */
49
50#define HAVE_TERMIOS
51
52/*
53 * Define HAVE_PTYS if the system supports pty devices.
54 */
55
56#define HAVE_PTYS
57
58/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
59
60#define HAVE_SOCKETS
61
62/*
63 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
64 * The 4.2 opendir, etc., library functions.
65 */
66
67/* #define NONSYSTEM_DIR_LIBRARY */
68
69/*
70 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
71 * library functions. Almost, but not quite the same as
72 * the 4.2 functions
73 */
74
75#define SYSV_SYSTEM_DIR
76
77/* Define this symbol if your system has the functions bcopy, etc. */
78
79#define BSTRING
80
81/* subprocesses should be defined if you want to
82 have code for asynchronous subprocesses
83 (as used in M-x compile and M-x shell).
84 This is supposed to work now on system V release 2. */
85
86#define subprocesses
87
88/* The file containing the kernel's symbol table is called /unix. */
89
90#define KERNEL_FILE "/unix"
91
92/* The symbol in the kernel where the load average is found
93 is named avenrun. */
94
95#define LDAV_SYMBOL "avenrun"
96
97/* Special itemss needed to make Emacs run on this system. */
98
99
100
101/* USG systems tend to put everything declared static
102 into the initialized data area, which becomes pure after dumping Emacs.
103 Foil this. Emacs carefully avoids static vars inside functions. */
104
105#undef static
106
107/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
108
109/* #define ADDR_CORRECT(x) (x) */
110
111#ifndef __GNUC__
112#define LINKER cc
113#endif
114
115/* Prevent -lg from being used for debugging. Not needed. */
116
117#define LIBS_DEBUG
118
119/* No need to specify -lc when linking. */
120
121#define LIB_STANDARD
122
123/* Use terminfo instead of termcap. */
124
125#define TERMINFO
126
127/* The following definition seems to be needed in AIX version 3.1.6.8.
128 It may not have been needed in certain earlier versions. */
129#define HAVE_TCATTR
130
131/* Include unistd.h, even though we don't define POSIX. */
132#define NEED_UNISTD_H
133
134/* AIX doesn't define this. */
135#define unix 1
136
137#ifndef __GNUC__
138/* Some programs in src produce warnings saying certain subprograms
139 are to comples and need a MAXMEM value greater than 2000 for
140 additional optimization. --nils@exp-math.uni-essen.de */
141#define C_SWITCH_SYSTEM -ma -qmaxmem=4000
142#endif
143
144/* The character-composition stuff is broken in X11R5.
145 Even with XIMStatusNothing aliased to XIMStatusNone,
146 tranle@intellicorp.com (Minh Tran-Le) reports that enabling
147 the internationalization code causes the modifier keys C, M and Shift
148 to beep after a mouse click. */
149#define X11R5_INHIBIT_I18N
150
151/* string.h defines rindex as a macro, at least with native cc, so we
152 lose declaring char * rindex without this.
153 It is just a guess which versions of AIX need this definition. */
154#undef HAVE_STRING_H
155
156/* For AIX, it turns out compiling emacs under AIX 3.2.4 REQUIRES "cc -g"
157 because "cc -O" crashes. Under AIX 3.2.5, "cc -O" is required because
158 "cc -g" crashes. Go figure. --floppy@merlin.mit.edu */
159/* The above isn't generally true. If it occurs with some compiler
160 release, seek a fixed version, be it XLC or GCC. The XLC version
161 isn't tied to the OS version on AIX any more than elsewhere. XLC
162 (the IBM compiler) can use -g with -O. (-O3 is also a possibility
163 for the optimization level.) -- fx, after David Edelsohn. */
164#define C_DEBUG_SWITCH -g -O
165
166/* Perry Smith <pedz@ddivt1.austin.ibm.com> says these are correct. */
167#define SIGNALS_VIA_CHARACTERS
168#define MAIL_USE_LOCKF
169#define CLASH_DETECTION
170
171/* Perry Smith <pedz@ddivt1.austin.ibm.com> says these are correct. */
172#define POSIX_SIGNALS
173#undef sigmask
174
175/* Dave Love <d.love@dl.ac.uk> reported this as needed on AIX 4.1.
176 It is just a guess which versions of AIX need this definition. */
177#define HAVE_WAIT_HEADER
178
179/* Specify the type that the 3rd arg of `accept' points to.
180 It is just a guess which versions of AIX need this definition. */
181#define SOCKLEN_TYPE int
182
183/* olson@mcs.anl.gov says -li18n is needed by -lXm. */
184#define LIB_MOTIF -lXm -li18n
185
186#ifndef HAVE_LIBXMU
187#define LIBXMU
188
189/* Unfortunately without libXmu we cannot support EditRes. */
190#define NO_EDITRES
191#endif
4 192
5/* On AIX Emacs uses the gmalloc.c malloc implementation. But given 193/* On AIX Emacs uses the gmalloc.c malloc implementation. But given
6 the way this system works, libc functions that return malloced 194 the way this system works, libc functions that return malloced
@@ -20,19 +208,5 @@
20*/ 208*/
21#define BROKEN_GET_CURRENT_DIR_NAME 1 209#define BROKEN_GET_CURRENT_DIR_NAME 1
22 210
23/* aix3-1.h defined _NO_PROTO, probably to work around an AIX compiler
24 that did not handle prototypes. On (at least) AIX 5.2, this causes
25 the proper prototype to be thrown away for lseek64, so compiled
26 Lisp files do not load correctly and compilation fails.
27
28 The AIX compiler should have learned about function prototypes long
29 ago, so we can probably go ahead and undefine _NO_PROTO. However,
30 if someone can demonstrate that this problem still exists for AIX
31 4, this should be moved into a new file (aix5.h).
32*/
33
34#undef _NO_PROTO
35
36
37/* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562 211/* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562
38 (do not change this comment) */ 212 (do not change this comment) */
diff --git a/src/s/aix4.h b/src/s/aix4.h
deleted file mode 100644
index b2ed15f75ea..00000000000
--- a/src/s/aix4.h
+++ /dev/null
@@ -1,17 +0,0 @@
1#define AIX4
2
3#include "aix3-2-5.h"
4
5/* AIX 4 does not have HFT any more. */
6#undef AIXHFT
7
8/* Dave Love <d.love@dl.ac.uk> reported this as needed on AIX 4.1.
9 It is just a guess which versions of AIX need this definition. */
10#define HAVE_WAIT_HEADER
11
12/* Specify the type that the 3rd arg of `accept' points to.
13 It is just a guess which versions of AIX need this definition. */
14#define SOCKLEN_TYPE int
15
16/* arch-tag: b9471dfc-ccdc-4980-a8a1-80c7627ec6b2
17 (do not change this comment) */
diff --git a/src/s/bsd4-3.h b/src/s/bsd-common.h
index 2a94916eb19..2a94916eb19 100644
--- a/src/s/bsd4-3.h
+++ b/src/s/bsd-common.h
diff --git a/src/s/bsd386.h b/src/s/bsd386.h
deleted file mode 100644
index ee869ac62d0..00000000000
--- a/src/s/bsd386.h
+++ /dev/null
@@ -1,67 +0,0 @@
1/* s/ file for bsd386 system.
2
3 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21
22#include "bsd4-3.h"
23
24#ifndef __bsdi__
25#define __bsdi__ 1
26#endif
27
28#define DECLARE_GETPWUID_WITH_UID_T
29
30#define SIGNALS_VIA_CHARACTERS
31
32#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
33#define A_TEXT_OFFSET(x) (sizeof (struct exec))
34#define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr))
35
36#define LIBS_DEBUG
37#define LIB_X11_LIB -L/usr/X11/lib -lX11
38#define LIBS_SYSTEM -lutil -lkvm -lcompat
39
40#define HAVE_GETLOADAVG 1
41
42#undef BSD_PGRPS
43
44/* System uses OXTABS instead of the expected TAB3.
45 (Copied from netbsd.h.) */
46#define TABDLY OXTABS
47#define TAB3 OXTABS
48
49#define SYSV_SYSTEM_DIR
50
51#define HAVE_TERMIOS
52#define NO_TERMIO
53
54#define WAITTYPE int
55/* get this since it won't be included if WAITTYPE is defined */
56#ifdef emacs
57#include <sys/wait.h>
58#endif
59#define WRETCODE(w) WEXITSTATUS(w)
60#ifndef WCOREDUMP
61#define WCOREDUMP(w) ((w) & 0200)
62#endif
63
64#define GETPGRP_NO_ARG 1
65
66/* arch-tag: 867e3bb8-e9df-4763-9c82-8f4accb8209e
67 (do not change this comment) */
diff --git a/src/s/bsd4-1.h b/src/s/bsd4-1.h
deleted file mode 100644
index 9a08b5ea9c7..00000000000
--- a/src/s/bsd4-1.h
+++ /dev/null
@@ -1,131 +0,0 @@
1/* Definitions file for GNU Emacs running on bsd 4.1.
2 Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
3 2007, 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21/*
22 * Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly.
24 */
25
26#define BSD4_1
27
28#define BSD_SYSTEM
29
30/* SYSTEM_TYPE should indicate the kind of system you are using.
31 It sets the Lisp variable system-type. */
32
33#define SYSTEM_TYPE "berkeley-unix"
34
35/* nomultiplejobs should be defined if your system's shell
36 does not have "job control" (the ability to stop a program,
37 run some other program, then continue the first one). */
38
39/* #define NOMULTIPLEJOBS */
40
41/* Default is to set interrupt_input to 1: do input buffering within Emacs */
42
43#define INTERRUPT_INPUT
44
45/* First pty name is /dev/ptyp0. */
46
47#define FIRST_PTY_LETTER 'p'
48
49/*
50 * Define HAVE_PTYS if the system supports pty devices.
51 */
52
53/* #define HAVE_PTYS */
54
55/* Define this macro if system defines a type `union wait'. */
56
57#define HAVE_UNION_WAIT
58
59/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
60
61/* #define HAVE_SOCKETS */
62
63/*
64 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
65 * The 4.2 opendir, etc., library functions.
66 */
67
68#define NONSYSTEM_DIR_LIBRARY
69
70/* Define this symbol if your system has the functions bcopy, etc. */
71
72/* #define BSTRING */
73
74/* subprocesses should be defined if you want to
75 have code for asynchronous subprocesses
76 (as used in M-x compile and M-x shell).
77 This is generally OS dependent, and not supported
78 under most USG systems. */
79
80#define subprocesses
81
82/* If your system uses COFF (Common Object File Format) then define the
83 preprocessor symbol "COFF". */
84
85/* #define COFF */
86
87/* define MAIL_USE_FLOCK if the mailer uses flock
88 to interlock access to /usr/spool/mail/$USER.
89 The alternative is that a lock file named
90 /usr/spool/mail/$USER.lock. */
91
92/* #define MAIL_USE_FLOCK */
93
94/* Define CLASH_DETECTION if you want lock files to be written
95 so that Emacs can tell instantly when you try to modify
96 a file that someone else has modified in his Emacs. */
97
98#undef CLASH_DETECTION /* Might work; not tried yet. */
99
100/* The file containing the kernel's symbol table is called /vmunix. */
101
102#define KERNEL_FILE "/vmunix"
103
104/* The symbol in the kernel where the load average is found
105 is named _avenrun. */
106
107#define LDAV_SYMBOL "_avenrun"
108
109/* Special hacks needed to make Emacs run on this system. */
110
111/* Make the function `signal' act as in 4.2. */
112
113#define signal sigset
114
115#define _longjmp longjmp
116#define _setjmp setjmp
117
118#define lstat stat
119
120/* Names of flags for open. */
121#define O_RDONLY 0
122#define O_WRONLY 1
123#define O_RDWR 2
124#define O_EXCL 2000
125#define O_CREAT 1000
126
127/* Special library needed for linking for 4.1. */
128#define LIBS_SYSTEM -ljobs
129
130/* arch-tag: de56716a-ed9b-4851-a5c5-c882efaf9931
131 (do not change this comment) */
diff --git a/src/s/bsd4-2.h b/src/s/bsd4-2.h
deleted file mode 100644
index 665e12a5352..00000000000
--- a/src/s/bsd4-2.h
+++ /dev/null
@@ -1,122 +0,0 @@
1/* Definitions file for GNU Emacs running on bsd 4.2
2 Copyright (C) 1985, 1986, 1994, 2001, 2002, 2003, 2004, 2005, 2006,
3 2007, 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21/*
22 * Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly.
24 */
25
26#ifndef BSD4_2
27#define BSD4_2 1
28#endif /* BSD4_2 */
29
30#ifndef BSD_SYSTEM
31#define BSD_SYSTEM 42
32#endif /* BSD_SYSTEM */
33
34/* SYSTEM_TYPE should indicate the kind of system you are using.
35 It sets the Lisp variable system-type. */
36
37#define SYSTEM_TYPE "berkeley-unix"
38
39/* nomultiplejobs should be defined if your system's shell
40 does not have "job control" (the ability to stop a program,
41 run some other program, then continue the first one). */
42
43/* #define NOMULTIPLEJOBS */
44
45/* Default is to set interrupt_input to 1: do input buffering within Emacs */
46
47#define INTERRUPT_INPUT
48
49/* First pty name is /dev/ptyp0. */
50
51#define FIRST_PTY_LETTER 'p'
52
53/*
54 * Define HAVE_PTYS if the system supports pty devices.
55 */
56
57#define HAVE_PTYS
58
59/* Define this macro if system defines a type `union wait'. */
60
61#define HAVE_UNION_WAIT
62
63/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
64
65#define HAVE_SOCKETS
66
67/*
68 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
69 * The 4.2 opendir, etc., library functions.
70 */
71
72/* #define NONSYSTEM_DIR_LIBRARY */
73
74/* Define this symbol if your system has the functions bcopy, etc. */
75
76#define BSTRING
77
78/* subprocesses should be defined if you want to
79 have code for asynchronous subprocesses
80 (as used in M-x compile and M-x shell).
81 This is generally OS dependent, and not supported
82 under most USG systems. */
83
84#define subprocesses
85
86/* If your system uses COFF (Common Object File Format) then define the
87 preprocessor symbol "COFF". */
88
89/* #define COFF */
90
91/* define MAIL_USE_FLOCK if the mailer uses flock
92 to interlock access to /usr/spool/mail/$USER.
93 The alternative is that a lock file named
94 /usr/spool/mail/$USER.lock. */
95
96/* #define MAIL_USE_FLOCK */
97
98/* Define CLASH_DETECTION if you want lock files to be written
99 so that Emacs can tell instantly when you try to modify
100 a file that someone else has modified in his Emacs. */
101
102#define CLASH_DETECTION
103
104/* The file containing the kernel's symbol table is called /vmunix. */
105
106#define KERNEL_FILE "/vmunix"
107
108/* The symbol in the kernel where the load average is found
109 is named _avenrun. */
110
111#define LDAV_SYMBOL "_avenrun"
112
113/* Send signals to subprocesses by "typing" special chars at them. */
114
115#define SIGNALS_VIA_CHARACTERS
116
117/* Process groups work in the traditional BSD manner. */
118
119#define BSD_PGRPS
120
121/* arch-tag: 38ca640f-549e-4726-a257-71048ab4c480
122 (do not change this comment) */
diff --git a/src/s/bsdos2-1.h b/src/s/bsdos2-1.h
deleted file mode 100644
index 244d58f5137..00000000000
--- a/src/s/bsdos2-1.h
+++ /dev/null
@@ -1,9 +0,0 @@
1/* s/ file for BSDI BSD/OS 2.1 system. */
2
3#include "bsdos2.h"
4
5#undef LIB_X11_LIB
6#define LIB_X11_LIB -L/usr/X11/lib -lX11 -lipc
7
8/* arch-tag: cf1ada4a-cdbf-452b-a264-ff84dd523e97
9 (do not change this comment) */
diff --git a/src/s/bsdos2.h b/src/s/bsdos2.h
deleted file mode 100644
index 9e1e82fd75a..00000000000
--- a/src/s/bsdos2.h
+++ /dev/null
@@ -1,14 +0,0 @@
1/* s/ file for BSDI BSD/OS 2.0 system. */
2
3#include "bsd386.h"
4
5#define TEXT_START 0x1020 /* for QMAGIC */
6#define START_FILES pre-crt0.o /usr/lib/crt0.o
7#define HAVE_TERMIOS
8#define NO_TERMIO
9
10#undef KERNEL_FILE
11#define KERNEL_FILE "/bsd"
12
13/* arch-tag: 25ce1827-1511-4305-9058-24dd2118b5b4
14 (do not change this comment) */
diff --git a/src/s/bsdos3.h b/src/s/bsdos3.h
deleted file mode 100644
index 20a9704e14f..00000000000
--- a/src/s/bsdos3.h
+++ /dev/null
@@ -1,9 +0,0 @@
1/* s/ file for BSDI BSD/OS 3.0 system. */
2
3#include "bsdos2.h"
4
5#undef LIBS_SYSTEM
6#define LIBS_SYSTEM -lkvm
7
8/* arch-tag: 726766f3-5a62-48bf-8e21-3b21ec6abe6f
9 (do not change this comment) */
diff --git a/src/s/bsdos4.h b/src/s/bsdos4.h
deleted file mode 100644
index 540e4a7d790..00000000000
--- a/src/s/bsdos4.h
+++ /dev/null
@@ -1,26 +0,0 @@
1/* s/ file for BSDI BSD/OS 4.0 system. */
2
3#include "bsdos3.h"
4
5/* BSD/OS 4.1 and later have ncurses */
6#ifdef HAVE_LIBNCURSES
7#define TERMINFO
8#define LIBS_TERMCAP -lncurses
9#endif /* HAVE_LIBNCURSES */
10
11/* copied from freebsd.h */
12#ifdef __ELF__
13
14#define LD_SWITCH_SYSTEM
15#undef START_FILES
16#define START_FILES \
17 pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o
18#define UNEXEC unexelf.o
19#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o
20#undef LIB_GCC
21#define LIB_GCC
22
23#endif /* not __ELF__ */
24
25/* arch-tag: 7659632a-a879-4153-bb8b-3765a1463ca1
26 (do not change this comment) */
diff --git a/src/s/darwin.h b/src/s/darwin.h
index d7f7cf2234f..aa509b75af5 100644
--- a/src/s/darwin.h
+++ b/src/s/darwin.h
@@ -23,12 +23,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
23 * Define all the symbols that apply correctly. 23 * Define all the symbols that apply correctly.
24 */ 24 */
25 25
26/* #define UNIPLUS */
27/* #define USG5 */
28/* #define USG */
29/* #define HPUX */
30/* #define UMAX */
31/* #define BSD4_1 */
32#define BSD4_2 26#define BSD4_2
33/* BSD4_3 and BSD4_4 are already defined in sys/param.h */ 27/* BSD4_3 and BSD4_4 are already defined in sys/param.h */
34/* #define BSD4_3 */ 28/* #define BSD4_3 */
diff --git a/src/s/freebsd.h b/src/s/freebsd.h
index 9a21b0931ee..843a34b6fe0 100644
--- a/src/s/freebsd.h
+++ b/src/s/freebsd.h
@@ -40,19 +40,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
40#define NO_SHARED_LIBS 40#define NO_SHARED_LIBS
41#endif 41#endif
42 42
43 43/* Get most of the stuff from bsd-common */
44#if 0 /* This much, alone, seemed sufficient as of 19.23. 44#include "bsd-common.h"
45 But it seems better to be independent of netbsd.h. */
46#include "netbsd.h"
47
48#undef LIB_GCC
49#define LIB_GCC -lgcc
50#undef NEED_ERRNO
51#endif /* 0 */
52
53
54/* Get most of the stuff from bsd4.3 */
55#include "bsd4-3.h"
56 45
57/* For mem-limits.h. */ 46/* For mem-limits.h. */
58#define BSD4_2 47#define BSD4_2
@@ -161,7 +150,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
161 ioctl TIOCSCTTY. */ 150 ioctl TIOCSCTTY. */
162#define DONT_REOPEN_PTY 151#define DONT_REOPEN_PTY
163 152
164/* CLASH_DETECTION is defined in bsd4-3.h. 153/* CLASH_DETECTION is defined in bsd-common.h.
165 In FreeBSD 2.1.5 (and other 2.1.x), this results useless symbolic links 154 In FreeBSD 2.1.5 (and other 2.1.x), this results useless symbolic links
166 remaining in /tmp or other directories with +t bit. 155 remaining in /tmp or other directories with +t bit.
167 To avoid this problem, you could #undef it to use no file lock. */ 156 To avoid this problem, you could #undef it to use no file lock. */
diff --git a/src/s/gnu.h b/src/s/gnu.h
index fbc3f944e66..b5a839ec98a 100644
--- a/src/s/gnu.h
+++ b/src/s/gnu.h
@@ -18,8 +18,8 @@ You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 19
20 20
21/* Get most of the stuff from bsd4.3 */ 21/* Get most of the stuff from bsd-common */
22#include "bsd4-3.h" 22#include "bsd-common.h"
23 23
24/* For mem-limits.h. */ 24/* For mem-limits.h. */
25#define BSD4_2 25#define BSD4_2
diff --git a/src/s/hpux.h b/src/s/hpux.h
deleted file mode 100644
index 785fff12623..00000000000
--- a/src/s/hpux.h
+++ /dev/null
@@ -1,218 +0,0 @@
1/* Definitions file for GNU Emacs running on HPUX release 7.0.
2 Based on AT&T System V.2.
3 Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
4 2007, 2008 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21
22/*
23 * Define symbols to identify the version of Unix this is.
24 * Define all the symbols that apply correctly.
25 */
26
27#define USG /* System III, System V, etc */
28
29#define USG5
30
31#define HPUX
32
33/* SYSTEM_TYPE should indicate the kind of system you are using.
34 It sets the Lisp variable system-type. */
35
36#define SYSTEM_TYPE "hpux"
37
38/* `nomultiplejobs' should be defined if your system's shell
39 does not have "job control" (the ability to stop a program,
40 run some other program, then continue the first one).
41
42 On hpux this depends on the precise kind of machine in use,
43 so the m- file defines this symbol if appropriate. */
44
45/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
46
47/* #define INTERRUPT_INPUT */
48
49/* Letter to use in finding device name of first pty,
50 if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */
51
52#define FIRST_PTY_LETTER 'p'
53
54/*
55 * Define HAVE_TERMIO if the system provides sysV-style ioctls
56 * for terminal control.
57 */
58
59#define HAVE_TERMIO
60
61/*
62 * Define HAVE_PTYS if the system supports pty devices.
63 */
64
65#define HAVE_PTYS
66
67/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
68
69#define HAVE_SOCKETS
70
71/*
72 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
73 * The 4.2 opendir, etc., library functions.
74 */
75
76/* #define NONSYSTEM_DIR_LIBRARY */
77
78/* Define this symbol if your system has the functions bcopy, etc.
79 * s800 and later versions of s300 (s200) kernels have equivalents
80 * of the BSTRING functions of BSD. If your s200 kernel doesn't have
81 * em comment out this section.
82 */
83
84#define BSTRING
85
86/* subprocesses should be defined if you want to
87 have code for asynchronous subprocesses
88 (as used in M-x compile and M-x shell).
89 This is generally OS dependent, and not supported
90 under most USG systems. */
91
92#define subprocesses
93
94/* If your system uses COFF (Common Object File Format) then define the
95 preprocessor symbol "COFF". */
96
97/* #define COFF */
98
99/* define MAIL_USE_FLOCK if the mailer uses flock
100 to interlock access to /usr/spool/mail/$USER.
101 The alternative is that a lock file named
102 /usr/spool/mail/$USER.lock. */
103
104/* #define MAIL_USE_FLOCK */
105
106/* Say we have the SYSV style of interprocess communication. */
107
108#define HAVE_SYSVIPC
109
110/* Define CLASH_DETECTION if you want lock files to be written
111 so that Emacs can tell instantly when you try to modify
112 a file that someone else has modified in his Emacs. */
113
114#define CLASH_DETECTION
115
116/* The file containing the kernel's symbol table is called /hp-ux. */
117
118#define KERNEL_FILE "/hp-ux"
119
120/* The symbol in the kernel where the load average is found
121 depends on the cpu type, so we let the m- files define LDAV_SYMBOL. */
122
123/* Special hacks needed to make Emacs run on this system. */
124
125/*
126 * Make the sigsetmask function go away. Don't know what the
127 * ramifications of this are, but doesn't seem possible to
128 * emulate it properly anyway at this point.
129 */
130
131/* HPUX has sigsetmask */
132/* #define sigsetmask(mask) / * Null expansion * / */
133
134/* setjmp and longjmp can safely replace _setjmp and _longjmp,
135 but they will run slower. */
136
137/* HP-UX has _setjmp and _longjmp */
138/*
139#define _setjmp setjmp
140#define _longjmp longjmp
141*/
142
143/* Use the system provided termcap(3) library */
144#define TERMINFO
145
146/* The 48-bit versions are more winning for Emacs;
147 the ordinary ones don't give even 32 bits. */
148#define random lrand48
149#define srandom srand48
150
151/* In hpux, the symbol SIGIO is defined, but the feature
152 doesn't work in the way Emacs needs it to. */
153
154#define BROKEN_SIGIO
155
156/* USG systems tend to put everything declared static
157 into the initialized data area, which becomes pure after dumping Emacs.
158 Foil this. Emacs carefully avoids static vars inside functions.
159 http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00368.html
160 As of at least HPUX 11.11 (2000), it seems this workaround is no
161 longer needed. Try uncommenting the following if you have problems
162 on older versions. */
163
164/* This is unnecessary in HPUX versions 10.20, 11.0, 11.11, 11.23. */
165
166/* #define static */
167
168/* Define extra libraries to load.
169 This should have -lBSD, but that library is said to make
170 `signal' fail to work. */
171
172#ifdef HPUX_NET
173#define LIBS_SYSTEM -ln
174#else
175#define LIBS_SYSTEM
176#endif
177
178/* Some additional system facilities exist. */
179
180#define HAVE_PERROR /* Delete this line for version 6. */
181
182/* The following maps shared exec file to demand loaded exec.
183 Don't do this as demand loaded exec is broken in hpux. */
184
185#if 0
186
187/* Adjust a header field for the executable file about to be dumped. */
188
189#define ADJUST_EXEC_HEADER \
190 hdr.a_magic = ((ohdr.a_magic.file_type == OLDMAGIC.file_type) ? \
191 NEWMAGIC : ohdr.a_magic);
192
193#endif
194
195/* Baud-rate values in tty status have nonstandard meanings. */
196
197#define BAUD_CONVERT \
198{ 0, 50, 75, 110, 135, 150, 200, 300, 600, 900, 1200, \
199 1800, 2400, 3600, 4800, 7200, 9600, 19200, 38400 }
200
201/* This is how to get the device name of the tty end of a pty. */
202#define PTY_TTY_NAME_SPRINTF \
203 sprintf (pty_name, "/dev/pty/tty%c%x", c, i);
204
205/* This is how to get the device name of the control end of a pty. */
206#define PTY_NAME_SPRINTF \
207 sprintf (pty_name, "/dev/ptym/pty%c%x", c, i);
208
209/* This triggers a conditional in xfaces.c. */
210#define XOS_NEEDS_TIME_H
211
212#ifndef HPUX8
213/* It's possible that HPUX 7 has sys/wait.h but it does not work right. */
214#undef HAVE_SYS_WAIT_H
215#endif
216
217/* arch-tag: 75c1239f-fedb-4f64-8f86-7893e75699e8
218 (do not change this comment) */
diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h
index a15b81a5e90..8ea24fc4dc8 100644
--- a/src/s/hpux10-20.h
+++ b/src/s/hpux10-20.h
@@ -1,13 +1,270 @@
1#include "hpux10.h" 1/* System description file for hpux version 10.20.
2 Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 2008 Free Software Foundation, Inc.
2 4
3#define HPUX10_20 5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21#define RUN_TIME_REMAP
22
23/*
24 * Define symbols to identify the version of Unix this is.
25 * Define all the symbols that apply correctly.
26 */
27
28#define USG /* System III, System V, etc */
29
30#define USG5
31
32#define HPUX
33
34/* SYSTEM_TYPE should indicate the kind of system you are using.
35 It sets the Lisp variable system-type. */
36
37#define SYSTEM_TYPE "hpux"
38
39/* `nomultiplejobs' should be defined if your system's shell
40 does not have "job control" (the ability to stop a program,
41 run some other program, then continue the first one).
42
43 On hpux this depends on the precise kind of machine in use,
44 so the m- file defines this symbol if appropriate. */
45
46/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
47
48/* #define INTERRUPT_INPUT */
49
50/* Letter to use in finding device name of first pty,
51 if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */
52
53#define FIRST_PTY_LETTER 'p'
54
55/*
56 * Define HAVE_TERMIO if the system provides sysV-style ioctls
57 * for terminal control.
58 */
59
60#define HAVE_TERMIO
61
62/*
63 * Define HAVE_PTYS if the system supports pty devices.
64 */
65
66#define HAVE_PTYS
67
68/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
69
70#define HAVE_SOCKETS
71
72/* Define this symbol if your system has the functions bcopy, etc.
73 * s800 and later versions of s300 (s200) kernels have equivalents
74 * of the BSTRING functions of BSD. If your s200 kernel doesn't have
75 * em comment out this section.
76 */
77
78#define BSTRING
79
80/* subprocesses should be defined if you want to
81 have code for asynchronous subprocesses
82 (as used in M-x compile and M-x shell).
83 This is generally OS dependent, and not supported
84 under most USG systems. */
85
86#define subprocesses
87
88/* If your system uses COFF (Common Object File Format) then define the
89 preprocessor symbol "COFF". */
90
91/* #define COFF */
92
93/* define MAIL_USE_FLOCK if the mailer uses flock
94 to interlock access to /usr/spool/mail/$USER.
95 The alternative is that a lock file named
96 /usr/spool/mail/$USER.lock. */
97
98/* #define MAIL_USE_FLOCK */
99
100/* Say we have the SYSV style of interprocess communication. */
101
102#define HAVE_SYSVIPC
103
104/* Define CLASH_DETECTION if you want lock files to be written
105 so that Emacs can tell instantly when you try to modify
106 a file that someone else has modified in his Emacs. */
107
108#define CLASH_DETECTION
109
110/* The symbol in the kernel where the load average is found
111 depends on the cpu type, so we let the m- files define LDAV_SYMBOL. */
112
113/* Special hacks needed to make Emacs run on this system. */
114
115/*
116 * Make the sigsetmask function go away. Don't know what the
117 * ramifications of this are, but doesn't seem possible to
118 * emulate it properly anyway at this point.
119 */
120
121/* HPUX has sigsetmask */
122/* #define sigsetmask(mask) / * Null expansion * / */
123
124/* setjmp and longjmp can safely replace _setjmp and _longjmp,
125 but they will run slower. */
126
127/* HP-UX has _setjmp and _longjmp */
128/*
129#define _setjmp setjmp
130#define _longjmp longjmp
131*/
132
133/* Use the system provided termcap(3) library */
134#define TERMINFO
135
136/* In hpux, the symbol SIGIO is defined, but the feature
137 doesn't work in the way Emacs needs it to. */
138
139#define BROKEN_SIGIO
140
141/* USG systems tend to put everything declared static
142 into the initialized data area, which becomes pure after dumping Emacs.
143 Foil this. Emacs carefully avoids static vars inside functions.
144 http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00368.html
145 As of at least HPUX 11.11 (2000), it seems this workaround is no
146 longer needed. Try uncommenting the following if you have problems
147 on older versions. */
148
149/* This is unnecessary in HPUX versions 10.20, 11.0, 11.11, 11.23. */
150
151/* #define static */
152
153/* Some additional system facilities exist. */
154
155#define HAVE_PERROR /* Delete this line for version 6. */
156
157/* The following maps shared exec file to demand loaded exec.
158 Don't do this as demand loaded exec is broken in hpux. */
159
160/* Baud-rate values in tty status have nonstandard meanings. */
161
162#define BAUD_CONVERT \
163{ 0, 50, 75, 110, 135, 150, 200, 300, 600, 900, 1200, \
164 1800, 2400, 3600, 4800, 7200, 9600, 19200, 38400 }
165
166/* This is how to get the device name of the tty end of a pty. */
167#define PTY_TTY_NAME_SPRINTF \
168 sprintf (pty_name, "/dev/pty/tty%c%x", c, i);
169
170/* This is how to get the device name of the control end of a pty. */
171#define PTY_NAME_SPRINTF \
172 sprintf (pty_name, "/dev/ptym/pty%c%x", c, i);
173
174/* This triggers a conditional in xfaces.c. */
175#define XOS_NEEDS_TIME_H
176
177/* Don't use shared libraries. unexec doesn't handle them.
178 Note GCC automatically passes -a archive to ld, and it has its own
179 conflicting -a. */
180#ifdef __GNUC__
181
182#define LD_SWITCH_SYSTEM_TEMACS
183
184#else /* not __GNUC__ */
185/* Note, -a only works for hpux ld, not cc. And "cc LD_SWITCH_SYSTEM"
186 is used in configure's $ac_link to do various autoconf checks.
187 Since we only need -a when unexec'ing, only pass in -a to
188 "ld temacs" (ghazi@caip.rutgers.edu 7/10/97). */
189#if (defined(hp9000s700) || defined(__hp9000s700))
190#define LD_SWITCH_SYSTEM_TEMACS -L/lib/pa1.1
191#else /* not (defined(hp9000s700) || defined(__hp9000s700)) */
192#define LD_SWITCH_SYSTEM_TEMACS
193#endif /* not (defined(hp9000s700) || defined(__hp9000s700)) */
194#endif /* not __GNUC__ */
195
196/* Some hpux 8 machines seem to have TIOCGWINSZ,
197 and none have sioctl.h, so might as well define this. */
198#define NO_SIOCTL_H
199
200#ifndef HAVE_LIBXMU
201/* HP-UX doesn't supply Xmu. */
202#define LIBXMU
203
204#endif
205
206/* Assar Westerlund <assar@sics.se> says this is necessary for
207 HP-UX 10.20, and that it works for HP-UX 0 as well. */
208#define NO_EDITRES
209
210/* Tested in getloadavg.c. */
211#define HAVE_PSTAT_GETDYNAMIC
212
213/* Eric Backus <ericb@lsid.hp.com> says, HP-UX 9.x on HP 700 machines
214 has a broken `rint' in some library versions including math library
215 version number A.09.05.
216
217 You can fix the math library by installing patch number PHSS_4630.
218 But we can fix it more reliably for Emacs like this. */
219#undef HAVE_RINT
220
221/* We have to go this route, rather than hpux9's approach of renaming the
222 functions via macros. The system's stdlib.h has fully prototyped
223 declarations, which yields a conflicting definition of srand48; it
224 tries to redeclare what was once srandom to be srand48. So we go
225 with HAVE_LRAND48 being defined. */
226#undef srandom
227#undef random
228#undef HAVE_RANDOM
229
230#define FORCE_ALLOCA_H
231
232/* AlainF 20-Jul-1996 says this is right. */
233#define KERNEL_FILE "/stand/vmunix"
234
235#ifdef HPUX_NET
236#define LIBS_SYSTEM -ln -l:libdld.sl
237#else
238#define LIBS_SYSTEM -l:libdld.sl
239#endif
240
241/* Rainer Malzbender <rainer@displaytech.com> says definining
242 HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20
243 using GCC. */
244
245#ifndef HAVE_XRMSETDATABASE
246#define HAVE_XRMSETDATABASE
247#endif
248
249/* Make sure we get select from libc rather than from libcurses
250 because libcurses on HPUX 10.10 has a broken version of select.
251 We used to use -lc -lcurses, but this may be cleaner. */
252#define LIBS_TERMCAP -ltermcap
253
254/* However, HPUX 10 puts Xaw and Xmu in a strange place
255 (if you install them at all). So search that place. */
256#define C_SWITCH_X_SYSTEM -I/usr/include/X11R6 -I/usr/include/X11R5 -I/usr/include/Motif1.2 -I/usr/contrib/X11R6/include -I/usr/contrib/X11R5/include
257#define LD_SWITCH_X_DEFAULT -L/usr/lib/X11R6 -L/usr/lib/X11R5 -L/usr/lib/Motif1.2 -L/usr/contrib/X11R5/lib
258
259/* 2000-11-21: Temporarily disable Unix 98 large file support found by
260 configure. It fails on HPUX 11, at least, because it enables
261 header sections which lose when `static' is defined away, as it is
262 on HP-UX. (You get duplicate symbol errors on linking). */
263
264#undef _FILE_OFFSET_BITS
4 265
5/* otherwise sigunblock wont be defined */ 266/* otherwise sigunblock wont be defined */
6#define POSIX_SIGNALS 267#define POSIX_SIGNALS
7 268
8/* Polling problems (interrupted system call) reported for HP-UX 10.10
9 don't exist from 10.20 on (see process.c) */
10#undef POLL_INTERRUPTED_SYS_CALL
11
12/* arch-tag: 8d8dcbf1-ca9b-48a1-94be-b750de18a5c6 269/* arch-tag: 8d8dcbf1-ca9b-48a1-94be-b750de18a5c6
13 (do not change this comment) */ 270 (do not change this comment) */
diff --git a/src/s/hpux10.h b/src/s/hpux10.h
deleted file mode 100644
index 646ef07d4eb..00000000000
--- a/src/s/hpux10.h
+++ /dev/null
@@ -1,85 +0,0 @@
1/* System description file for hpux version 10.
2 Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21#include "hpux9shr.h"
22
23#define HPUX10
24
25/* We have to go this route, rather than hpux9's approach of renaming the
26 functions via macros. The system's stdlib.h has fully prototyped
27 declarations, which yields a conflicting definition of srand48; it
28 tries to redeclare what was once srandom to be srand48. So we go
29 with HAVE_LRAND48 being defined. */
30#undef srandom
31#undef random
32#undef HAVE_RANDOM
33
34#define FORCE_ALLOCA_H
35
36/* AlainF 20-Jul-1996 says this is right. */
37#undef KERNEL_FILE
38#define KERNEL_FILE "/stand/vmunix"
39
40#ifdef LIBS_SYSTEM
41#undef LIBS_SYSTEM
42#endif
43#ifdef HPUX_NET
44#define LIBS_SYSTEM -ln -l:libdld.sl
45#else
46#define LIBS_SYSTEM -l:libdld.sl
47#endif
48
49/* Rainer Malzbender <rainer@displaytech.com> says definining
50 HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20
51 using GCC. */
52
53#ifndef HAVE_XRMSETDATABASE
54#define HAVE_XRMSETDATABASE
55#endif
56
57/* Make sure we get select from libc rather than from libcurses
58 because libcurses on HPUX 10.10 has a broken version of select.
59 We used to use -lc -lcurses, but this may be cleaner. */
60#define LIBS_TERMCAP -ltermcap
61
62#undef C_SWITCH_X_SYSTEM
63#undef LD_SWITCH_X_DEFAULT
64/* However, HPUX 10 puts Xaw and Xmu in a strange place
65 (if you install them at all). So search that place. */
66#define C_SWITCH_X_SYSTEM -I/usr/include/X11R6 -I/usr/include/X11R5 -I/usr/include/Motif1.2 -I/usr/contrib/X11R6/include -I/usr/contrib/X11R5/include
67#define LD_SWITCH_X_DEFAULT -L/usr/lib/X11R6 -L/usr/lib/X11R5 -L/usr/lib/Motif1.2 -L/usr/contrib/X11R5/lib
68
69/* 2000-11-21: Temporarily disable Unix 98 large file support found by
70 configure. It fails on HPUX 11, at least, because it enables
71 header sections which lose when `static' is defined away, as it is
72 on HP-UX. (You get duplicate symbol errors on linking). */
73
74#undef _FILE_OFFSET_BITS
75
76/* Don't define _BSD */
77#undef C_SWITCH_SYSTEM
78
79/* HP-UX 10.10 seem to have problems with signals coming in
80 Causes "poll: interrupted system call" messages when Emacs is run
81 in an X window (see process.c) */
82#define POLL_INTERRUPTED_SYS_CALL
83
84/* arch-tag: 1b95d569-a3c1-4fb0-8f69-fef264c17c24
85 (do not change this comment) */
diff --git a/src/s/hpux8.h b/src/s/hpux8.h
deleted file mode 100644
index 9333038b077..00000000000
--- a/src/s/hpux8.h
+++ /dev/null
@@ -1,96 +0,0 @@
1/* system description file for hpux version 8.
2
3 Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21/*
22Commentary:
23
24This contains changes that were suggested "for the hp700".
25They were not needed for the 800.
26Our conjecture that they are needed for hpux version 8,
27which is what runs on the 700. */
28
29#define HPUX8
30
31#include "hpux.h"
32
33/* dob@inel.gov says HPUX 8.07 needs this. He was using X11R5, I think. */
34#define LIBX11_SYSTEM -lXext
35
36#define LIB_X11_LIB -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lX11
37#define C_SWITCH_X_SYSTEM -I/usr/include/X11R5 -I/usr/include/X11R4
38#define LD_SWITCH_X_DEFAULT -L/usr/lib/X11R5 -L/usr/lib/X11R4
39
40/* Don't use shared libraries. unexec doesn't handle them.
41 Note GCC automatically passes -a archive to ld, and it has its own
42 conflicting -a. */
43#ifdef __GNUC__
44/* No need to specify roundabout way of linking temacs. */
45#define ORDINARY_LINK
46
47#ifdef HPUX_USE_SHLIBS
48#define LD_SWITCH_SYSTEM_TEMACS
49#else
50#define LD_SWITCH_SYSTEM_TEMACS -Xlinker -a -Xlinker archive
51#endif
52
53#else /* not __GNUC__ */
54/* Note, -a only works for hpux ld, not cc. And "cc LD_SWITCH_SYSTEM"
55 is used in configure's $ac_link to do various autoconf checks.
56 Since we only need -a when unexec'ing, only pass in -a to
57 "ld temacs" (ghazi@caip.rutgers.edu 7/10/97). */
58#if (defined(hp9000s700) || defined(__hp9000s700))
59#ifdef HPUX_USE_SHLIBS
60#define LD_SWITCH_SYSTEM_TEMACS -L/lib/pa1.1
61#else
62#define LD_SWITCH_SYSTEM_TEMACS -a archive -L/lib/pa1.1
63#endif
64#else /* not (defined(hp9000s700) || defined(__hp9000s700)) */
65#ifdef HPUX_USE_SHLIBS
66#define LD_SWITCH_SYSTEM_TEMACS
67#else
68#define LD_SWITCH_SYSTEM_TEMACS -a archive
69#endif
70#endif /* not (defined(hp9000s700) || defined(__hp9000s700)) */
71#endif /* not __GNUC__ */
72
73/* Some hpux 8 machines seem to have TIOCGWINSZ,
74 and none have sioctl.h, so might as well define this. */
75#define NO_SIOCTL_H
76
77#if 0 /* autoconf should be detecting the presence or absence of
78 random and srandom now. */
79/* If you use X11R4 you must define this. If you use
80 X11R5 you must comment this out */
81/* #define HAVE_RANDOM */
82#define random foo_random
83#define srandom foo_srandom
84#endif
85
86#if 0 /* This seems to be spurious. */
87/* "X11R5" on hpux8 doesn't have this function, which is supposed to exist
88 in X11R5. Maybe things will work if we just don't call it. */
89#define NO_XRM_SET_DATABASE
90#endif
91
92/* Enable a special hack in XTread_socket. */
93#define X_IO_BUG
94
95/* arch-tag: 25fafe5c-b26c-43ab-8144-1629d59207ee
96 (do not change this comment) */
diff --git a/src/s/hpux9.h b/src/s/hpux9.h
deleted file mode 100644
index 9c915eb6cc2..00000000000
--- a/src/s/hpux9.h
+++ /dev/null
@@ -1,94 +0,0 @@
1/* System description file for hpux version 9.
2
3 Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21
22#include "hpux8.h"
23
24#define HPUX9
25
26/* If Emacs doesn't seem to work when built to use GNU malloc, you
27 probably need to get the latest patches to the HP/UX compiler.
28 See `etc/MACHINES' for more information. */
29#if 0
30#define SYSTEM_MALLOC 1
31#undef GNU_MALLOC
32#undef REL_ALLOC
33#endif
34
35#ifndef __GNUC__
36/* Make room for enough symbols, so dispnew.c does not fail. */
37#define C_SWITCH_SYSTEM -Wp,-H200000 -D_BSD
38#else
39#define C_SWITCH_SYSTEM -D_BSD
40#endif
41
42#if 0 /* These definitions run into a bug in hpux
43 whereby trying to disable the vdsusp character has no effect.
44 supposedly there is no particular need for this. */
45/* neal@ctd.comsat.com */
46#undef HAVE_TERMIO
47#define HAVE_TERMIOS
48#define NO_TERMIO
49#endif
50
51/* According to ngorelic@speclab.cr.usgs.gov,
52 references to the X11R4 directories in these variables
53 (inherited from hpux8.h)
54 cause the wrong libraries to be found,
55 and the options to specify the X11R5 directories are unnecessary
56 since the R5 files are found without them. */
57#undef LIB_X11_LIB
58#undef C_SWITCH_X_SYSTEM
59#undef LD_SWITCH_X_DEFAULT
60/* However, HPUX 9 has Motif includes in a strange place.
61 So search that place. These definitions assume that X11R5 is being
62 used -- if X11R4 is used, "s/hpux9-x11r4.h" gets loaded instead. */
63/* horst@tkm.physik.uni-karlsruhe.de says that the /usr/contrib/... dirs
64 are needed to find the Xmu and Xaw libraries. */
65#define C_SWITCH_X_SYSTEM -I/usr/include/X11R5 -I/usr/contrib/X11R5/include -I/usr/include/Motif1.2
66#define LD_SWITCH_X_DEFAULT -L/usr/lib/X11R5 -L/usr/contrib/X11R5/lib -L/usr/lib/Motif1.2
67
68#ifndef HAVE_LIBXMU
69/* HP-UX doesn't supply Xmu. */
70#define LIBXMU
71
72#endif
73
74/* Assar Westerlund <assar@sics.se> says this is necessary for
75 HP-UX 10.20, and that it works for HP-UX 0 as well. */
76#define NO_EDITRES
77
78/* zoo@armadillo.com says we don't need -lXext in HPUX 9. */
79#undef LIBX11_SYSTEM
80
81/* Tested in getloadavg.c. */
82#define HAVE_PSTAT_GETDYNAMIC
83
84/* Eric Backus <ericb@lsid.hp.com> says, HP-UX 9.x on HP 700 machines
85 has a broken `rint' in some library versions including math library
86 version number A.09.05.
87
88 You can fix the math library by installing patch number PHSS_4630.
89 But we can fix it more reliably for Emacs like this. */
90#undef HAVE_RINT
91
92
93/* arch-tag: 0a5e9f05-012c-4962-a222-a7a3a7fe0ab7
94 (do not change this comment) */
diff --git a/src/s/hpux9shr.h b/src/s/hpux9shr.h
deleted file mode 100644
index d273d2e7787..00000000000
--- a/src/s/hpux9shr.h
+++ /dev/null
@@ -1,16 +0,0 @@
1#define ORDINARY_LINK
2#define HPUX_USE_SHLIBS
3#define RUN_TIME_REMAP
4
5#include "hpux9.h"
6
7#if 0 /* No longer needed, since in current GCC -g no longer does that. */
8/* We must turn off -g since it forces -static. */
9#ifdef __GNUC__
10#undef C_DEBUG_SWITCH
11#define C_DEBUG_SWITCH
12#endif
13#endif
14
15/* arch-tag: 1b259627-c5f6-4260-866f-781b06d72f6b
16 (do not change this comment) */
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h
index 3e043c84fc8..f617490bef2 100644
--- a/src/s/ms-w32.h
+++ b/src/s/ms-w32.h
@@ -22,16 +22,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22 * Define all the symbols that apply correctly. 22 * Define all the symbols that apply correctly.
23 */ 23 */
24 24
25/* #define UNIPLUS */
26/* #define USG5 */
27/* #define USG */
28/* #define HPUX */
29/* #define UMAX */
30/* #define BSD4_1 */
31/* #define BSD4_2 */
32/* #define BSD4_3 */
33/* #define BSD_SYSTEM */
34/* #define VMS */
35#ifndef WINDOWSNT 25#ifndef WINDOWSNT
36#define WINDOWSNT 26#define WINDOWSNT
37#endif 27#endif
diff --git a/src/s/msdos.h b/src/s/msdos.h
index 2f5280f1749..ea940e5383c 100644
--- a/src/s/msdos.h
+++ b/src/s/msdos.h
@@ -26,16 +26,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
26 * Define all the symbols that apply correctly. 26 * Define all the symbols that apply correctly.
27 */ 27 */
28 28
29/* #define UNIPLUS */
30/* #define USG5 */
31/* #define USG */
32/* #define HPUX */
33/* #define UMAX */
34/* #define BSD4_1 */
35/* #define BSD4_2 */
36/* #define BSD4_3 */
37/* #define BSD_SYSTEM */
38/* #define VMS */
39#ifndef MSDOS 29#ifndef MSDOS
40#define MSDOS 30#define MSDOS
41#endif 31#endif
diff --git a/src/s/netbsd.h b/src/s/netbsd.h
index a61a4e74366..0e9b0a8443d 100644
--- a/src/s/netbsd.h
+++ b/src/s/netbsd.h
@@ -19,8 +19,8 @@ You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21 21
22/* Get most of the stuff from bsd4.3 */ 22/* Get most of the stuff from bsd-common */
23#include "bsd4-3.h" 23#include "bsd-common.h"
24 24
25#if defined (__alpha__) && !defined (__ELF__) 25#if defined (__alpha__) && !defined (__ELF__)
26#define NO_SHARED_LIBS 26#define NO_SHARED_LIBS
diff --git a/src/s/nextstep.h b/src/s/nextstep.h
deleted file mode 100644
index 03b5d86cbb0..00000000000
--- a/src/s/nextstep.h
+++ /dev/null
@@ -1,114 +0,0 @@
1/* Configuration file for the NeXTstep system.
2 Copyright (C) 1990, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20#include "bsd4-3.h"
21
22/* SYSTEM_TYPE should indicate the kind of system you are using.
23 It sets the Lisp variable system-type. We'll need to undo the bsd one. */
24
25#undef SYSTEM_TYPE
26#define SYSTEM_TYPE "next-mach"
27
28#ifndef NeXT
29#define NeXT
30#endif
31
32
33/* Data type of load average, as read out of kmem. */
34
35#define LOAD_AVE_TYPE long
36
37/* Convert that into an integer that is 100 for a load average of 1.0 */
38
39#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
40
41/* Defining KERNEL_FILE causes lossage because sys/file.h
42 stupidly gets confused by it. */
43#undef KERNEL_FILE
44
45#define SYSTEM_MALLOC
46
47#define environ _environ
48
49/* This should be true for recent NeXT systems. At least since 3.2. */
50#define HAVE_MACH_MACH_H
51
52#if 0 /* I think these are never used--let's see. -- rms. */
53/* Mask for address bits within a memory segment */
54
55#define SEGSIZ 0x20000
56#define SEGMENT_MASK (SEGSIZ - 1)
57
58#define HAVE_UNIX_DOMAIN
59
60/* Conflicts in process.c between ioctl.h & tty.h use of t_foo fields */
61
62#define NO_T_CHARS_DEFINES
63
64/* This avoids a problem in Xos.h when using co-Xist 3.01. */
65#define X_NOT_POSIX
66#endif /* 0 */
67
68/* Definitions for how to link. */
69
70/* Link this program just by running cc. */
71#define ORDINARY_LINK
72
73#define LD_SWITCH_SYSTEM -X
74
75/* Don't use -lc on the NeXT. */
76#ifdef NS_TARGET /* We use the dynamic libraries under Openstep for Mach 4.0 */
77#define LIB_STANDARD
78#else
79#define LIB_STANDARD -lsys_s
80#endif
81
82#define LIB_MATH -lm
83
84#define START_FILES pre-crt0.o
85
86#define LIB_X11_LIB -L/usr/lib/X11 -lX11
87
88/* We don't have a g library either, so override the -lg LIBS_DEBUG switch */
89
90#define LIBS_DEBUG
91
92/* We don't have a libgcc.a, so we can't let LIB_GCC default to -lgcc */
93
94#define LIB_GCC
95
96/* Definitions for how to dump. */
97
98#define UNEXEC unexnext.o
99
100/* start_of_text isn't actually used, so make it compile without error. */
101#define TEXT_START 0
102/* This seems to be right for end_of_text, but it may not be used anyway. */
103#define TEXT_END get_etext ()
104/* This seems to be right for end_of_data, but it may not be used anyway. */
105#define DATA_END get_edata ()
106
107/* Don't include string.h--it causes trouble. */
108#undef HAVE_STRING_H
109
110/* Tell emacs.c not to define abort. */
111#define NO_ABORT
112
113/* arch-tag: 5cd6fed4-a0be-4402-9349-85a80bc01d57
114 (do not change this comment) */
diff --git a/src/s/template.h b/src/s/template.h
index 9745d8b6d66..b79e3370b75 100644
--- a/src/s/template.h
+++ b/src/s/template.h
@@ -25,12 +25,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
25 * Define all the symbols that apply correctly. 25 * Define all the symbols that apply correctly.
26 */ 26 */
27 27
28/* #define UNIPLUS */
29/* #define USG5 */ 28/* #define USG5 */
30/* #define USG */ 29/* #define USG */
31/* #define HPUX */ 30/* #define HPUX */
32/* #define UMAX */
33/* #define BSD4_1 */
34/* #define BSD4_2 */ 31/* #define BSD4_2 */
35/* #define BSD4_3 */ 32/* #define BSD4_3 */
36/* #define BSD_SYSTEM */ 33/* #define BSD_SYSTEM */
diff --git a/src/s/ultrix4-3.h b/src/s/ultrix4-3.h
deleted file mode 100644
index 2b4f379d3d1..00000000000
--- a/src/s/ultrix4-3.h
+++ /dev/null
@@ -1,16 +0,0 @@
1#include "bsd4-3.h"
2
3#define NEED_UNISTD_H
4#define HAVE_TERMIOS
5#define PREFER_VSUSP
6
7/* Must set the line discipline to this, to make termio work. */
8#define SET_LINE_DISCIPLINE TERMIODISC
9
10#ifndef NOT_C_CODE
11/* The address of this is used, but Ultrix header files don't declare it. */
12extern double rint ();
13#endif
14
15/* arch-tag: 927a396a-d50f-494b-960b-533671184ce1
16 (do not change this comment) */
diff --git a/src/s/usg5-0.h b/src/s/usg5-0.h
deleted file mode 100644
index 941c48dc5df..00000000000
--- a/src/s/usg5-0.h
+++ /dev/null
@@ -1,149 +0,0 @@
1/* Definitions file for GNU Emacs running on AT&T's System V.0
2 Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
3 2007, 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21/*
22 * Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly.
24 */
25
26#define USG /* System III, System V, etc */
27
28#define USG5
29#define USG5_0
30
31/* SYSTEM_TYPE should indicate the kind of system you are using.
32 It sets the Lisp variable system-type. */
33
34#define SYSTEM_TYPE "usg-unix-v"
35
36/* nomultiplejobs should be defined if your system's shell
37 does not have "job control" (the ability to stop a program,
38 run some other program, then continue the first one). */
39
40#define NOMULTIPLEJOBS
41
42/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
43
44/* #define INTERRUPT_INPUT */
45
46/* Letter to use in finding device name of first pty,
47 if system supports pty's. 'p' means it is /dev/ptyp0 */
48
49#define FIRST_PTY_LETTER 'p'
50
51/*
52 * Define HAVE_TERMIO if the system provides sysV-style ioctls
53 * for terminal control.
54 */
55
56#define HAVE_TERMIO
57
58/*
59 * Define HAVE_PTYS if the system supports pty devices.
60 */
61
62/* #define HAVE_PTYS */
63
64/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
65
66/* #define HAVE_SOCKETS */
67
68/*
69 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
70 * The 4.2 opendir, etc., library functions.
71 */
72
73#define NONSYSTEM_DIR_LIBRARY
74
75/* Define this symbol if your system has the functions bcopy, etc. */
76
77/* #define BSTRING */
78
79/* subprocesses should be defined if you want to
80 have code for asynchronous subprocesses
81 (as used in M-x compile and M-x shell).
82 This is supposed to work now on system V release 2. */
83
84#define subprocesses
85
86/* If your system uses COFF (Common Object File Format) then define the
87 preprocessor symbol "COFF". */
88
89#define COFF
90
91/* define MAIL_USE_FLOCK if the mailer uses flock
92 to interlock access to /usr/spool/mail/$USER.
93 The alternative is that a lock file named
94 /usr/spool/mail/$USER.lock. */
95
96/* #define MAIL_USE_FLOCK */
97
98/* Define CLASH_DETECTION if you want lock files to be written
99 so that Emacs can tell instantly when you try to modify
100 a file that someone else has modified in his Emacs. */
101
102/* #define CLASH_DETECTION */
103
104/* The file containing the kernel's symbol table is called /unix. */
105
106#define KERNEL_FILE "/unix"
107
108/* The symbol in the kernel where the load average is found
109 is named avenrun. */
110
111#define LDAV_SYMBOL "avenrun"
112
113/* Special hacks needed to make Emacs run on this system. */
114
115/*
116 * Make the sigsetmask function go away. Don't know what the
117 * ramifications of this are, but doesn't seem possible to
118 * emulate it properly anyway at this point.
119 */
120
121#define sigsetmask(mask) /* Null expansion */
122
123/* setjmp and longjmp can safely replace _setjmp and _longjmp,
124 but they will run slower. */
125
126#define _setjmp setjmp
127#define _longjmp longjmp
128
129/* On USG systems these have different names */
130
131#define index strchr
132#define rindex strrchr
133
134/* USG systems tend to put everything declared static
135 into the initialized data area, which becomes pure after dumping Emacs.
136 Foil this. Emacs carefully avoids static vars inside functions. */
137
138#define static
139
140/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
141
142#define ADDR_CORRECT(x) (x)
143
144/* Prevent -lg from being used for debugging. Not implemented? */
145
146#define LIBS_DEBUG
147
148/* arch-tag: a18bdba9-506d-40ed-9877-49fc27ce8cac
149 (do not change this comment) */
diff --git a/src/s/usg5-2-2.h b/src/s/usg5-2-2.h
deleted file mode 100644
index ae57e0f9eb3..00000000000
--- a/src/s/usg5-2-2.h
+++ /dev/null
@@ -1,152 +0,0 @@
1/* Definitions file for GNU Emacs running on AT&T's System V Release 2.2
2 Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
3 2007, 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21/*
22 * Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly.
24 */
25
26#define USG /* System III, System V, etc */
27
28#define USG5
29
30/* SYSTEM_TYPE should indicate the kind of system you are using.
31 It sets the Lisp variable system-type. */
32
33#define SYSTEM_TYPE "usg-unix-v"
34
35/* nomultiplejobs should be defined if your system's shell
36 does not have "job control" (the ability to stop a program,
37 run some other program, then continue the first one). */
38
39#define NOMULTIPLEJOBS
40
41/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
42
43/* #define INTERRUPT_INPUT */
44
45/* Letter to use in finding device name of first pty,
46 if system supports pty's. 'p' means it is /dev/ptyp0 */
47
48#define FIRST_PTY_LETTER 'p'
49
50/*
51 * Define HAVE_TERMIO if the system provides sysV-style ioctls
52 * for terminal control.
53 */
54
55#define HAVE_TERMIO
56
57/*
58 * Define HAVE_PTYS if the system supports pty devices.
59 */
60
61/* #define HAVE_PTYS */
62
63/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
64
65/* #define HAVE_SOCKETS */
66
67/*
68 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
69 * The 4.2 opendir, etc., library functions.
70 */
71
72#define NONSYSTEM_DIR_LIBRARY
73
74/* Define this symbol if your system has the functions bcopy, etc. */
75
76/* #define BSTRING */
77
78/* subprocesses should be defined if you want to
79 have code for asynchronous subprocesses
80 (as used in M-x compile and M-x shell).
81 This is supposed to work now on system V release 2. */
82
83#define subprocesses
84
85/* If your system uses COFF (Common Object File Format) then define the
86 preprocessor symbol "COFF". */
87
88#define COFF
89
90/* define MAIL_USE_FLOCK if the mailer uses flock
91 to interlock access to /usr/spool/mail/$USER.
92 The alternative is that a lock file named
93 /usr/spool/mail/$USER.lock. */
94
95/* #define MAIL_USE_FLOCK */
96
97/* Define CLASH_DETECTION if you want lock files to be written
98 so that Emacs can tell instantly when you try to modify
99 a file that someone else has modified in his Emacs. */
100
101/* #define CLASH_DETECTION */
102
103/* The file containing the kernel's symbol table is called /unix. */
104
105#define KERNEL_FILE "/unix"
106
107/* The symbol in the kernel where the load average is found
108 is named avenrun. */
109
110#define LDAV_SYMBOL "avenrun"
111
112/* Special hacks needed to make Emacs run on this system. */
113
114/*
115 * Make the sigsetmask function go away. Don't know what the
116 * ramifications of this are, but doesn't seem possible to
117 * emulate it properly anyway at this point.
118 */
119
120#define sigsetmask(mask) /* Null expansion */
121
122/* setjmp and longjmp can safely replace _setjmp and _longjmp,
123 but they will run slower. */
124
125#define _setjmp setjmp
126#define _longjmp longjmp
127
128/* On USG systems these have different names */
129
130#define index strchr
131#define rindex strrchr
132
133/* USG systems tend to put everything declared static
134 into the initialized data area, which becomes pure after dumping Emacs.
135 Foil this. Emacs carefully avoids static vars inside functions. */
136
137#define static
138
139/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
140
141#define ADDR_CORRECT(x) (x)
142
143/* Prevent -lg from being used for debugging. Not implemented? */
144
145#define LIBS_DEBUG
146
147/* Use terminfo instead of termcap. */
148
149#define TERMINFO
150
151/* arch-tag: 56923f22-9e2b-4814-b922-88c87657ff6b
152 (do not change this comment) */
diff --git a/src/s/usg5-2.h b/src/s/usg5-2.h
deleted file mode 100644
index fe1a873d78a..00000000000
--- a/src/s/usg5-2.h
+++ /dev/null
@@ -1,152 +0,0 @@
1/* Definitions file for GNU Emacs running on AT&T's System V Release 2.0
2 Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
3 2007, 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21/*
22 * Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly.
24 */
25
26#define USG /* System III, System V, etc */
27
28#define USG5
29
30/* SYSTEM_TYPE should indicate the kind of system you are using.
31 It sets the Lisp variable system-type. */
32
33#define SYSTEM_TYPE "usg-unix-v"
34
35/* nomultiplejobs should be defined if your system's shell
36 does not have "job control" (the ability to stop a program,
37 run some other program, then continue the first one). */
38
39#define NOMULTIPLEJOBS
40
41/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
42
43/* #define INTERRUPT_INPUT */
44
45/* Letter to use in finding device name of first pty,
46 if system supports pty's. 'p' means it is /dev/ptyp0 */
47
48#define FIRST_PTY_LETTER 'p'
49
50/*
51 * Define HAVE_TERMIO if the system provides sysV-style ioctls
52 * for terminal control.
53 */
54
55#define HAVE_TERMIO
56
57/*
58 * Define HAVE_PTYS if the system supports pty devices.
59 */
60
61/* #define HAVE_PTYS */
62
63/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
64
65/* #define HAVE_SOCKETS */
66
67/*
68 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
69 * The 4.2 opendir, etc., library functions.
70 */
71
72#define NONSYSTEM_DIR_LIBRARY
73
74/* Define this symbol if your system has the functions bcopy, etc. */
75
76/* #define BSTRING */
77
78/* subprocesses should be defined if you want to
79 have code for asynchronous subprocesses
80 (as used in M-x compile and M-x shell).
81 This is supposed to work now on system V release 2. */
82
83#define subprocesses
84
85/* If your system uses COFF (Common Object File Format) then define the
86 preprocessor symbol "COFF". */
87
88#define COFF
89
90/* define MAIL_USE_FLOCK if the mailer uses flock
91 to interlock access to /usr/spool/mail/$USER.
92 The alternative is that a lock file named
93 /usr/spool/mail/$USER.lock. */
94
95/* #define MAIL_USE_FLOCK */
96
97/* Define CLASH_DETECTION if you want lock files to be written
98 so that Emacs can tell instantly when you try to modify
99 a file that someone else has modified in his Emacs. */
100
101/* #define CLASH_DETECTION */
102
103/* The file containing the kernel's symbol table is called /unix. */
104
105#define KERNEL_FILE "/unix"
106
107/* The symbol in the kernel where the load average is found
108 is named avenrun. */
109
110#define LDAV_SYMBOL "avenrun"
111
112/* Special hacks needed to make Emacs run on this system. */
113
114/*
115 * Make the sigsetmask function go away. Don't know what the
116 * ramifications of this are, but doesn't seem possible to
117 * emulate it properly anyway at this point.
118 */
119
120#define sigsetmask(mask) /* Null expansion */
121
122/* setjmp and longjmp can safely replace _setjmp and _longjmp,
123 but they will run slower. */
124
125#define _setjmp setjmp
126#define _longjmp longjmp
127
128/* On USG systems these have different names */
129
130#define index strchr
131#define rindex strrchr
132
133/* USG systems tend to put everything declared static
134 into the initialized data area, which becomes pure after dumping Emacs.
135 Foil this. Emacs carefully avoids static vars inside functions. */
136
137#define static
138
139/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
140
141#define ADDR_CORRECT(x) (x)
142
143/* Prevent -lg from being used for debugging. Not implemented? */
144
145#define LIBS_DEBUG
146
147/* Use terminfo instead of termcap. */
148
149#define TERMINFO
150
151/* arch-tag: cfd9500f-0284-4a88-8f07-3f56b42db13b
152 (do not change this comment) */
diff --git a/src/s/usg5-3.h b/src/s/usg5-3.h
deleted file mode 100644
index 3a03f421fda..00000000000
--- a/src/s/usg5-3.h
+++ /dev/null
@@ -1,202 +0,0 @@
1/* Definitions file for GNU Emacs running on AT&T's System V Release 3
2 Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
3 2007, 2008 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21/*
22 * Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly.
24 */
25
26#define USG /* System III, System V, etc */
27
28#define USG5
29
30#define USG5_3
31
32/* SYSTEM_TYPE should indicate the kind of system you are using.
33 It sets the Lisp variable system-type. */
34
35#define SYSTEM_TYPE "usg-unix-v"
36
37/* nomultiplejobs should be defined if your system's shell
38 does not have "job control" (the ability to stop a program,
39 run some other program, then continue the first one). */
40
41#define NOMULTIPLEJOBS
42
43/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
44
45/* #define INTERRUPT_INPUT */
46
47/* Letter to use in finding device name of first pty,
48 if system supports pty's. 'p' means it is /dev/ptyp0 */
49
50#define FIRST_PTY_LETTER 'p'
51
52/*
53 * Define HAVE_TERMIO if the system provides sysV-style ioctls
54 * for terminal control.
55 */
56
57#define HAVE_TERMIO
58
59/*
60 * Define HAVE_PTYS if the system supports pty devices.
61 */
62
63/* Some versions of V.3 have this, but not all.
64 #define HAVE_PTYS
65 #define SYSV_PTYS */
66
67/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
68
69/* #define HAVE_SOCKETS */
70
71/*
72 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
73 * The 4.2 opendir, etc., library functions.
74 */
75
76/* #define NONSYSTEM_DIR_LIBRARY */
77
78/*
79 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
80 * library functions. Almost, but not quite the same as
81 * the 4.2 functions
82 */
83#define SYSV_SYSTEM_DIR
84
85/* Define this symbol if your system has the functions bcopy, etc. */
86
87/* #define BSTRING */
88
89/* subprocesses should be defined if you want to
90 have code for asynchronous subprocesses
91 (as used in M-x compile and M-x shell).
92 This is supposed to work now on system V release 2. */
93
94#define subprocesses
95
96/* If your system uses COFF (Common Object File Format) then define the
97 preprocessor symbol "COFF". */
98
99#define COFF
100
101/* define MAIL_USE_FLOCK if the mailer uses flock
102 to interlock access to /usr/spool/mail/$USER.
103 The alternative is that a lock file named
104 /usr/spool/mail/$USER.lock. */
105
106/* #define MAIL_USE_FLOCK */
107
108/* Define CLASH_DETECTION if you want lock files to be written
109 so that Emacs can tell instantly when you try to modify
110 a file that someone else has modified in his Emacs. */
111
112/* #define CLASH_DETECTION */
113
114/* The file containing the kernel's symbol table is called /unix. */
115
116#define KERNEL_FILE "/unix"
117
118/* The symbol in the kernel where the load average is found
119 is named avenrun. */
120
121#define LDAV_SYMBOL "avenrun"
122
123/* Define this if system V IPC is available. */
124
125#define HAVE_SYSVIPC
126
127/* Special hacks needed to make Emacs run on this system. */
128
129/*
130 * Make the sigsetmask function go away. Don't know what the
131 * ramifications of this are, but doesn't seem possible to
132 * emulate it properly anyway at this point.
133 */
134
135#define sigsetmask(mask) /* Null expansion */
136
137/* setjmp and longjmp can safely replace _setjmp and _longjmp,
138 but they will run slower. */
139
140#define _setjmp setjmp
141#define _longjmp longjmp
142
143/* On USG systems these have different names */
144#ifndef HAVE_INDEX
145#define index strchr
146#endif /* ! defined (HAVE_INDEX) */
147#ifndef HAVE_RINDEX
148#define rindex strrchr
149#endif /* ! defined (HAVE_RINDEX) */
150
151/* USG systems tend to put everything declared static
152 into the initialized data area, which becomes pure after dumping Emacs.
153 Foil this. Emacs carefully avoids static vars inside functions. */
154
155#define static
156
157/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
158
159#define ADDR_CORRECT(x) (x)
160
161/* Use terminfo instead of termcap. */
162
163#define TERMINFO
164
165/* Some variants have TIOCGETC, but the structures to go with it
166 are not declared. */
167
168#define BROKEN_TIOCGETC
169
170/* AT&T SVr3 X wants to be linked with shared libraries */
171
172#define LIB_X11_LIB -lX11_s
173
174/* X needs to talk on the network, so search the network library. */
175
176#define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lc_s
177
178/* The docs for system V/386 suggest v.3 has sigpause,
179 so let's give it a try. */
180#define HAVE_SYSV_SIGPAUSE
181
182/* Some variants have TIOCGWINSZ, but the structures to go with it
183 are not declared. */
184
185#define BROKEN_TIOCGWINSZ
186
187/* If we're using the System V X port, BSD bstring functions will be handy */
188
189#ifdef HAVE_X_WINDOWS
190#define BSTRING
191#endif /* HAVE_X_WINDOWS */
192
193/* Enable support for shared libraries in unexec. */
194
195#define USG_SHARED_LIBRARIES
196
197/* On USG systems signal handlers return void */
198
199#define SIGTYPE void
200
201/* arch-tag: 2bca65fd-f015-44b9-a2aa-9f8170ce89ca
202 (do not change this comment) */
diff --git a/src/s/usg5-4-3.h b/src/s/usg5-4-3.h
deleted file mode 100644
index 8d05e8b3fa6..00000000000
--- a/src/s/usg5-4-3.h
+++ /dev/null
@@ -1,11 +0,0 @@
1/* s/ file for System V release 4.3. */
2
3#include "usg5-4-2.h"
4
5/* Bill_Mann@PraxisInt.com: without this switch emacs generates this error
6 on start up for an i486-ncr-sysv4.3 (running the X toolkit):
7 _XipOpenIM() Unable to find Atom _XIM_INPUTMETHOD */
8#define X11R5_INHIBIT_I18N
9
10/* arch-tag: 03ac8b3a-c3d4-4441-a773-1c1d9f111f1a
11 (do not change this comment) */
diff --git a/src/s/usg5-4.h b/src/s/usg5-4.h
index 2fa70435549..79cc10ac031 100644
--- a/src/s/usg5-4.h
+++ b/src/s/usg5-4.h
@@ -24,34 +24,155 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24 24
25/* Use the SysVr3 file for at least base configuration. */ 25/* Use the SysVr3 file for at least base configuration. */
26 26
27#include "usg5-3.h" 27#define USG /* System III, System V, etc */
28 28
29#define USG5
29#define USG5_4 30#define USG5_4
30 31
31/* We do have multiple jobs. Handle ^Z. */ 32/* SYSTEM_TYPE should indicate the kind of system you are using.
33 It sets the Lisp variable system-type. */
32 34
33#undef NOMULTIPLEJOBS 35#define SYSTEM_TYPE "usg-unix-v"
34 36
35/* Motif needs -lgen. */ 37/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
36#define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen
37#define ORDINARY_LINK
38 38
39#if 0 39/* #define INTERRUPT_INPUT */
40#ifdef ORDINARY_LINK 40
41#define LIB_STANDARD -lc /usr/ucblib/libucb.a 41/*
42#else 42 * Define HAVE_TERMIO if the system provides sysV-style ioctls
43#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o 43 * for terminal control.
44#define LIB_STANDARD -lc /usr/ucblib/libucb.a /usr/ccs/lib/crtn.o 44 */
45#endif 45
46#else 46#define HAVE_TERMIO
47
48/*
49 * Define HAVE_PTYS if the system supports pty devices.
50 */
51
52/* Some versions of V.3 have this, but not all.
53 #define HAVE_PTYS
54 #define SYSV_PTYS */
55
56/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
57
58/* #define HAVE_SOCKETS */
59
60/*
61 * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
62 * The 4.2 opendir, etc., library functions.
63 */
64
65/* #define NONSYSTEM_DIR_LIBRARY */
66
67/*
68 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
69 * library functions. Almost, but not quite the same as
70 * the 4.2 functions
71 */
72#define SYSV_SYSTEM_DIR
73
74/* Define this symbol if your system has the functions bcopy, etc. */
75
76/* #define BSTRING */
77
78/* subprocesses should be defined if you want to
79 have code for asynchronous subprocesses
80 (as used in M-x compile and M-x shell).
81 This is supposed to work now on system V release 2. */
82
83#define subprocesses
84
85/* If your system uses COFF (Common Object File Format) then define the
86 preprocessor symbol "COFF". */
87
88#define COFF
89
90/* define MAIL_USE_FLOCK if the mailer uses flock
91 to interlock access to /usr/spool/mail/$USER.
92 The alternative is that a lock file named
93 /usr/spool/mail/$USER.lock. */
94
95/* #define MAIL_USE_FLOCK */
96
97/* Define CLASH_DETECTION if you want lock files to be written
98 so that Emacs can tell instantly when you try to modify
99 a file that someone else has modified in his Emacs. */
100
101/* #define CLASH_DETECTION */
102
103/* The file containing the kernel's symbol table is called /unix. */
104
105#define KERNEL_FILE "/unix"
106
107/* The symbol in the kernel where the load average is found
108 is named avenrun. */
109
110#define LDAV_SYMBOL "avenrun"
111
112/* Define this if system V IPC is available. */
113
114#define HAVE_SYSVIPC
115
116/* Special hacks needed to make Emacs run on this system. */
117
118/*
119 * Make the sigsetmask function go away. Don't know what the
120 * ramifications of this are, but doesn't seem possible to
121 * emulate it properly anyway at this point.
122 */
123
124#define sigsetmask(mask) /* Null expansion */
125
126/* setjmp and longjmp can safely replace _setjmp and _longjmp,
127 but they will run slower. */
128
129#define _setjmp setjmp
130#define _longjmp longjmp
131
132/* On USG systems these have different names */
133#ifndef HAVE_INDEX
134#define index strchr
135#endif /* ! defined (HAVE_INDEX) */
136#ifndef HAVE_RINDEX
137#define rindex strrchr
138#endif /* ! defined (HAVE_RINDEX) */
139
140/* USG systems tend to put everything declared static
141 into the initialized data area, which becomes pure after dumping Emacs.
142 Foil this. Emacs carefully avoids static vars inside functions. */
143
144#define static
145
146/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
147
148#define ADDR_CORRECT(x) (x)
149
150/* Use terminfo instead of termcap. */
151
152#define TERMINFO
153
154
155/* The docs for system V/386 suggest v.3 has sigpause,
156 so let's give it a try. */
157#define HAVE_SYSV_SIGPAUSE
158
159
160/* If we're using the System V X port, BSD bstring functions will be handy */
161
162#ifdef HAVE_X_WINDOWS
163#define BSTRING
164#endif /* HAVE_X_WINDOWS */
165
166/* Enable support for shared libraries in unexec. */
167
168#define USG_SHARED_LIBRARIES
169
170/* On USG systems signal handlers return void */
171
172#define SIGTYPE void
47 173
48#ifdef ORDINARY_LINK
49#define LIB_STANDARD
50#else
51#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o 174#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o
52#define LIB_STANDARD -lc /usr/ccs/lib/crtn.o 175#define LIB_STANDARD -lc /usr/ccs/lib/crtn.o
53#endif
54#endif
55 176
56/* there are no -lg libraries on this system, and no libPW */ 177/* there are no -lg libraries on this system, and no libPW */
57 178
@@ -109,8 +230,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
109 230
110#define HAVE_PTYS 231#define HAVE_PTYS
111#define HAVE_TERMIOS 232#define HAVE_TERMIOS
112#undef BROKEN_TIOCGWINSZ
113#undef BROKEN_TIOCGETC
114 233
115/* It is possible to receive SIGCHLD when there are no children 234/* It is possible to receive SIGCHLD when there are no children
116 waiting, because a previous waitsys(2) cleaned up the carcass of child 235 waiting, because a previous waitsys(2) cleaned up the carcass of child
@@ -132,7 +251,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
132/* This change means that we don't loop through allocate_pty too many 251/* This change means that we don't loop through allocate_pty too many
133 times in the (rare) event of a failure. */ 252 times in the (rare) event of a failure. */
134 253
135#undef FIRST_PTY_LETTER
136#define FIRST_PTY_LETTER 'z' 254#define FIRST_PTY_LETTER 'z'
137 255
138/* This sets the name of the master side of the PTY. */ 256/* This sets the name of the master side of the PTY. */
@@ -170,16 +288,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
170 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \ 288 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
171 fatal ("ioctl I_PUSH ttcompat", errno); 289 fatal ("ioctl I_PUSH ttcompat", errno);
172 290
173/* Undo the SVr3 X11 library definition */
174#undef LIB_X11_LIB
175
176/* The definition of this in s-usg5-3.h is not needed in 5.4. */
177/* liblnsl_s should never be used. The _s suffix implies a shared
178 library, as opposed to a DLL. Share libraries were used in SVR3, and are
179 available only in order to allow SVR3 binaries to run. They should not be
180 linked in to new binaries. -- caraway!pinkas@caraway.intel.com. */
181#undef LIBX11_SYSTEM
182
183/* Tell x11term.c and keyboard.c we have the system V streams feature. */ 291/* Tell x11term.c and keyboard.c we have the system V streams feature. */
184#define SYSV_STREAMS 292#define SYSV_STREAMS
185 293
@@ -189,7 +297,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
189 297
190/* Markus Weiand <weiand@khof.com> says this is needed for Motif on 298/* Markus Weiand <weiand@khof.com> says this is needed for Motif on
191 SINIX. */ 299 SINIX. */
192#undef LIBS_SYSTEM
193#define LIBS_SYSTEM -lgen 300#define LIBS_SYSTEM -lgen
194 301
195/* arch-tag: 1a0ed909-5faa-434b-b7c3-9d86c63d53a6 302/* arch-tag: 1a0ed909-5faa-434b-b7c3-9d86c63d53a6
diff --git a/src/s/ux4800.h b/src/s/ux4800.h
deleted file mode 100644
index 1c8729f416b..00000000000
--- a/src/s/ux4800.h
+++ /dev/null
@@ -1,20 +0,0 @@
1/* Definitions file for GNU Emacs running on NEC's UX/4800 (SVR4.2MP) */
2#include "usg5-4-2.h"
3#undef LIB_MOTIF
4#ifndef nec_ews
5#define nec_ews
6#endif
7#ifndef nec_ews_svr4
8#define nec_ews_svr4
9#endif
10#define XOS_NEEDS_TIME_H
11#define HAVE_CLOCK
12#ifdef __STDC__
13#define MKDIR_PROTOTYPE int mkdir(char *dpath, mode_t dmode)
14#endif
15#ifndef __GNUC__
16#define C_DEBUG_SWITCH -O -KOlimit=3000 -ZXNd=5000
17#endif
18
19/* arch-tag: e42eeb13-028a-490b-8427-0b57010f2ab9
20 (do not change this comment) */
diff --git a/src/s/uxpds.h b/src/s/uxpds.h
deleted file mode 100644
index c3ddf1039c1..00000000000
--- a/src/s/uxpds.h
+++ /dev/null
@@ -1,11 +0,0 @@
1/* Handle uxpds */
2
3#include "usg5-4-2.h"
4
5/* This triggers a conditional in xfaces.c. */
6#define XOS_NEEDS_TIME_H
7
8#define FSCALE 256
9
10/* arch-tag: c02db2a6-c725-4a6b-adee-66e0303df2a8
11 (do not change this comment) */
diff --git a/src/s/uxpv.h b/src/s/uxpv.h
deleted file mode 100644
index 95715455984..00000000000
--- a/src/s/uxpv.h
+++ /dev/null
@@ -1,14 +0,0 @@
1/* System description file for Fujitsu UXP/V
2 This file describes the parameters that system description files
3 should define or not. */
4
5#include "usg5-4-2.h"
6
7/* SYSTEM_TYPE should indicate the kind of system you are using.
8 It sets the Lisp variable system-type. */
9
10#undef SYSTEM_TYPE
11#define SYSTEM_TYPE "uxpv"
12
13/* arch-tag: 3f00cfe7-f44c-45ce-a2fe-2b17fc411a1e
14 (do not change this comment) */
diff --git a/src/sysdep.c b/src/sysdep.c
index bac8a638182..c2a7d1a0815 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -206,10 +206,6 @@ struct utimbuf {
206#define LPASS8 0 206#define LPASS8 0
207#endif 207#endif
208 208
209#ifdef BSD4_1
210#define LNOFLSH 0100000
211#endif
212
213static int baud_convert[] = 209static int baud_convert[] =
214#ifdef BAUD_CONVERT 210#ifdef BAUD_CONVERT
215 BAUD_CONVERT; 211 BAUD_CONVERT;
@@ -235,11 +231,6 @@ int emacs_ospeed;
235 231
236void croak P_ ((char *)) NO_RETURN; 232void croak P_ ((char *)) NO_RETURN;
237 233
238#ifdef AIXHFT
239void hft_init P_ ((struct tty_display_info *));
240void hft_reset P_ ((struct tty_display_info *));
241#endif
242
243/* Temporary used by `sigblock' when defined in terms of signprocmask. */ 234/* Temporary used by `sigblock' when defined in terms of signprocmask. */
244 235
245SIGMASKTYPE sigprocmask_set; 236SIGMASKTYPE sigprocmask_set;
@@ -483,7 +474,7 @@ wait_for_termination (pid)
483 status = SYS$FORCEX (&pid, 0, 0); 474 status = SYS$FORCEX (&pid, 0, 0);
484 break; 475 break;
485#else /* not VMS */ 476#else /* not VMS */
486#if defined (BSD_SYSTEM) || (defined (HPUX) && !defined (HPUX_5)) 477#if defined (BSD_SYSTEM) || defined (HPUX)
487 /* Note that kill returns -1 even if the process is just a zombie now. 478 /* Note that kill returns -1 even if the process is just a zombie now.
488 But inevitably a SIGCHLD interrupt should be generated 479 But inevitably a SIGCHLD interrupt should be generated
489 and child_sig will do wait3 and make the process go away. */ 480 and child_sig will do wait3 and make the process go away. */
@@ -542,16 +533,9 @@ wait_for_termination (pid)
542#if __DJGPP__ > 1 533#if __DJGPP__ > 1
543 break; 534 break;
544#else /* not __DJGPP__ > 1 */ 535#else /* not __DJGPP__ > 1 */
545#ifndef BSD4_1
546 if (kill (pid, 0) < 0) 536 if (kill (pid, 0) < 0)
547 break; 537 break;
548 wait (0); 538 wait (0);
549#else /* BSD4_1 */
550 int status;
551 status = wait (0);
552 if (status == pid || status == -1)
553 break;
554#endif /* BSD4_1 */
555#endif /* not __DJGPP__ > 1*/ 539#endif /* not __DJGPP__ > 1*/
556#endif /* not subprocesses */ 540#endif /* not subprocesses */
557 } 541 }
@@ -695,10 +679,6 @@ child_setup_tty (out)
695 679
696 EMACS_SET_TTY (out, &s, 0); 680 EMACS_SET_TTY (out, &s, 0);
697 681
698#ifdef BSD4_1
699 if (interrupt_input)
700 reset_sigio (0);
701#endif /* BSD4_1 */
702#endif /* not DOS_NT */ 682#endif /* not DOS_NT */
703} 683}
704#endif /* not VMS */ 684#endif /* not VMS */
@@ -1267,12 +1247,6 @@ emacs_set_tty (fd, settings, flushp)
1267 1247
1268 1248
1269 1249
1270#ifdef BSD4_1
1271/* BSD 4.1 needs to keep track of the lmode bits in order to start
1272 sigio. */
1273int lmode;
1274#endif
1275
1276#ifdef F_SETOWN 1250#ifdef F_SETOWN
1277int old_fcntl_owner[MAXDESC]; 1251int old_fcntl_owner[MAXDESC];
1278#endif /* F_SETOWN */ 1252#endif /* F_SETOWN */
@@ -1281,15 +1255,11 @@ int old_fcntl_owner[MAXDESC];
1281 but if so, this does no harm, 1255 but if so, this does no harm,
1282 and using the same name avoids wasting the other one's space. */ 1256 and using the same name avoids wasting the other one's space. */
1283 1257
1284#ifdef nec_ews_svr4
1285extern char *_sobuf ;
1286#else
1287#if defined (USG) || defined (DGUX) 1258#if defined (USG) || defined (DGUX)
1288unsigned char _sobuf[BUFSIZ+8]; 1259unsigned char _sobuf[BUFSIZ+8];
1289#else 1260#else
1290char _sobuf[BUFSIZ]; 1261char _sobuf[BUFSIZ];
1291#endif 1262#endif
1292#endif
1293 1263
1294#ifdef HAVE_LTCHARS 1264#ifdef HAVE_LTCHARS
1295static struct ltchars new_ltchars = {-1,-1,-1,-1,-1,-1}; 1265static struct ltchars new_ltchars = {-1,-1,-1,-1,-1,-1};
@@ -1495,11 +1465,6 @@ init_sys_modes (tty_out)
1495 } 1465 }
1496#endif /* mips or HAVE_TCATTR */ 1466#endif /* mips or HAVE_TCATTR */
1497 1467
1498#ifdef SET_LINE_DISCIPLINE
1499 /* Need to explicitly request TERMIODISC line discipline or
1500 Ultrix's termios does not work correctly. */
1501 tty.main.c_line = SET_LINE_DISCIPLINE;
1502#endif
1503#ifdef AIX 1468#ifdef AIX
1504#ifndef IBMR2AIX 1469#ifndef IBMR2AIX
1505 /* AIX enhanced edit loses NULs, so disable it. */ 1470 /* AIX enhanced edit loses NULs, so disable it. */
@@ -1566,16 +1531,7 @@ init_sys_modes (tty_out)
1566 } 1531 }
1567 1532
1568 tty.lmode = LDECCTQ | LLITOUT | LPASS8 | LNOFLSH | tty_out->old_tty.lmode; 1533 tty.lmode = LDECCTQ | LLITOUT | LPASS8 | LNOFLSH | tty_out->old_tty.lmode;
1569#ifdef ultrix
1570 /* Under Ultrix 4.2a, leaving this out doesn't seem to hurt
1571 anything, and leaving it in breaks the meta key. Go figure. */
1572 tty.lmode &= ~LLITOUT;
1573#endif
1574 1534
1575#ifdef BSD4_1
1576 lmode = tty.lmode;
1577#endif
1578
1579#endif /* HAVE_TCHARS */ 1535#endif /* HAVE_TCHARS */
1580#endif /* not HAVE_TERMIO */ 1536#endif /* not HAVE_TERMIO */
1581 1537
@@ -1600,26 +1556,12 @@ init_sys_modes (tty_out)
1600 if (!tty_out->flow_control) ioctl (fileno (tty_out->input), TIOCSTART, 0); 1556 if (!tty_out->flow_control) ioctl (fileno (tty_out->input), TIOCSTART, 0);
1601#endif 1557#endif
1602 1558
1603#if defined (HAVE_TERMIOS) || defined (HPUX9) 1559#if defined (HAVE_TERMIOS) || defined (HPUX)
1604#ifdef TCOON 1560#ifdef TCOON
1605 if (!tty_out->flow_control) tcflow (fileno (tty_out->input), TCOON); 1561 if (!tty_out->flow_control) tcflow (fileno (tty_out->input), TCOON);
1606#endif 1562#endif
1607#endif 1563#endif
1608 1564
1609#ifdef AIXHFT
1610 hft_init (tty_out);
1611#ifdef IBMR2AIX
1612 {
1613 /* IBM's HFT device usually thinks a ^J should be LF/CR. We need it
1614 to be only LF. This is the way that is done. */
1615 struct termio tty;
1616
1617 if (ioctl (1, HFTGETID, &tty) != -1)
1618 write (1, "\033[20l", 5);
1619 }
1620#endif
1621#endif /* AIXHFT */
1622
1623#ifdef VMS 1565#ifdef VMS
1624/* Appears to do nothing when in PASTHRU mode. 1566/* Appears to do nothing when in PASTHRU mode.
1625 SYS$QIOW (0, fileno (tty_out->input), IO$_SETMODE|IO$M_OUTBAND, 0, 0, 0, 1567 SYS$QIOW (0, fileno (tty_out->input), IO$_SETMODE|IO$M_OUTBAND, 0, 0, 0,
@@ -1649,11 +1591,6 @@ init_sys_modes (tty_out)
1649#endif /* F_GETOWN */ 1591#endif /* F_GETOWN */
1650#endif /* F_SETFL */ 1592#endif /* F_SETFL */
1651 1593
1652#ifdef BSD4_1
1653 if (interrupt_input)
1654 init_sigio (fileno (tty_out->input));
1655#endif
1656
1657#ifdef VMS /* VMS sometimes has this symbol but lacks setvbuf. */ 1594#ifdef VMS /* VMS sometimes has this symbol but lacks setvbuf. */
1658#undef _IOFBF 1595#undef _IOFBF
1659#endif 1596#endif
@@ -1868,26 +1805,13 @@ reset_sys_modes (tty_out)
1868 cmgoto (tty_out, FrameRows (tty_out) - 1, 0); 1805 cmgoto (tty_out, FrameRows (tty_out) - 1, 0);
1869 fflush (tty_out->output); 1806 fflush (tty_out->output);
1870 1807
1871#if defined (IBMR2AIX) && defined (AIXHFT)
1872 {
1873 /* HFT devices normally use ^J as a LF/CR. We forced it to
1874 do the LF only. Now, we need to reset it. */
1875 struct termio tty;
1876
1877 if (ioctl (1, HFTGETID, &tty) != -1)
1878 write (1, "\033[20h", 5);
1879 }
1880#endif
1881
1882 if (tty_out->terminal->reset_terminal_modes_hook) 1808 if (tty_out->terminal->reset_terminal_modes_hook)
1883 tty_out->terminal->reset_terminal_modes_hook (tty_out->terminal); 1809 tty_out->terminal->reset_terminal_modes_hook (tty_out->terminal);
1884 1810
1885#ifdef BSD_SYSTEM 1811#ifdef BSD_SYSTEM
1886#ifndef BSD4_1
1887 /* Avoid possible loss of output when changing terminal modes. */ 1812 /* Avoid possible loss of output when changing terminal modes. */
1888 fsync (fileno (tty_out->output)); 1813 fsync (fileno (tty_out->output));
1889#endif 1814#endif
1890#endif
1891 1815
1892#ifdef F_SETFL 1816#ifdef F_SETFL
1893#ifdef F_SETOWN /* F_SETFL does not imply existence of F_SETOWN */ 1817#ifdef F_SETOWN /* F_SETFL does not imply existence of F_SETOWN */
@@ -1903,10 +1827,6 @@ reset_sys_modes (tty_out)
1903 fcntl (fileno (tty_out->input), F_GETFL, 0) & ~O_NDELAY); 1827 fcntl (fileno (tty_out->input), F_GETFL, 0) & ~O_NDELAY);
1904#endif 1828#endif
1905#endif /* F_SETFL */ 1829#endif /* F_SETFL */
1906#ifdef BSD4_1
1907 if (interrupt_input)
1908 reset_sigio (fileno (tty_out->input));
1909#endif /* BSD4_1 */
1910 1830
1911 if (tty_out->old_tty) 1831 if (tty_out->old_tty)
1912 while (EMACS_SET_TTY (fileno (tty_out->input), 1832 while (EMACS_SET_TTY (fileno (tty_out->input),
@@ -1917,17 +1837,6 @@ reset_sys_modes (tty_out)
1917 dos_ttcooked (); 1837 dos_ttcooked ();
1918#endif 1838#endif
1919 1839
1920#ifdef SET_LINE_DISCIPLINE
1921 /* Ultrix's termios *ignores* any line discipline except TERMIODISC.
1922 A different old line discipline is therefore not restored, yet.
1923 Restore the old line discipline by hand. */
1924 ioctl (0, TIOCSETD, &tty_out->old_tty.main.c_line);
1925#endif
1926
1927#ifdef AIXHFT
1928 hft_reset ();
1929#endif
1930
1931#ifdef BSD_PGRPS 1840#ifdef BSD_PGRPS
1932 widen_foreground_group (fileno (tty_out->input)); 1841 widen_foreground_group (fileno (tty_out->input));
1933#endif 1842#endif
@@ -2318,20 +2227,14 @@ start_of_data ()
2318/* init_system_name sets up the string for the Lisp function 2227/* init_system_name sets up the string for the Lisp function
2319 system-name to return. */ 2228 system-name to return. */
2320 2229
2321#ifdef BSD4_1
2322#include <whoami.h>
2323#endif
2324
2325extern Lisp_Object Vsystem_name; 2230extern Lisp_Object Vsystem_name;
2326 2231
2327#ifndef BSD4_1
2328#ifndef VMS 2232#ifndef VMS
2329#ifdef HAVE_SOCKETS 2233#ifdef HAVE_SOCKETS
2330#include <sys/socket.h> 2234#include <sys/socket.h>
2331#include <netdb.h> 2235#include <netdb.h>
2332#endif /* HAVE_SOCKETS */ 2236#endif /* HAVE_SOCKETS */
2333#endif /* not VMS */ 2237#endif /* not VMS */
2334#endif /* not BSD4_1 */
2335 2238
2336#ifdef TRY_AGAIN 2239#ifdef TRY_AGAIN
2337#ifndef HAVE_H_ERRNO 2240#ifndef HAVE_H_ERRNO
@@ -2342,9 +2245,6 @@ extern int h_errno;
2342void 2245void
2343init_system_name () 2246init_system_name ()
2344{ 2247{
2345#ifdef BSD4_1
2346 Vsystem_name = build_string (sysname);
2347#else
2348#ifdef VMS 2248#ifdef VMS
2349 char *sp, *end; 2249 char *sp, *end;
2350 if ((sp = egetenv ("SYS$NODE")) == 0) 2250 if ((sp = egetenv ("SYS$NODE")) == 0)
@@ -2525,7 +2425,6 @@ init_system_name ()
2525 Vsystem_name = build_string (hostname); 2425 Vsystem_name = build_string (hostname);
2526#endif /* HAVE_GETHOSTNAME */ 2426#endif /* HAVE_GETHOSTNAME */
2527#endif /* VMS */ 2427#endif /* VMS */
2528#endif /* BSD4_1 */
2529 { 2428 {
2530 unsigned char *p; 2429 unsigned char *p;
2531 for (p = SDATA (Vsystem_name); *p; p++) 2430 for (p = SDATA (Vsystem_name); *p; p++)
@@ -2567,11 +2466,7 @@ SIGTYPE
2567select_alarm () 2466select_alarm ()
2568{ 2467{
2569 select_alarmed = 1; 2468 select_alarmed = 1;
2570#ifdef BSD4_1
2571 sigrelse (SIGALRM);
2572#else /* not BSD4_1 */
2573 signal (SIGALRM, SIG_IGN); 2469 signal (SIGALRM, SIG_IGN);
2574#endif /* not BSD4_1 */
2575 SIGNAL_THREAD_CHECK (SIGALRM); 2470 SIGNAL_THREAD_CHECK (SIGALRM);
2576 if (read_alarm_should_throw) 2471 if (read_alarm_should_throw)
2577 longjmp (read_alarm_throw, 1); 2472 longjmp (read_alarm_throw, 1);
@@ -2782,93 +2677,6 @@ read_input_waiting ()
2782#endif /* not VMS */ 2677#endif /* not VMS */
2783#endif /* not MSDOS */ 2678#endif /* not MSDOS */
2784 2679
2785#ifdef BSD4_1
2786void
2787init_sigio (fd)
2788 int fd;
2789{
2790 if (noninteractive)
2791 return;
2792 lmode = LINTRUP | lmode;
2793 ioctl (fd, TIOCLSET, &lmode);
2794}
2795
2796void
2797reset_sigio (fd)
2798 int fd;
2799{
2800 if (noninteractive)
2801 return;
2802 lmode = ~LINTRUP & lmode;
2803 ioctl (fd, TIOCLSET, &lmode);
2804}
2805
2806void
2807request_sigio ()
2808{
2809 if (noninteractive)
2810 return;
2811 sigrelse (SIGTINT);
2812
2813 interrupts_deferred = 0;
2814}
2815
2816void
2817unrequest_sigio ()
2818{
2819 if (noninteractive)
2820 return;
2821 sighold (SIGTINT);
2822
2823 interrupts_deferred = 1;
2824}
2825
2826/* still inside #ifdef BSD4_1 */
2827#ifdef subprocesses
2828
2829int sigheld; /* Mask of held signals */
2830
2831void
2832sigholdx (signum)
2833 int signum;
2834{
2835 sigheld |= sigbit (signum);
2836 sighold (signum);
2837}
2838
2839void
2840sigisheld (signum)
2841 int signum;
2842{
2843 sigheld |= sigbit (signum);
2844}
2845
2846void
2847sigunhold (signum)
2848 int signum;
2849{
2850 sigheld &= ~sigbit (signum);
2851 sigrelse (signum);
2852}
2853
2854void
2855sigfree () /* Free all held signals */
2856{
2857 int i;
2858 for (i = 0; i < NSIG; i++)
2859 if (sigheld & sigbit (i))
2860 sigrelse (i);
2861 sigheld = 0;
2862}
2863
2864int
2865sigbit (i)
2866{
2867 return 1 << (i - 1);
2868}
2869#endif /* subprocesses */
2870#endif /* BSD4_1 */
2871
2872/* POSIX signals support - DJB */ 2680/* POSIX signals support - DJB */
2873/* Anyone with POSIX signals should have ANSI C declarations */ 2681/* Anyone with POSIX signals should have ANSI C declarations */
2874 2682
@@ -3327,11 +3135,6 @@ emacs_open (path, oflag, mode)
3327{ 3135{
3328 register int rtnval; 3136 register int rtnval;
3329 3137
3330#ifdef BSD4_1
3331 if (oflag & O_CREAT)
3332 return creat (path, mode);
3333#endif
3334
3335 while ((rtnval = open (path, oflag, mode)) == -1 3138 while ((rtnval = open (path, oflag, mode)) == -1
3336 && (errno == EINTR)) 3139 && (errno == EINTR))
3337 QUIT; 3140 QUIT;
@@ -5189,100 +4992,6 @@ srandom (seed)
5189} 4992}
5190#endif /* VMS */ 4993#endif /* VMS */
5191 4994
5192#ifdef AIXHFT
5193
5194/* Called from init_sys_modes. */
5195void
5196hft_init (struct tty_display_info *tty_out)
5197{
5198 int junk;
5199
5200 /* If we're not on an HFT we shouldn't do any of this. We determine
5201 if we are on an HFT by trying to get an HFT error code. If this
5202 call fails, we're not on an HFT. */
5203#ifdef IBMR2AIX
5204 if (ioctl (0, HFQERROR, &junk) < 0)
5205 return;
5206#else /* not IBMR2AIX */
5207 if (ioctl (0, HFQEIO, 0) < 0)
5208 return;
5209#endif /* not IBMR2AIX */
5210
5211 /* On AIX the default hft keyboard mapping uses backspace rather than delete
5212 as the rubout key's ASCII code. Here this is changed. The bug is that
5213 there's no way to determine the old mapping, so in reset_sys_modes
5214 we need to assume that the normal map had been present. Of course, this
5215 code also doesn't help if on a terminal emulator which doesn't understand
5216 HFT VTD's. */
5217 {
5218 struct hfbuf buf;
5219 struct hfkeymap keymap;
5220
5221 buf.hf_bufp = (char *)&keymap;
5222 buf.hf_buflen = sizeof (keymap);
5223 keymap.hf_nkeys = 2;
5224 keymap.hfkey[0].hf_kpos = 15;
5225 keymap.hfkey[0].hf_kstate = HFMAPCHAR | HFSHFNONE;
5226#ifdef IBMR2AIX
5227 keymap.hfkey[0].hf_keyidh = '<';
5228#else /* not IBMR2AIX */
5229 keymap.hfkey[0].hf_page = '<';
5230#endif /* not IBMR2AIX */
5231 keymap.hfkey[0].hf_char = 127;
5232 keymap.hfkey[1].hf_kpos = 15;
5233 keymap.hfkey[1].hf_kstate = HFMAPCHAR | HFSHFSHFT;
5234#ifdef IBMR2AIX
5235 keymap.hfkey[1].hf_keyidh = '<';
5236#else /* not IBMR2AIX */
5237 keymap.hfkey[1].hf_page = '<';
5238#endif /* not IBMR2AIX */
5239 keymap.hfkey[1].hf_char = 127;
5240 hftctl (0, HFSKBD, &buf);
5241 }
5242}
5243
5244/* Reset the rubout key to backspace. */
5245
5246void
5247hft_reset (struct tty_display_info *tty_out)
5248{
5249 struct hfbuf buf;
5250 struct hfkeymap keymap;
5251 int junk;
5252
5253#ifdef IBMR2AIX
5254 if (ioctl (0, HFQERROR, &junk) < 0)
5255 return;
5256#else /* not IBMR2AIX */
5257 if (ioctl (0, HFQEIO, 0) < 0)
5258 return;
5259#endif /* not IBMR2AIX */
5260
5261 buf.hf_bufp = (char *)&keymap;
5262 buf.hf_buflen = sizeof (keymap);
5263 keymap.hf_nkeys = 2;
5264 keymap.hfkey[0].hf_kpos = 15;
5265 keymap.hfkey[0].hf_kstate = HFMAPCHAR | HFSHFNONE;
5266#ifdef IBMR2AIX
5267 keymap.hfkey[0].hf_keyidh = '<';
5268#else /* not IBMR2AIX */
5269 keymap.hfkey[0].hf_page = '<';
5270#endif /* not IBMR2AIX */
5271 keymap.hfkey[0].hf_char = 8;
5272 keymap.hfkey[1].hf_kpos = 15;
5273 keymap.hfkey[1].hf_kstate = HFMAPCHAR | HFSHFSHFT;
5274#ifdef IBMR2AIX
5275 keymap.hfkey[1].hf_keyidh = '<';
5276#else /* not IBMR2AIX */
5277 keymap.hfkey[1].hf_page = '<';
5278#endif /* not IBMR2AIX */
5279 keymap.hfkey[1].hf_char = 8;
5280 hftctl (0, HFSKBD, &buf);
5281}
5282
5283#endif /* AIXHFT */
5284
5285
5286#ifndef BSTRING 4995#ifndef BSTRING
5287 4996
5288#ifndef bzero 4997#ifndef bzero
diff --git a/src/syssignal.h b/src/syssignal.h
index 6aeb0ad768c..9451fa22f7e 100644
--- a/src/syssignal.h
+++ b/src/syssignal.h
@@ -143,9 +143,7 @@ extern SIGMASKTYPE sigprocmask_set;
143{ SIGMASKTYPE omask = sigblock (SIGFULLMASK); sigsetmask (omask & ~SIG); } 143{ SIGMASKTYPE omask = sigblock (SIGFULLMASK); sigsetmask (omask & ~SIG); }
144#endif 144#endif
145 145
146#ifndef BSD4_1
147#define sigfree() sigsetmask (SIGEMPTYMASK) 146#define sigfree() sigsetmask (SIGEMPTYMASK)
148#endif /* not BSD4_1 */
149 147
150#if defined (SIGINFO) && defined (BROKEN_SIGINFO) 148#if defined (SIGINFO) && defined (BROKEN_SIGINFO)
151#undef SIGINFO 149#undef SIGINFO
@@ -180,11 +178,6 @@ extern SIGMASKTYPE sigprocmask_set;
180# define NSIG NSIG_MINIMUM 178# define NSIG NSIG_MINIMUM
181#endif 179#endif
182 180
183#ifdef BSD4_1
184#define SIGIO SIGTINT
185/* sigfree is in sysdep.c */
186#endif /* BSD4_1 */
187
188/* On bsd, [man says] kill does not accept a negative number to kill a pgrp. 181/* On bsd, [man says] kill does not accept a negative number to kill a pgrp.
189 Must do that using the killpg call. */ 182 Must do that using the killpg call. */
190#ifdef BSD_SYSTEM 183#ifdef BSD_SYSTEM
diff --git a/src/systty.h b/src/systty.h
index 4623a2ccebe..4d9bd792a3c 100644
--- a/src/systty.h
+++ b/src/systty.h
@@ -93,19 +93,6 @@ static struct sensemode {
93#include <termios.h> 93#include <termios.h>
94#endif 94#endif
95 95
96#ifdef AIXHFT
97/* Get files for keyboard remapping */
98#define HFNKEYS 2
99#include <sys/hft.h>
100#include <sys/devinfo.h>
101#endif
102
103/* Get rid of LLITOUT in 4.1, since it is said to stimulate kernel bugs. */
104#ifdef BSD4_1
105#undef LLITOUT
106#define LLITOUT 0
107#endif /* 4.1 */
108
109#ifdef NEED_BSDTTY 96#ifdef NEED_BSDTTY
110#include <sys/bsdtty.h> 97#include <sys/bsdtty.h>
111#endif 98#endif
diff --git a/src/syswait.h b/src/syswait.h
index 786cb622262..8079737343c 100644
--- a/src/syswait.h
+++ b/src/syswait.h
@@ -91,11 +91,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
91 91
92#else 92#else
93 93
94#ifdef BSD4_1
95#include <wait.h>
96#else
97#include <sys/wait.h> 94#include <sys/wait.h>
98#endif /* not BSD 4.1 */
99 95
100#define WAITTYPE union wait 96#define WAITTYPE union wait
101#define WRETCODE(w) w.w_retcode 97#define WRETCODE(w) w.w_retcode
diff --git a/src/term.c b/src/term.c
index 533104dc040..f08b800163c 100644
--- a/src/term.c
+++ b/src/term.c
@@ -3801,13 +3801,6 @@ to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
3801 3801
3802 init_baud_rate (fileno (tty->input)); 3802 init_baud_rate (fileno (tty->input));
3803 3803
3804#ifdef AIXHFT
3805 /* The HFT system on AIX doesn't optimize for scrolling, so it's
3806 really ugly at times. */
3807 terminal->line_ins_del_ok = 0;
3808 terminal->char_ins_del_ok = 0;
3809#endif
3810
3811 /* Don't do this. I think termcap may still need the buffer. */ 3804 /* Don't do this. I think termcap may still need the buffer. */
3812 /* xfree (buffer); */ 3805 /* xfree (buffer); */
3813 3806
diff --git a/src/unexec.c b/src/unexec.c
index 93fc603ac30..6b46c00150e 100644
--- a/src/unexec.c
+++ b/src/unexec.c
@@ -197,7 +197,7 @@ struct aouthdr
197#include <sys/stat.h> 197#include <sys/stat.h>
198#include <errno.h> 198#include <errno.h>
199 199
200#include <sys/file.h> /* Must be after sys/types.h for USG and BSD4_1*/ 200#include <sys/file.h> /* Must be after sys/types.h for USG*/
201 201
202#ifdef USG5 202#ifdef USG5
203#include <fcntl.h> 203#include <fcntl.h>
diff --git a/src/unexelf.c b/src/unexelf.c
index db05c55fb8d..199352d4e6e 100644
--- a/src/unexelf.c
+++ b/src/unexelf.c
@@ -433,9 +433,6 @@ extern void fatal (const char *msgid, ...);
433#if __sgi 433#if __sgi
434#include <syms.h> /* for HDRR declaration */ 434#include <syms.h> /* for HDRR declaration */
435#endif /* __sgi */ 435#endif /* __sgi */
436#ifdef BROKEN_NOCOMBRELOC
437#include <assert.h>
438#endif
439 436
440#ifndef MAP_ANON 437#ifndef MAP_ANON
441#ifdef MAP_ANONYMOUS 438#ifdef MAP_ANONYMOUS
@@ -690,9 +687,6 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
690 int old_mdebug_index; 687 int old_mdebug_index;
691 struct stat stat_buf; 688 struct stat stat_buf;
692 int old_file_size; 689 int old_file_size;
693#ifdef BROKEN_NOCOMBRELOC
694 int unreloc_sections[10], n_unreloc_sections;
695#endif
696 690
697 /* Open the old file, allocate a buffer of the right size, and read 691 /* Open the old file, allocate a buffer of the right size, and read
698 in the file contents. */ 692 in the file contents. */
@@ -982,23 +976,11 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
982 section just before .bss has less-strict alignment; this 976 section just before .bss has less-strict alignment; this
983 was observed between .symtab and .bss on Solaris 2.5.1 977 was observed between .symtab and .bss on Solaris 2.5.1
984 (sparc) with GCC snapshot 960602. */ 978 (sparc) with GCC snapshot 960602. */
985#ifdef SOLARIS_POWERPC 979
986 /* On PPC Reference Platform running Solaris 2.5.1
987 the plt section is also of type NOBI like the bss section.
988 (not really stored) and therefore sections after the bss
989 section start at the plt offset. The plt section is always
990 the one just before the bss section.
991 It would be better to put the new data section before
992 the .plt section, or use libelf instead.
993 Erik Deumens, deumens@qtp.ufl.edu. */
994 if (NEW_SECTION_H (nn).sh_offset
995 >= OLD_SECTION_H (old_bss_index-1).sh_offset)
996 NEW_SECTION_H (nn).sh_offset += new_data2_size;
997#else
998 if (NEW_SECTION_H (nn).sh_offset + NEW_SECTION_H (nn).sh_size 980 if (NEW_SECTION_H (nn).sh_offset + NEW_SECTION_H (nn).sh_size
999 > new_data2_offset) 981 > new_data2_offset)
1000 NEW_SECTION_H (nn).sh_offset += new_data2_size; 982 NEW_SECTION_H (nn).sh_offset += new_data2_size;
1001#endif 983
1002 /* Any section that was originally placed after the section 984 /* Any section that was originally placed after the section
1003 header table should now be off by the size of one section 985 header table should now be off by the size of one section
1004 header table entry. */ 986 header table entry. */
@@ -1224,7 +1206,6 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
1224 1206
1225 /* This loop seeks out relocation sections for the data section, so 1207 /* This loop seeks out relocation sections for the data section, so
1226 that it can undo relocations performed by the runtime linker. */ 1208 that it can undo relocations performed by the runtime linker. */
1227#ifndef BROKEN_NOCOMBRELOC
1228 for (n = new_file_h->e_shnum - 1; n; n--) 1209 for (n = new_file_h->e_shnum - 1; n; n--)
1229 { 1210 {
1230 ElfW(Shdr) section = NEW_SECTION_H (n); 1211 ElfW(Shdr) section = NEW_SECTION_H (n);
@@ -1279,81 +1260,6 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
1279 break; 1260 break;
1280 } 1261 }
1281 } 1262 }
1282#else /* BROKEN_NOCOMBRELOC */
1283 for (n = 1, n_unreloc_sections = 0; n < new_file_h->e_shnum; n++)
1284 if (!strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".data")
1285 || !strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".sdata")
1286 || !strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".lit4")
1287 || !strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".lit8")
1288#ifdef IRIX6_5 /* see above */
1289 || !strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".got")
1290#endif
1291 || !strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".sdata1")
1292 || !strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".data1"))
1293 {
1294 assert (n_unreloc_sections
1295 < (sizeof (unreloc_sections) / sizeof (unreloc_sections[0])));
1296 unreloc_sections[n_unreloc_sections++] = n;
1297#ifdef DEBUG
1298 fprintf (stderr, "section %d: %s\n", n,
1299 old_section_names + NEW_SECTION_H (n).sh_name);
1300#endif
1301 }
1302
1303 for (n = new_file_h->e_shnum - 1; n; n--)
1304 {
1305 ElfW(Shdr) section = NEW_SECTION_H (n);
1306 caddr_t reloc, end;
1307 ElfW(Addr) addr, offset;
1308 int target;
1309
1310 switch (section.sh_type)
1311 {
1312 default:
1313 break;
1314 case SHT_REL:
1315 case SHT_RELA:
1316 /* This code handles two different size structs, but there should
1317 be no harm in that provided that r_offset is always the first
1318 member. */
1319 for (reloc = old_base + section.sh_offset,
1320 end = reloc + section.sh_size;
1321 reloc < end;
1322 reloc += section.sh_entsize)
1323 {
1324 addr = ((ElfW(Rel) *) reloc)->r_offset;
1325#ifdef __alpha__
1326 /* The Alpha ELF binutils currently have a bug that
1327 sometimes results in relocs that contain all
1328 zeroes. Work around this for now... */
1329 if (addr == 0)
1330 continue;
1331#endif
1332 for (nn = 0; nn < n_unreloc_sections; nn++)
1333 {
1334 target = unreloc_sections[nn];
1335 if (NEW_SECTION_H (target).sh_addr <= addr
1336 && addr < (NEW_SECTION_H (target).sh_addr +
1337 NEW_SECTION_H (target).sh_size))
1338 {
1339 offset = (NEW_SECTION_H (target).sh_addr -
1340 NEW_SECTION_H (target).sh_offset);
1341 memcpy (new_base + addr - offset,
1342 old_base + addr - offset,
1343 sizeof (ElfW(Addr)));
1344#ifdef DEBUG
1345 fprintf (stderr, "unrelocate: [%08lx] <= %08lx\n",
1346 (long) addr,
1347 (long) *((long *) (new_base + addr - offset)));
1348#endif
1349 break;
1350 }
1351 }
1352 }
1353 break;
1354 }
1355 }
1356#endif /* BROKEN_NOCOMBRELOC */
1357 1263
1358 /* Write out new_file, and free the buffers. */ 1264 /* Write out new_file, and free the buffers. */
1359 1265
diff --git a/src/unexhp9k800.c b/src/unexhp9k800.c
index 96eb985f857..cad2a5025ab 100644
--- a/src/unexhp9k800.c
+++ b/src/unexhp9k800.c
@@ -59,9 +59,7 @@
59 59
60#include <a.out.h> 60#include <a.out.h>
61 61
62#ifdef HPUX_USE_SHLIBS
63#include <dl.h> 62#include <dl.h>
64#endif
65 63
66/* brk value to restore, stored as a global. 64/* brk value to restore, stored as a global.
67 This is really used only if we used shared libraries. */ 65 This is really used only if we used shared libraries. */
diff --git a/src/unexnext.c b/src/unexnext.c
deleted file mode 100644
index 3ed54a59db8..00000000000
--- a/src/unexnext.c
+++ /dev/null
@@ -1,514 +0,0 @@
1/* Dump Emacs in macho format.
2 Copyright (C) 1990, 1993, 2001, 2002, 2003, 2004,
3 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
4 Written by Bradley Taylor (btaylor@next.com).
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21
22#undef __STRICT_BSD__
23
24#include <stdio.h>
25#include <stdlib.h>
26#include <stdarg.h>
27#include <mach/mach.h>
28#include <mach-o/loader.h>
29#include <mach-o/reloc.h>
30#include <sys/file.h>
31#include <sys/stat.h>
32#include <unistd.h>
33/* Instead of unistd.h, this used to include libc.h.
34 "Nelson H. F. Beebe" <beebe@math.utah.edu> says that doesn't work
35 in system version 3.3. */
36
37
38int malloc_cookie;
39
40/*
41 * Kludge: we don't expect any program data beyond VM_HIGHDATA
42 * What is really needed is a way to find out from malloc() which
43 * pages it vm_allocated and write only those out into the data segment.
44 *
45 * This kludge may break when we stop using fixed virtual address
46 * shared libraries. Actually, emacs will probably continue working, but be
47 * much larger on disk than it needs to be (because non-malloced data will
48 * be in the file).
49 */
50static const unsigned VM_HIGHDATA = 0x2000000;
51
52typedef struct region_t {
53 vm_address_t address;
54 vm_size_t size;
55 vm_prot_t protection;
56 vm_prot_t max_protection;
57 vm_inherit_t inheritance;
58 boolean_t shared;
59 port_t object_name;
60 vm_offset_t offset;
61} region_t;
62
63
64static void
65grow(
66 struct load_command ***the_commands,
67 unsigned *the_commands_len
68 )
69{
70 if (*the_commands == NULL) {
71 *the_commands_len = 1;
72 *the_commands = malloc(sizeof(*the_commands));
73 } else {
74 (*the_commands_len)++;
75 *the_commands = realloc(*the_commands,
76 (*the_commands_len *
77 sizeof(**the_commands)));
78 }
79}
80
81
82static void
83save_command(
84 struct load_command *command,
85 struct load_command ***the_commands,
86 unsigned *the_commands_len
87 )
88{
89 struct load_command **tmp;
90
91 grow(the_commands, the_commands_len);
92 tmp = &(*the_commands)[*the_commands_len - 1];
93 *tmp = malloc(command->cmdsize);
94 bcopy(command, *tmp, command->cmdsize);
95}
96
97static void
98fatal_unexec(char *format, ...)
99{
100 va_list ap;
101
102 va_start(ap, format);
103 fprintf(stderr, "unexec: ");
104 vfprintf(stderr, format, ap);
105 fprintf(stderr, "\n");
106 va_end(ap);
107}
108
109static int
110read_macho(
111 int fd,
112 struct mach_header *the_header,
113 struct load_command ***the_commands,
114 unsigned *the_commands_len
115 )
116{
117 struct load_command command;
118 struct load_command *buf;
119 int i;
120 int size;
121
122 if (read(fd, the_header, sizeof(*the_header)) != sizeof(*the_header)) {
123 fatal_unexec("cannot read macho header");
124 return (0);
125 }
126 for (i = 0; i < the_header->ncmds; i++) {
127 if (read(fd, &command, sizeof(struct load_command)) !=
128 sizeof(struct load_command)) {
129 fatal_unexec("cannot read macho load command header");
130 return (0);
131 }
132 size = command.cmdsize - sizeof(struct load_command);
133 if (size < 0) {
134 fatal_unexec("bogus load command size");
135 return (0);
136 }
137 buf = malloc(command.cmdsize);
138 buf->cmd = command.cmd;
139 buf->cmdsize = command.cmdsize;
140 if (read(fd, ((char *)buf +
141 sizeof(struct load_command)),
142 size) != size) {
143 fatal_unexec("cannot read load command data");
144 return (0);
145 }
146 save_command(buf, the_commands, the_commands_len);
147 }
148 return (1);
149}
150
151static int
152filldatagap(
153 vm_address_t start_address,
154 vm_size_t *size,
155 vm_address_t end_address
156 )
157{
158 vm_address_t address;
159 vm_size_t gapsize;
160
161 address = (start_address + *size);
162 gapsize = end_address - address;
163 *size += gapsize;
164 if (vm_allocate(task_self(), &address, gapsize,
165 FALSE) != KERN_SUCCESS) {
166 fatal_unexec("cannot vm_allocate");
167 return (0);
168 }
169 return (1);
170}
171
172static int
173get_data_region(
174 vm_address_t *address,
175 vm_size_t *size
176 )
177{
178 region_t region;
179 kern_return_t ret;
180 struct section *sect;
181
182 sect = (struct section *) getsectbyname(SEG_DATA, SECT_DATA);
183 region.address = 0;
184 *address = 0;
185 for (;;) {
186 ret = vm_region(task_self(),
187 &region.address,
188 &region.size,
189 &region.protection,
190 &region.max_protection,
191 &region.inheritance,
192 &region.shared,
193 &region.object_name,
194 &region.offset);
195 if (ret != KERN_SUCCESS || region.address >= VM_HIGHDATA) {
196 break;
197 }
198 if (*address != 0) {
199 if (region.address > *address + *size) {
200 if (!filldatagap(*address, size,
201 region.address)) {
202 return (0);
203 }
204 }
205 *size += region.size;
206 } else {
207 if (region.address == sect->addr) {
208 *address = region.address;
209 *size = region.size;
210 }
211 }
212 region.address += region.size;
213 }
214 return (1);
215}
216
217static char *
218my_malloc(
219 vm_size_t size
220 )
221{
222 vm_address_t address;
223
224 if (vm_allocate(task_self(), &address, size, TRUE) != KERN_SUCCESS) {
225 return (NULL);
226 }
227 return ((char *)address);
228}
229
230static void
231my_free(
232 char *buf,
233 vm_size_t size
234 )
235{
236 vm_deallocate(task_self(), (vm_address_t)buf, size);
237}
238
239static int
240unexec_doit(
241 int infd,
242 int outfd
243 )
244{
245 int i;
246 struct load_command **the_commands = NULL;
247 unsigned the_commands_len;
248 struct mach_header the_header;
249 int fgrowth = 0;
250 int fdatastart;
251 int fdatasize;
252 int size;
253 struct stat st;
254 char *buf;
255 vm_address_t data_address;
256 vm_size_t data_size;
257 vm_size_t vmaddr_growth = 0;
258 vm_size_t dataseg_vmaddr, dataseg_vmend;
259
260 struct segment_command *segment;
261
262#ifdef NS_TARGET
263 unsigned long extreloff = 0;
264 unsigned long nextrel = 0;
265 struct dysymtab_command *dysymtab;
266 struct relocation_info reloc_info;
267#endif
268
269 if (!read_macho(infd, &the_header, &the_commands, &the_commands_len)) {
270 return (0);
271 }
272
273
274 malloc_cookie = malloc_freezedry ();
275 if (!get_data_region(&data_address, &data_size)) {
276 return (0);
277 }
278
279
280 /*
281 * DO NOT USE MALLOC IN THIS SECTION
282 */
283 {
284 /*
285 * Fix offsets
286 */
287 for (i = 0; i < the_commands_len; i++) {
288 switch (the_commands[i]->cmd) {
289 case LC_SEGMENT:
290 segment = ((struct segment_command *)
291 the_commands[i]);
292 if (strcmp(segment->segname, SEG_DATA) == 0) {
293 fdatastart = segment->fileoff;
294 fdatasize = segment->filesize;
295 fgrowth = (data_size -
296 segment->filesize);
297 segment->vmsize = data_size;
298 segment->filesize = data_size;
299 dataseg_vmaddr = segment->vmaddr;
300 dataseg_vmend = segment->vmaddr + segment->vmsize;
301 vmaddr_growth = segment->vmaddr + segment->vmsize;
302 } else {
303 ((struct segment_command *)the_commands[i])->fileoff += fgrowth;
304 }
305
306 if( strcmp( segment->segname, SEG_LINKEDIT ) == 0 ) {
307 segment->vmaddr = vmaddr_growth;
308 }
309
310 break;
311 case LC_SYMTAB:
312 ((struct symtab_command *)
313 the_commands[i])->symoff += fgrowth;
314 ((struct symtab_command *)
315 the_commands[i])->stroff += fgrowth;
316 break;
317 case LC_SYMSEG:
318 ((struct symseg_command *)
319 the_commands[i])->offset += fgrowth;
320 break;
321#ifdef NS_TARGET
322 case LC_DYSYMTAB:
323 dysymtab = ((struct dysymtab_command *)the_commands[i]);
324 extreloff = dysymtab->extreloff;
325 nextrel = dysymtab->nextrel;
326 dysymtab->indirectsymoff += fgrowth;
327 dysymtab->extreloff += fgrowth;
328 break;
329#endif
330 default:
331 break;
332 }
333 }
334
335 /*
336 * Write header
337 */
338 if (write(outfd, &the_header,
339 sizeof(the_header)) != sizeof(the_header)) {
340 fatal_unexec("cannot write output file");
341 return (0);
342 }
343
344 /*
345 * Write commands
346 */
347 for (i = 0; i < the_commands_len; i++) {
348 if (write(outfd, the_commands[i],
349 the_commands[i]->cmdsize) !=
350 the_commands[i]->cmdsize) {
351 fatal_unexec("cannot write output file");
352 return (0);
353 }
354 }
355
356 /*
357 * Write original text
358 */
359 if (lseek(infd, the_header.sizeofcmds + sizeof(the_header),
360 L_SET) < 0) {
361 fatal_unexec("cannot seek input file");
362 return (0);
363 }
364 size = fdatastart - (sizeof(the_header) +
365 the_header.sizeofcmds);
366 buf = my_malloc(size);
367 if (read(infd, buf, size) != size) {
368 my_free(buf, size);
369 fatal_unexec("cannot read input file");
370 }
371 if (write(outfd, buf, size) != size) {
372 my_free(buf, size);
373 fatal_unexec("cannot write output file");
374 return (0);
375 }
376 my_free(buf, size);
377
378
379 /*
380 * Write new data
381 */
382 if (write(outfd, (char *)data_address,
383 data_size) != data_size) {
384 fatal_unexec("cannot write output file");
385 return (0);
386 }
387
388 }
389
390 /*
391 * OKAY TO USE MALLOC NOW
392 */
393
394 /*
395 * Write rest of file
396 */
397 fstat(infd, &st);
398 if (lseek(infd, fdatasize, L_INCR) < 0) {
399 fatal_unexec("cannot seek input file");
400 return (0);
401 }
402 size = st.st_size - lseek(infd, 0, L_INCR);
403
404 buf = malloc(size);
405 if (read(infd, buf, size) != size) {
406 free(buf);
407 fatal_unexec("cannot read input file");
408 return (0);
409 }
410 if (write(outfd, buf, size) != size) {
411 free(buf);
412 fatal_unexec("cannot write output file");
413 return (0);
414 }
415 free(buf);
416
417#ifdef NS_TARGET
418 /*
419 * Fix up relocation entries in the data segment.
420 */
421
422 if (lseek(infd, extreloff, L_SET) < 0) {
423 fatal_unexec("cannot seek input file");
424 return (0);
425 }
426
427 for (i = 0; i < nextrel; i++)
428 {
429 long zeroval = 0;
430
431 if (read(infd, &reloc_info, sizeof (reloc_info)) != sizeof (reloc_info)) {
432 fatal_unexec("cannot read input file");
433 return (0);
434 }
435 if (reloc_info.r_address >= dataseg_vmaddr && reloc_info.r_address < dataseg_vmend)
436 {
437 if (lseek (outfd, fdatastart + reloc_info.r_address - dataseg_vmaddr, L_SET) < 0 ) {
438 fatal_unexec("cannot seek input file");
439 return (0);
440 }
441 switch (reloc_info.r_length) {
442 case 0:
443 if (write(outfd, &zeroval, 1) != 1) {
444 fatal_unexec("cannot write output file");
445 return (0);
446 }
447 break;
448 case 1:
449 if (write(outfd, &zeroval, 2) != 2) {
450 fatal_unexec("cannot write output file");
451 return (0);
452 }
453 break;
454 case 2:
455 if (write(outfd, &zeroval, 4) != 4) {
456 fatal_unexec("cannot write output file");
457 return (0);
458 }
459 break;
460 }
461 }
462 }
463#endif
464
465 return (1);
466}
467
468void
469unexec(
470 char *outfile,
471 char *infile
472 )
473{
474 int infd;
475 int outfd;
476 char tmpbuf[L_tmpnam];
477 char *tmpfile;
478
479 infd = open(infile, O_RDONLY, 0);
480 if (infd < 0) {
481 fatal_unexec("cannot open input file `%s'", infile);
482 exit(1);
483 }
484
485 tmpnam(tmpbuf);
486 tmpfile = rindex(tmpbuf, '/');
487 if (tmpfile == NULL) {
488 tmpfile = tmpbuf;
489 } else {
490 tmpfile++;
491 }
492 outfd = open(tmpfile, O_WRONLY|O_TRUNC|O_CREAT, 0755);
493 if (outfd < 0) {
494 close(infd);
495 fatal_unexec("cannot open tmp file `%s'", tmpfile);
496 exit(1);
497 }
498 if (!unexec_doit(infd, outfd)) {
499 close(infd);
500 close(outfd);
501 unlink(tmpfile);
502 exit(1);
503 }
504 close(infd);
505 close(outfd);
506 if (rename(tmpfile, outfile) < 0) {
507 unlink(tmpfile);
508 fatal_unexec("cannot rename `%s' to `%s'", tmpfile, outfile);
509 exit(1);
510 }
511}
512
513/* arch-tag: 9796bdc3-c050-417a-b2f5-4cfd31032634
514 (do not change this comment) */