From f2a77c3a41744e43b52f0ac7a2c9bd7f8d406ae1 Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Thu, 26 Jun 2008 04:24:54 +0000 Subject: [PATCH] * 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. --- ChangeLog | 5 + admin/CPP-DEFINES | 16 +- admin/emacs-pretesters | 9 +- configure | 212 +------------ configure.in | 215 +------------ doc/lispref/ChangeLog | 4 + doc/lispref/os.texi | 3 - etc/MACHINES | 282 +---------------- lib-src/ChangeLog | 4 + lib-src/fakemail.c | 2 +- lwlib/ChangeLog | 4 + lwlib/lwlib.c | 4 - nt/ChangeLog | 4 + nt/config.nt | 2 - src/ChangeLog | 70 +++++ src/Makefile.in | 24 +- src/data.c | 14 - src/doc.c | 2 +- src/ecrt0.c | 120 -------- src/emacs.c | 12 +- src/fileio.c | 10 - src/floatfns.c | 14 - src/keyboard.c | 14 - src/m/ews4800.h | 40 --- src/m/hp800.h | 7 - src/m/hp9000s300.h | 212 ------------- src/m/ibm370aix.h | 51 --- src/m/ibmrs6000.h | 12 +- src/m/mips-siemens.h | 161 ---------- src/m/mips.h | 2 +- src/m/ncr386.h | 18 -- src/m/next.h | 125 -------- src/m/pmax.h | 127 -------- src/m/powerpcle.h | 61 ---- src/m/tandem-s2.h | 24 -- src/m/vax.h | 6 - src/mem-limits.h | 4 - src/print.c | 10 - src/process.c | 98 ------ src/s/386bsd.h | 27 -- src/s/aix3-2-5.h | 33 -- src/s/aix3-2.h | 73 ----- src/s/aix4-1.h | 65 ---- src/s/{aix3-1.h => aix4-2.h} | 150 ++++----- src/s/aix4.h | 17 - src/s/{bsd4-3.h => bsd-common.h} | 0 src/s/bsd386.h | 67 ---- src/s/bsd4-1.h | 131 -------- src/s/bsd4-2.h | 122 -------- src/s/bsdos2-1.h | 9 - src/s/bsdos2.h | 14 - src/s/bsdos3.h | 9 - src/s/bsdos4.h | 26 -- src/s/darwin.h | 6 - src/s/freebsd.h | 17 +- src/s/gnu.h | 4 +- src/s/{hpux.h => hpux10-20.h} | 140 ++++++--- src/s/hpux10.h | 85 ----- src/s/hpux8.h | 96 ------ src/s/hpux9.h | 94 ------ src/s/hpux9shr.h | 16 - src/s/ms-w32.h | 10 - src/s/msdos.h | 10 - src/s/netbsd.h | 4 +- src/s/nextstep.h | 114 ------- src/s/template.h | 3 - src/s/ultrix4-3.h | 16 - src/s/usg5-0.h | 149 --------- src/s/usg5-2-2.h | 152 --------- src/s/usg5-2.h | 152 --------- src/s/usg5-4-3.h | 11 - src/s/{usg5-3.h => usg5-4.h} | 175 ++++++++--- src/s/ux4800.h | 20 -- src/s/uxpds.h | 11 - src/s/uxpv.h | 14 - src/sysdep.c | 295 +----------------- src/syssignal.h | 7 - src/systty.h | 13 - src/syswait.h | 4 - src/term.c | 7 - src/unexec.c | 2 +- src/unexelf.c | 98 +----- src/unexhp9k800.c | 2 - src/unexnext.c | 514 ------------------------------- 84 files changed, 468 insertions(+), 4520 deletions(-) delete mode 100644 src/m/ews4800.h delete mode 100644 src/m/hp9000s300.h delete mode 100644 src/m/ibm370aix.h delete mode 100644 src/m/mips-siemens.h delete mode 100644 src/m/ncr386.h delete mode 100644 src/m/next.h delete mode 100644 src/m/pmax.h delete mode 100644 src/m/powerpcle.h delete mode 100644 src/m/tandem-s2.h delete mode 100644 src/s/386bsd.h delete mode 100644 src/s/aix3-2-5.h delete mode 100644 src/s/aix3-2.h delete mode 100644 src/s/aix4-1.h rename src/s/{aix3-1.h => aix4-2.h} (53%) delete mode 100644 src/s/aix4.h rename src/s/{bsd4-3.h => bsd-common.h} (100%) delete mode 100644 src/s/bsd386.h delete mode 100644 src/s/bsd4-1.h delete mode 100644 src/s/bsd4-2.h delete mode 100644 src/s/bsdos2-1.h delete mode 100644 src/s/bsdos2.h delete mode 100644 src/s/bsdos3.h delete mode 100644 src/s/bsdos4.h rename src/s/{hpux.h => hpux10-20.h} (60%) delete mode 100644 src/s/hpux10.h delete mode 100644 src/s/hpux8.h delete mode 100644 src/s/hpux9.h delete mode 100644 src/s/hpux9shr.h delete mode 100644 src/s/nextstep.h delete mode 100644 src/s/ultrix4-3.h delete mode 100644 src/s/usg5-0.h delete mode 100644 src/s/usg5-2-2.h delete mode 100644 src/s/usg5-2.h delete mode 100644 src/s/usg5-4-3.h rename src/s/{usg5-3.h => usg5-4.h} (51%) delete mode 100644 src/s/ux4800.h delete mode 100644 src/s/uxpds.h delete mode 100644 src/s/uxpv.h delete mode 100644 src/unexnext.c diff --git a/ChangeLog b/ChangeLog index 63e11ba32e..1e51b8b326 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-06-26 Dan Nicolaescu + + * configure.in: + * configure: Remove references to obsolete systems. + 2008-06-25 Stefan Monnier * Makefile.in (Makefile): Use it for its timestamp value as well, and diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES index 621f65a113..c5c9a539da 100644 --- a/admin/CPP-DEFINES +++ b/admin/CPP-DEFINES @@ -57,7 +57,6 @@ BROKEN_FIONREAD BROKEN_SIGIO BROKEN_TIOCGETC BROKEN_TIOCGWINSZ -BSD4_2 BSD4_3 BSD4_4 BSD_PGRPS @@ -102,6 +101,7 @@ HAVE_LIBRESOLV HAVE_PTYS HAVE_SELECT HAVE_SOCKETS +HAVE_STRING_H HAVE_SYSVIPC HAVE_SYSV_SIGPAUSE HAVE_SYS_WAIT_H @@ -140,17 +140,21 @@ LIB_X11_LIB LINKER LOAD_AVE_CVT LOAD_AVE_TYPE +MACH MAIL_USE_FLOCK MKDIR_PROTOTYPE MOTIF NARROWPROTO +NEED_BSDTTY NEED_ERRNO NEED_PTEM_H NEED_SIOCTL +NEED_UNISTD_H NLIST_STRUCT NOMULTIPLEJOBS NONSYSTEM_DIR_LIBRARY NOT_C_CODE +NO_ABORT NO_ARG_ARRAY NO_REMAP NO_SIOCTL_H @@ -167,6 +171,7 @@ PERROR PNTR_COMPARISON_TYPE POSIX_SIGNALS PREFER_VSUSP +PREFER_VSUSP PTY_ITERATION PTY_NAME_SPRINTF PTY_OPEN @@ -196,6 +201,8 @@ S_IFLNK S_IFMT S_IREAD S_IWRITE +TAB3 +TABDLY TERMCAP TERMINFO TEXT_END @@ -211,11 +218,11 @@ USG5_4 USG_JOBCTRL USG_SHARED_LIBRARIES VIRT_ADDR_VARIES +WCOREDUMP WORDS_BIG_ENDIAN WORD_MACHINE -XINT -XSET -XUINT +X11R5_INHIBIT_I18N +XOS_NEEDS_TIME_H X_DEFAULT_FONT _ABIN32 _MIPS_SZLONG @@ -240,6 +247,7 @@ m68k magic mc68000 mips +prep sel subprocesses sun diff --git a/admin/emacs-pretesters b/admin/emacs-pretesters index a6590497c0..4ea98c16df 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 work and therefore require an additional cycle of pretesting. People often suggest fixing a problem by changing config.h or -src/ymakefile or even src/Makefile to do something special that a -particular system needs. Sometimes it is totally obvious that such -changes would break Emacs for almost all users. We can't possibly -make a change like that. All we can do is ask you to find a fix that -is safe to install. +src/Makefile to do something special that a particular system needs. +Sometimes it is totally obvious that such changes would break Emacs +for almost all users. We can't possibly make a change like that. All +we can do is ask you to find a fix that is safe to install. Sometimes people send fixes that *might* be an improvement in general--but it is hard to be sure of this. I can install such diff --git a/configure b/configure index 457cc2c911..93abc6d917 100755 --- a/configure +++ b/configure @@ -2360,9 +2360,8 @@ configuration=${host_alias-${build_alias-$host}} ### based on the machine portion of the configuration name, and an s- ### file based on the operating system portion. However, it turns out ### that each m/*.h file is pretty manufacturer-specific - for -### example hp9000s300.h is a 68000 machine; -### mips.h, pmax.h are all MIPS -### machines. So we basically have to have a special case for each +### example mips.h is MIPS +### So we basically have to have a special case for each ### configuration name. ### ### As far as handling version numbers on operating systems is @@ -2419,12 +2418,6 @@ _ACEOF case "${canonical}" in alpha*-*-netbsd*) machine=alpha ;; i[3456]86-*-netbsd*) machine=intel386 ;; - m68k-*-netbsd*) - # This is somewhat bogus. - machine=hp9000s300 ;; - mips-*-netbsd*) machine=pmax ;; - mipsel-*-netbsd*) machine=pmax ;; - mipseb-*-netbsd*) machine=pmax ;; powerpc-*-netbsd*) machine=macppc ;; sparc*-*-netbsd*) machine=sparc ;; vax-*-netbsd*) machine=vax ;; @@ -2440,9 +2433,7 @@ _ACEOF case "${canonical}" in alpha*-*-openbsd*) machine=alpha ;; arm-*-openbsd*) machine=arm ;; - hppa-*-openbsd*) machine=hp9000s300 ;; i386-*-openbsd*) machine=intel386 ;; - m68k-*-openbsd*) machine=hp9000s300 ;; powerpc-*-openbsd*) machine=macppc ;; sparc*-*-openbsd*) machine=sparc ;; vax-*-openbsd*) machine=vax ;; @@ -2459,23 +2450,6 @@ _ACEOF esac ;; - ## BSDI ports - *-*-bsdi* ) - opsys=bsdi - case "${canonical}" in - i[345]86-*-bsdi*) machine=intel386 ;; - sparc-*-bsdi*) machine=sparc ;; - powerpc-*-bsdi*) machine=macppc ;; - esac - case "${canonical}" in - *-*-bsd386* | *-*-bsdi1* ) opsys=bsd386 ;; - *-*-bsdi2.0* ) opsys=bsdos2 ;; - *-*-bsdi2* ) opsys=bsdos2-1 ;; - *-*-bsdi3* ) opsys=bsdos3 ;; - *-*-bsdi[45]* ) opsys=bsdos4 ;; - esac - ;; - alpha*-*-linux-gnu* ) machine=alpha opsys=gnu-linux ;; @@ -2502,56 +2476,10 @@ _ACEOF fi ;; - ## Cubix QBx/386 - i[3456]86-cubix-sysv* ) - machine=intel386 opsys=usg5-3 - ;; - - mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* ) - machine=pmax opsys=bsd4-2 - ;; - mips-dec-ultrix4.[12]* | mips-dec-bsd* ) - machine=pmax opsys=bsd4-3 - ;; - mips-dec-ultrix* ) - machine=pmax opsys=ultrix4-3 - ;; - ## HP 9000 series 200 or 300 - m68*-hp-bsd* ) - machine=hp9000s300 opsys=bsd4-3 - ;; - ## HP/UX 7, 8, 9, and 10 are supported on these machines. - m68*-hp-hpux* ) - case "`uname -r`" in - ## Someone's system reports A.B8.05 for this. - ## I wonder what other possibilities there are. - *.B8.* ) machine=hp9000s300 opsys=hpux8 ;; - *.08.* ) machine=hp9000s300 opsys=hpux8 ;; - *.09.* ) machine=hp9000s300 opsys=hpux9 ;; - *.1[0-9].* ) machine=hp9000s300 opsys=hpux9shr ;; - *) machine=hp9000s300 opsys=hpux ;; - esac - ;; - ## HP 9000 series 700 and 800, running HP/UX - hppa*-hp-hpux7* ) - machine=hp800 opsys=hpux - ;; - hppa*-hp-hpux8* ) - machine=hp800 opsys=hpux8 - ;; - hppa*-hp-hpux9shr* ) - machine=hp800 opsys=hpux9shr - ;; - hppa*-hp-hpux9* ) - machine=hp800 opsys=hpux9 - ;; hppa*-hp-hpux10.2* ) machine=hp800 opsys=hpux10-20 ;; - hppa*-hp-hpux10* ) - machine=hp800 opsys=hpux10 - ;; hppa*-hp-hpux1[1-9]* ) machine=hp800 opsys=hpux11 CFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CFLAGS" @@ -2561,41 +2489,13 @@ _ACEOF machine=hp800 opsys=gnu-linux ;; - ## HP 9000 series 700 and 800, running HP/UX - hppa*-hp-hpux* ) - ## Cross-compilation? Nah! - case "`uname -r`" in - ## Someone's system reports A.B8.05 for this. - ## I wonder what other possibilities there are. - *.B8.* ) machine=hp800 opsys=hpux8 ;; - *.08.* ) machine=hp800 opsys=hpux8 ;; - *.09.* ) machine=hp800 opsys=hpux9 ;; - *) machine=hp800 opsys=hpux10 ;; - esac - ;; - hppa*-*-nextstep* ) - machine=hp800 opsys=nextstep - ;; - ## IBM machines - i370-ibm-aix*) - machine=ibm370aix opsys=usg5-3 - ;; s390-*-linux-gnu* ) machine=ibms390 opsys=gnu-linux ;; s390x-*-linux-gnu* ) machine=ibms390x opsys=gnu-linux ;; - rs6000-ibm-aix3.1* | powerpc-ibm-aix3.1* ) - machine=ibmrs6000 opsys=aix3-1 - ;; - rs6000-ibm-aix3.2.5 | powerpc-ibm-aix3.2.5 ) - machine=ibmrs6000 opsys=aix3-2-5 - ;; - rs6000-ibm-aix4.1* | powerpc-ibm-aix4.1* ) - machine=ibmrs6000 opsys=aix4-1 - ;; rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2* ) machine=ibmrs6000 opsys=aix4-2 ;; @@ -2608,65 +2508,12 @@ _ACEOF rs6000-ibm-aix5* | powerpc-ibm-aix6* ) machine=ibmrs6000 opsys=aix4-2 ;; - rs6000-ibm-aix4.0* | powerpc-ibm-aix4.0* ) - machine=ibmrs6000 opsys=aix4 - ;; - rs6000-ibm-aix4* | powerpc-ibm-aix4* ) - machine=ibmrs6000 opsys=aix4-1 - ;; - rs6000-ibm-aix* | powerpc-ibm-aix* ) - machine=ibmrs6000 opsys=aix3-2 - ;; - - ## Prime EXL - i[3456]86-prime-sysv* ) - machine=i386 opsys=usg5-3 - ;; - - ## ncr machine running svr4.3. - i[3456]86-ncr-sysv4.3 ) - machine=ncr386 opsys=usg5-4-3 - ;; - - ## Unspecified sysv on an ncr machine defaults to svr4.2. - ## (Plain usg5-4 doesn't turn on POSIX signals, which we need.) - i[3456]86-ncr-sysv* ) - machine=ncr386 opsys=usg5-4-2 - ;; ## Macintosh PowerPC powerpc*-*-linux-gnu* ) machine=macppc opsys=gnu-linux ;; - ## Workstations sold by MIPS - ## This is not necessarily all workstations using the MIPS processor - - ## Irises are produced by SGI, and DECstations by DEC. - - mips-mips-bsd* ) - machine=mips opsys=bsd4-3 - ;; - mips-mips-* ) - machine=mips opsys=usg5-2-2 - ;; - - ## NeXT - m68*-next-* | m68k-*-nextstep* ) - machine=m68k opsys=nextstep - ;; - - ## NEC EWS4800 - mips-nec-sysv4*) - machine=ews4800 opsys=ux4800 - ;; - - ## Siemens Nixdorf - mips-siemens-sysv* | mips-sni-sysv*) - machine=mips-siemens opsys=usg5-4 - NON_GNU_CC=/usr/ccs/bin/cc - NON_GNU_CPP=/usr/ccs/lib/cpp - ;; - ## Silicon Graphics machines ## Iris 4D mips-sgi-irix6.5 ) @@ -2689,7 +2536,6 @@ _ACEOF case "${canonical}" in i[3456]86-*-* ) machine=intel386 ;; amd64-*-*|x86_64-*-*) machine=amdx86-64 ;; - powerpcle* ) machine=powerpcle ;; powerpc* | rs6000* ) machine=ibmrs6000 ;; sparc* ) machine=sparc ;; * ) unported=yes ;; @@ -2719,7 +2565,6 @@ _ACEOF emacs_check_sunpro_c=yes NON_GNU_CPP=/usr/ccs/lib/cpp ;; - * ) opsys=bsd4-2 ;; esac ## Watch out for a compiler that we know will not work. case "${canonical}" in @@ -2733,24 +2578,11 @@ _ACEOF *) ;; esac ;; - sparc-*-nextstep* ) - machine=sparc opsys=nextstep - ;; - - ## Tandem Integrity S2 - mips-tandem-sysv* ) - machine=tandem-s2 opsys=usg5-3 - ;; ## Vaxen. vax-dec-* ) machine=vax case "${canonical}" in - *-bsd4.1* ) opsys=bsd4-1 ;; - *-bsd4.2* | *-ultrix[0-3].* | *-ultrix4.0* ) opsys=bsd4-2 ;; - *-bsd4.3* | *-ultrix* ) opsys=bsd4-3 ;; - *-sysv[01]* | *-sysvr[01]* ) opsys=usg5-0 ;; - *-sysv2* | *-sysvr2* ) opsys=usg5-2 ;; *-vms* ) opsys=vms ;; * ) unported=yes esac @@ -2773,8 +2605,6 @@ _ACEOF *-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; *-sysv5uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; *-sysv5OpenUNIX* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; - *-386bsd* ) opsys=386bsd ;; - *-nextstep* ) opsys=nextstep ;; ## Otherwise, we'll fall through to the generic opsys code at the bottom. esac ;; @@ -2789,13 +2619,6 @@ _ACEOF machine=mips opsys=gnu-linux ;; - ## UXP/DS - sparc-fujitsu-sysv4* ) - machine=sparc opsys=uxpds - NON_GNU_CPP=/usr/ccs/lib/cpp - RANLIB="ar -ts" - ;; - ## AMD x86-64 Linux-based GNU system x86_64-*-linux-gnu* ) machine=amdx86-64 opsys=gnu-linux @@ -2820,13 +2643,6 @@ esac if test x"${opsys}" = x; then case "${canonical}" in *-gnu* ) opsys=gnu ;; - *-bsd4.[01] ) opsys=bsd4-1 ;; - *-bsd4.2 ) opsys=bsd4-2 ;; - *-bsd4.3 ) opsys=bsd4-3 ;; - *-sysv0 | *-sysvr0 ) opsys=usg5-0 ;; - *-sysv2 | *-sysvr2 ) opsys=usg5-2 ;; - *-sysv2.2 | *-sysvr2.2 ) opsys=usg5-2-2 ;; - *-sysv3* | *-sysvr3* ) opsys=usg5-3 ;; *-sysv4.2uw* ) opsys=unixware ;; *-sysv5uw* ) opsys=unixware ;; *-sysv5OpenUNIX* ) opsys=unixware ;; @@ -2849,30 +2665,6 @@ if test x"${opsys}" = x; then esac fi -### Tests for sytems that we beleive are obsolete and should be desupported. - -case "${machine}" in - pmax | hp9000s300 | ibm370aix | ncr386 | ews4800 | mips-siemens | powerpcle | tandem-s2 ) - echo "The system that you are configuring on: ${canonical} is considered to be obsolete" - echo "and it is planned to be desupported in the next version of Emacs" - echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use." - echo "The code is still functional, but you need to edit the 'configure' script and remove the" - echo "exit 33 line. After that you can run configure again and 'complete' the build." - exit 33 - ;; -esac - -case "${opsys}" in - 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 ) - echo "The system that you are configuring on: ${canonical} is considered to be obsolete" - echo "and it is planned to be desupported in the next version of Emacs" - echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use." - echo "The code is still functional, but you need to edit the 'configure' script and remove the" - echo "'exit 44' line. After that you can run 'configure' again and complete the build." - exit 44 - ;; -esac - if test $unported = yes; then diff --git a/configure.in b/configure.in index 7e90aa68cb..72982ad80d 100644 --- a/configure.in +++ b/configure.in @@ -265,9 +265,8 @@ dnl quotation begins ### based on the machine portion of the configuration name, and an s- ### file based on the operating system portion. However, it turns out ### that each m/*.h file is pretty manufacturer-specific - for -### example hp9000s300.h is a 68000 machine; -### mips.h, pmax.h are all MIPS -### machines. So we basically have to have a special case for each +### example mips.h is MIPS +### So we basically have to have a special case for each ### configuration name. ### ### As far as handling version numbers on operating systems is @@ -322,12 +321,6 @@ dnl see the `changequote' comment above. case "${canonical}" in alpha*-*-netbsd*) machine=alpha ;; i[3456]86-*-netbsd*) machine=intel386 ;; - m68k-*-netbsd*) - # This is somewhat bogus. - machine=hp9000s300 ;; - mips-*-netbsd*) machine=pmax ;; - mipsel-*-netbsd*) machine=pmax ;; - mipseb-*-netbsd*) machine=pmax ;; powerpc-*-netbsd*) machine=macppc ;; sparc*-*-netbsd*) machine=sparc ;; vax-*-netbsd*) machine=vax ;; @@ -343,9 +336,7 @@ dnl see the `changequote' comment above. case "${canonical}" in alpha*-*-openbsd*) machine=alpha ;; arm-*-openbsd*) machine=arm ;; - hppa-*-openbsd*) machine=hp9000s300 ;; i386-*-openbsd*) machine=intel386 ;; - m68k-*-openbsd*) machine=hp9000s300 ;; powerpc-*-openbsd*) machine=macppc ;; sparc*-*-openbsd*) machine=sparc ;; vax-*-openbsd*) machine=vax ;; @@ -362,23 +353,6 @@ dnl see the `changequote' comment above. esac ;; - ## BSDI ports - *-*-bsdi* ) - opsys=bsdi - case "${canonical}" in - i[345]86-*-bsdi*) machine=intel386 ;; - sparc-*-bsdi*) machine=sparc ;; - powerpc-*-bsdi*) machine=macppc ;; - esac - case "${canonical}" in - *-*-bsd386* | *-*-bsdi1* ) opsys=bsd386 ;; - *-*-bsdi2.0* ) opsys=bsdos2 ;; - *-*-bsdi2* ) opsys=bsdos2-1 ;; - *-*-bsdi3* ) opsys=bsdos3 ;; - *-*-bsdi[45]* ) opsys=bsdos4 ;; - esac - ;; - alpha*-*-linux-gnu* ) machine=alpha opsys=gnu-linux ;; @@ -405,56 +379,10 @@ dnl see the `changequote' comment above. fi ;; - ## Cubix QBx/386 - i[3456]86-cubix-sysv* ) - machine=intel386 opsys=usg5-3 - ;; - - mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* ) - machine=pmax opsys=bsd4-2 - ;; - mips-dec-ultrix4.[12]* | mips-dec-bsd* ) - machine=pmax opsys=bsd4-3 - ;; - mips-dec-ultrix* ) - machine=pmax opsys=ultrix4-3 - ;; - ## HP 9000 series 200 or 300 - m68*-hp-bsd* ) - machine=hp9000s300 opsys=bsd4-3 - ;; - ## HP/UX 7, 8, 9, and 10 are supported on these machines. - m68*-hp-hpux* ) - case "`uname -r`" in - ## Someone's system reports A.B8.05 for this. - ## I wonder what other possibilities there are. - *.B8.* ) machine=hp9000s300 opsys=hpux8 ;; - *.08.* ) machine=hp9000s300 opsys=hpux8 ;; - *.09.* ) machine=hp9000s300 opsys=hpux9 ;; - *.1[0-9].* ) machine=hp9000s300 opsys=hpux9shr ;; - *) machine=hp9000s300 opsys=hpux ;; - esac - ;; - ## HP 9000 series 700 and 800, running HP/UX - hppa*-hp-hpux7* ) - machine=hp800 opsys=hpux - ;; - hppa*-hp-hpux8* ) - machine=hp800 opsys=hpux8 - ;; - hppa*-hp-hpux9shr* ) - machine=hp800 opsys=hpux9shr - ;; - hppa*-hp-hpux9* ) - machine=hp800 opsys=hpux9 - ;; hppa*-hp-hpux10.2* ) machine=hp800 opsys=hpux10-20 ;; - hppa*-hp-hpux10* ) - machine=hp800 opsys=hpux10 - ;; hppa*-hp-hpux1[1-9]* ) machine=hp800 opsys=hpux11 CFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CFLAGS" @@ -464,41 +392,13 @@ dnl see the `changequote' comment above. machine=hp800 opsys=gnu-linux ;; - ## HP 9000 series 700 and 800, running HP/UX - hppa*-hp-hpux* ) - ## Cross-compilation? Nah! - case "`uname -r`" in - ## Someone's system reports A.B8.05 for this. - ## I wonder what other possibilities there are. - *.B8.* ) machine=hp800 opsys=hpux8 ;; - *.08.* ) machine=hp800 opsys=hpux8 ;; - *.09.* ) machine=hp800 opsys=hpux9 ;; - *) machine=hp800 opsys=hpux10 ;; - esac - ;; - hppa*-*-nextstep* ) - machine=hp800 opsys=nextstep - ;; - ## IBM machines - i370-ibm-aix*) - machine=ibm370aix opsys=usg5-3 - ;; s390-*-linux-gnu* ) machine=ibms390 opsys=gnu-linux ;; s390x-*-linux-gnu* ) machine=ibms390x opsys=gnu-linux ;; - rs6000-ibm-aix3.1* | powerpc-ibm-aix3.1* ) - machine=ibmrs6000 opsys=aix3-1 - ;; - rs6000-ibm-aix3.2.5 | powerpc-ibm-aix3.2.5 ) - machine=ibmrs6000 opsys=aix3-2-5 - ;; - rs6000-ibm-aix4.1* | powerpc-ibm-aix4.1* ) - machine=ibmrs6000 opsys=aix4-1 - ;; rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2* ) machine=ibmrs6000 opsys=aix4-2 ;; @@ -511,65 +411,12 @@ dnl see the `changequote' comment above. rs6000-ibm-aix5* | powerpc-ibm-aix6* ) machine=ibmrs6000 opsys=aix4-2 ;; - rs6000-ibm-aix4.0* | powerpc-ibm-aix4.0* ) - machine=ibmrs6000 opsys=aix4 - ;; - rs6000-ibm-aix4* | powerpc-ibm-aix4* ) - machine=ibmrs6000 opsys=aix4-1 - ;; - rs6000-ibm-aix* | powerpc-ibm-aix* ) - machine=ibmrs6000 opsys=aix3-2 - ;; - - ## Prime EXL - i[3456]86-prime-sysv* ) - machine=i386 opsys=usg5-3 - ;; - - ## ncr machine running svr4.3. - i[3456]86-ncr-sysv4.3 ) - machine=ncr386 opsys=usg5-4-3 - ;; - - ## Unspecified sysv on an ncr machine defaults to svr4.2. - ## (Plain usg5-4 doesn't turn on POSIX signals, which we need.) - i[3456]86-ncr-sysv* ) - machine=ncr386 opsys=usg5-4-2 - ;; ## Macintosh PowerPC powerpc*-*-linux-gnu* ) machine=macppc opsys=gnu-linux ;; - ## Workstations sold by MIPS - ## This is not necessarily all workstations using the MIPS processor - - ## Irises are produced by SGI, and DECstations by DEC. - - mips-mips-bsd* ) - machine=mips opsys=bsd4-3 - ;; - mips-mips-* ) - machine=mips opsys=usg5-2-2 - ;; - - ## NeXT - m68*-next-* | m68k-*-nextstep* ) - machine=m68k opsys=nextstep - ;; - - ## NEC EWS4800 - mips-nec-sysv4*) - machine=ews4800 opsys=ux4800 - ;; - - ## Siemens Nixdorf - mips-siemens-sysv* | mips-sni-sysv*) - machine=mips-siemens opsys=usg5-4 - NON_GNU_CC=/usr/ccs/bin/cc - NON_GNU_CPP=/usr/ccs/lib/cpp - ;; - ## Silicon Graphics machines ## Iris 4D mips-sgi-irix6.5 ) @@ -592,7 +439,6 @@ dnl see the `changequote' comment above. case "${canonical}" in i[3456]86-*-* ) machine=intel386 ;; amd64-*-*|x86_64-*-*) machine=amdx86-64 ;; - powerpcle* ) machine=powerpcle ;; powerpc* | rs6000* ) machine=ibmrs6000 ;; sparc* ) machine=sparc ;; * ) unported=yes ;; @@ -622,7 +468,6 @@ dnl see the `changequote' comment above. emacs_check_sunpro_c=yes NON_GNU_CPP=/usr/ccs/lib/cpp ;; - * ) opsys=bsd4-2 ;; esac ## Watch out for a compiler that we know will not work. case "${canonical}" in @@ -636,24 +481,11 @@ dnl see the `changequote' comment above. *) ;; esac ;; - sparc-*-nextstep* ) - machine=sparc opsys=nextstep - ;; - - ## Tandem Integrity S2 - mips-tandem-sysv* ) - machine=tandem-s2 opsys=usg5-3 - ;; ## Vaxen. vax-dec-* ) machine=vax case "${canonical}" in - *-bsd4.1* ) opsys=bsd4-1 ;; - *-bsd4.2* | *-ultrix[0-3].* | *-ultrix4.0* ) opsys=bsd4-2 ;; - *-bsd4.3* | *-ultrix* ) opsys=bsd4-3 ;; - *-sysv[01]* | *-sysvr[01]* ) opsys=usg5-0 ;; - *-sysv2* | *-sysvr2* ) opsys=usg5-2 ;; *-vms* ) opsys=vms ;; * ) unported=yes esac @@ -676,8 +508,6 @@ dnl see the `changequote' comment above. *-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; *-sysv5uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; *-sysv5OpenUNIX* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;; - *-386bsd* ) opsys=386bsd ;; - *-nextstep* ) opsys=nextstep ;; ## Otherwise, we'll fall through to the generic opsys code at the bottom. esac ;; @@ -692,13 +522,6 @@ dnl see the `changequote' comment above. machine=mips opsys=gnu-linux ;; - ## UXP/DS - sparc-fujitsu-sysv4* ) - machine=sparc opsys=uxpds - NON_GNU_CPP=/usr/ccs/lib/cpp - RANLIB="ar -ts" - ;; - ## AMD x86-64 Linux-based GNU system x86_64-*-linux-gnu* ) machine=amdx86-64 opsys=gnu-linux @@ -723,13 +546,6 @@ esac if test x"${opsys}" = x; then case "${canonical}" in *-gnu* ) opsys=gnu ;; - *-bsd4.[01] ) opsys=bsd4-1 ;; - *-bsd4.2 ) opsys=bsd4-2 ;; - *-bsd4.3 ) opsys=bsd4-3 ;; - *-sysv0 | *-sysvr0 ) opsys=usg5-0 ;; - *-sysv2 | *-sysvr2 ) opsys=usg5-2 ;; - *-sysv2.2 | *-sysvr2.2 ) opsys=usg5-2-2 ;; - *-sysv3* | *-sysvr3* ) opsys=usg5-3 ;; *-sysv4.2uw* ) opsys=unixware ;; *-sysv5uw* ) opsys=unixware ;; *-sysv5OpenUNIX* ) opsys=unixware ;; @@ -752,30 +568,6 @@ if test x"${opsys}" = x; then esac fi -### Tests for sytems that we beleive are obsolete and should be desupported. - -case "${machine}" in - pmax | hp9000s300 | ibm370aix | ncr386 | ews4800 | mips-siemens | powerpcle | tandem-s2 ) - echo "The system that you are configuring on: ${canonical} is considered to be obsolete" - echo "and it is planned to be desupported in the next version of Emacs" - echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use." - echo "The code is still functional, but you need to edit the 'configure' script and remove the" - echo "exit 33 line. After that you can run configure again and 'complete' the build." - exit 33 - ;; -esac - -case "${opsys}" in - 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 ) - echo "The system that you are configuring on: ${canonical} is considered to be obsolete" - echo "and it is planned to be desupported in the next version of Emacs" - echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use." - echo "The code is still functional, but you need to edit the 'configure' script and remove the" - echo "'exit 44' line. After that you can run 'configure' again and complete the build." - exit 44 - ;; -esac - ] dnl quotation ends @@ -1475,9 +1267,6 @@ case ${HAVE_X11} in yes ) HAVE_MENUS=yes ;; esac -### Compute the unexec source name from the object name. -UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" - # Do the opsystem or machine files prohibit the use of the GNU malloc? # Assume not, until told otherwise. GNU_MALLOC=yes diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index d5bf99ec61..f604fe7a3b 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2008-06-26 Dan Nicolaescu + + * os.texi: Remove references to obsolete systems. + 2008-06-20 Eli Zaretskii * makefile.w32-in (distclean): Remove makefile. diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 0519e7dfa3..7eb3c95e6a 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 MS-DOS binds @code{system-type} to @code{ms-dos} even when you run it on MS-Windows. -@item next-mach -NeXT Mach-based system. - @item usg-unix-v AT&T System V. diff --git a/etc/MACHINES b/etc/MACHINES index f2b9a36bc0..7ea6400253 100644 --- a/etc/MACHINES +++ b/etc/MACHINES @@ -121,62 +121,10 @@ Fujitsu DS/90 (sparc-fujitsu-sysv4) Changes merged in 20.3. -GEC 63 (local-gec63-usg5.2) - - Changes are partially merged in version 18, but certainly require - more work. Let us know if you get this working, and we'll give it a - real configuration name. - Harris Power PC (powerpc-harris-powerunix) Patches have been merged in 19.31. -Hewlett-Packard 9000 series 200 or 300 (m68k-hp-bsd or m68k-hp-hpux - or m68k-hp-netbsd) - - These machines are 68000-series CPUs running HP/UX - (a derivative of sysV with some BSD features) or BSD 4.3 ported by Utah. - The operating system suffix determines which system Emacs is built for. - - Series 200 HPUX runs Emacs only if it has the "HP/UX upgrade". - - Version 19 works under BSD. The 19.26 pretest was reported - to work on HPUX 9. 19.31 works on HPUX 10.01, but there are - some problems on 10.10 which have not been resolved. Emacs 19.34 - works on HPUX 10.20 provided you compile with GCC; with the HP C - compiler, subprocess commands do not work. - - On HPUX 9, Emacs sometimes crashes with SIGBUS or SIGSEGV after you - delete a frame. We think this is due to a bug in the X libraries - provided by HP. With the alternative X libraries in - /usr/contrib/mitX11R5/lib, the problem does not happen. - - If you are running HP/UX release 8.0 or later, you need the optional - "C/ANSI C" software in order to build Emacs (older releases of HP/UX - do not require any special software). If the file "/etc/filesets/C" - exists on your machine, you have this software, otherwise you do not. - - Note that HP has used two incompatible assembler syntaxes, - and has recently changed the format of C function frames. - `src/crt0.c' and `src/alloca.s' have been conditionalised for the new - assembler and new function-entry sequence. You may need to define - OLD_HP_ASSEMBLER if you are using an older hpux version. If you - have an official (bought from HP) series 300 machine you have - the new assembler. Kernels that are 5.+ or later have new - assembler. A Series 200 that has been upgraded to a 68010 - processor and a 5.+ kernel has the new compiler. - - Define C_SWITCH_MACHINE to be +X to make a version of Emacs that - runs on both 68010 and 68020 based HP/UX's. - - Define HPUX_68010 if you are using the new assembler, for - a system that has a 68010 without a 68881. This is to say, - a s200 (upgraded) or s310. - - Define the symbol HPUX_NET if you have the optional network features - that include the `netunam' system call. This is referred to as - Network Services (NS/9000) in HP literature. - HP 9000 series 500: not supported. The series 500 has a seriously incompatible memory architecture @@ -184,13 +132,11 @@ HP 9000 series 500: not supported. and support for it would be difficult to implement. HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux - or ...hpux9shr, or ...-nextstep) + or ...hpux9shr) Use hppa1.1 for the 700 series and hppa1.0 for the 800 series machines. (Emacs may not actually care which one you use.) - Support for NextSTEP was added in 19.31. - Emacs 20 may work on HPUX 10. You need patch PHSS_6202 to install the Xaw and Xmu libraries. On HPUX 10.20 you may need to compile with GCC; 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 do not require any special software). If the file "/etc/filesets/C" exists on your machine, you have this software, otherwise you do not. -IBM PS/2 (i386-ibm-aix1.1 or i386-ibm-aix1.2) - - Changes merged in version 19. You may need to copy - /usr/lib/samples/hft/hftctl.c to the Emacs src directory. - - i386-ibm-aix1.1 may not work with certain new X window managers, and - may be suboptimal. - IBM RS/6000 (rs6000-ibm-aix*) Emacs 19.26 is believed to work; its pretest was tested. @@ -299,22 +237,6 @@ IBM System/390 running GNU/Linux (s390-*-linux-gnu) As of Emacs 21.2, a 31-bit only version is supported on this system. -Integrated Solutions `Optimum V' (m68k-isi-bsd4.2 or -bsd4.3) - - 18.52 said to work on some sort of ISI machine. - Version 18.45 worked (running on a Optimum V (VME bus, 68020) - BSD 4.2 (3.05e) system). 18.42 is reported to work on - a Qbus 68010 system. Has not been tried on `WorkStation' `Cluster - Compute Node' `Cluster WorkStation' or `Server Node' (Love the - StudLYCaps) - - Compilation with -O is rumored to break something. - - On recent system versions, you may need to undefine the macro UMAX - in `lib-src/loadst.c' and `src/getpagesize.h'. They stupidly defined this - in a system header file, which confuses Emacs (which thinks that UMAX - indicates the Umax operating system). - Intel 386 (i386-*-bsdi2, i386-*-freebsd, i386-*-linux-gnu, i386-*-sol2.4, i386-*-sysv3, i386-intsys-sysv, i386-*-sysv4, i386-*-sysv4.2, @@ -424,12 +346,6 @@ Intel 386 (i386-*-bsdi2, i386-*-freebsd, i386-*-linux-gnu, but define `struct tc' instead; add `#define tchars tc' to config.h to solve this problem. -Iris 2500 and Iris 2500 Turbo (m68k-sgi-iris3.5 or m68k-sgi-iris3.6) - - Version 18 was said to work; use m68k-sgi-iris3.5 for system version 2.5 - and m68k-sgi-iris3.6 for system version 3.6. - Note that the 3030 is the same as the Iris 2500 Turbo. - Iris 4D (mips-sgi-irix[456].*) Emacs 21.3 is reported to work on IRIX 6.5.x. @@ -491,54 +407,10 @@ NCR Intel system (i386-ncr-sysv4.2) you may need to set LD_RUN_PATH at link time to specify where to find the X libraries. -NEC EWS4800 (mips-nec-sysv4) - - This system works in 20.4, but you should use the compiler - /usr/abiccs/bin/cc (MIPS ABI MODE). - -NeXT (m68k-next-nextstep) - - Emacs 19 has not been tested extensively yet, but it seems to work - in a NeXTStep 3.0 terminal window, and under the X server called - co-Xist. You may need to specify -traditional when src/Makefile - builds xmakefile. - - NeXT users might want to implement direct operation with NeXTStep, - but from the point of view of the GNU project, that is a - distraction. - - Thanks to Thorsten Ohl for working on the NeXT port of Emacs 19. - -Pmax (DEC Mips) (mips-dec-ultrix or mips-dec-osf1) - - See under DECstation, above. - Prime EXL (i386-prime-sysv) Minor changes merged in 19.1. -Sequent Symmetry (i386-sequent-bsd, i386-sequent-ptx, i386-sequent-ptx4) - - 19.33 has changes to support ptx 4 (a modified SVR4). - - Emacs 19 should work on Dynix (BSD). However, if you compile with - the Sequent compiler, you may find Emacs does not restore the - terminal settings on exit. If this happens, compile with GCC. - - Emacs 19.27 contains patches that should support - DYNIX/ptx 1.4 and 2.1 with the native cc compiler. - - GCC can't compile src/process.c due to a non-standard Sequent asm - keyword extension supported by cc and used for the network byte/word - swapping functions in the PTX /usr/include/netinet/in.h file. GCC - 2.5.8 includes the file which can be included into - netinet/in.h to perform these byte/word swapping functions in the - same manner. Patches have been submitted to the FSF against GCC - 2.6.0 to fix this problem and allow Emacs to be built with GCC. - - If your machine does not have TCP/IP installed, you will have to edit the - src/s/ptx.h file and comment out #define TCPIP_INSTALLED. - Siemens Nixdorf RM600 and RM400 (mips-siemens-sysv4) Changes merged in 19.29. The version configured with @@ -558,23 +430,8 @@ Siemens Nixdorf RM600 and RM400 (mips-siemens-sysv4) LIBW= /usr/lib/libXm.a /usr/ccs/lib/libgen.a LIBXT= $(LIBW) -lXmu /usr/lib/libXt.a $(LIBXTR6) -lXext -SONY News (m68k-sony-bsd4.2 or m68k-sony-bsd4.3) - - 18.52 worked. Use m68k-sony-bsd4.3 for system release 3. - -SONY News 3000 series (RISC NEWS) (mips-sony-bsd) - - The 19.26 pretest is reported to work. - - Some versions of the operating system give SIGTRAP for division by zero - instead of the usual signals. This causes division by zero - to make Emacs crash. The system should be fixed to give the proper signal. - Changing Emacs is not a proper solution, because it would prevent - Emacs from working under any debugger. But you can change init_data - in data.c if you wish. - -Sun 3, Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*, - i386-sun-solaris2.*, sparc*-*-linux-gnu) +Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*, + i386-sun-solaris2.*, sparc*-*-linux-gnu) To build a 32-bit Emacs (i.e. if you are having any sort of problem 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.*, There are reports that using SunSoft cc with -xO4 -xdepend produces bad code for some part of Emacs. - Emacs works ok Sunos 4.1.x - provided you completely replace your C shared library - using one of the SunOS 4.1.x jumbo replacement patches from Sun. - Here are the patch numbers for Sunos 4.1.3: - 100890-10 SunOS 4.1.3: domestic libc jumbo patch - 100891-10 SunOS 4.1.3: international libc jumbo patch - Some people report that Emacs crashes immediately on startup when used with a non-X terminal, but we think this is due to compiling 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.*, The problem went away when GCC 2.7.0 was used instead. We do not know whether anything in Emacs is partly to blame for this. - X11R6 is set up to make shared libraries only, on Sunos 4. - Therefore, in order to link Emacs, you need to create static X libraries. - To do this, rebuild X11 after setting - #define ForceNormalLib YES - #define SeparateSharedCompile YES - in site.def (after #ifdef AfterVendorCF). - If you compile with Sun's ANSI compiler acc, you need additional options when linking temacs, such as /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.*, (now remapped as part of the text). These are never swapped in. - To build a single Emacs that will run on Sun 2 and Sun 3 - HARDWARE, just build it on the Sun 2. - - On Sunos 4.1.3, the word is that Emacs can loop infinitely - on startup with X due perhaps to a bug in Sunos. Installing all of - these Sun patches fixes the problem. We don't know which of them - are really relevant. - - 100075-11 100224-06 100347-03 100482-05 100557-02 100623-03 100804-03 - 101080-01 100103-12 100249-09 100496-02 100564-07 100630-02 100891-10 - 101134-01 100170-09 100296-04 100377-09 100507-04 100567-04 100650-02 - 101070-01 101145-01 100173-10 100305-15 100383-06 100513-04 100570-05 - 100689-01 101071-03 101200-02 100178-09 100338-05 100421-03 100536-02 - 100584-05 100784-01 101072-01 101207-01 - Tadpole 68K (m68k-tadpole-sysv) Changes merged in 19.1. @@ -726,13 +554,6 @@ Tadpole 68K (m68k-tadpole-sysv) chmod 2755 etc/movemail; chgrp mail etc/movemail -Tandem Integrity S2 (mips-tandem-sysv) - - Changes merged in 18.56 but subprocess support is turned off. - You will probably want to see if you can make subprocesses work. - - You must edit `lib-src/Makefile' to define LOADLIBES = -mld. - Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3), Ultrix (vax-dec-ultrix), 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), Here are notes about some of the systems supported: -Berkeley 4.1 (bsd4.1) - - Works on vaxes. - -Berkeley 4.2 (bsd4.2) - - Works on several machines. - -Berkeley 4.3 (bsd4.3) - - Works, on Vaxes at least. - Linux (actually GNU/Linux) Most of the complete systems which use the Linux kernel are close @@ -805,57 +614,6 @@ SCO Unix If you are using SMAIL, you need to define the macro SMAIL in config.h. -System V rel 0 (usg5.0) - - Works, on Vaxes and 3bxxx's. - There are some problems in 18.37 due to shortnames/cccp problems: - use the emacs 17 cpp if you have it. - -System V rel 2 (usg5.2) - - Works on various machines. - On some (maybe all) machines the library -lPW exists and contains - a version of `alloca'. On these machines, to use it, put - #define HAVE_ALLOCA - #define LIB_STANDARD -lPW -lc - in the `src/m/MACHINENAME.h' file for the machine. - - If you find that the character Meta-DEL makes Emacs crash, - find where function init_sys_modes in sysdep.c sets sg.c_cc[VQUIT] - and make it store 7 there. I have as yet no evidence of whether - this problem, known in HP/UX, exists in other system V versions. - -System V rel 2.2 (usg5.2.2) - - In 5.2.2 AT&T undid, incompatibly, their previous incompatible - change to the way the nlist library is called. A different s- file - is used to enable the other interface. - - They call themselves the right choice--can't they choose? - - Emacs version 18 unexec is currently not working properly - on 5.2.2. Nobody knows why yet. A workaround is to define - NO_REMAP. It is not yet known whether this applies to all - machines running 5.2.2. - -System V rel 3 (usg5.3) - - Some versions of this system support ptys and BSD-style sockets. - On such systems, you should define HAVE_PTYS and HAVE_SOCKETS in config.h. - - If you want to link Emacs with shared libraries, define - USG_SHARED_LIBRARIES. - - You may have to add ANSI idempotence #-lines to your sys/types.h - file to get Emacs to compile correctly. This may be necessary on - other pre-ANSI systems as well. - - On an AT&T 6386WGS using System V Release 3.2 and X11R3, the X support - cannot be made to work. Whether or not the GNU relocating malloc is - used, the symptom is that the first call Emacs makes to sbrk(0) returns - (char *)-1. Sorry, you're stuck with character-only mode. Try - installing XFree86 to fix this. - System V rel 4.0.3 and 4.0.4 (usg5.4) 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) #undef HAVE_SOCKETS in config.h, after the inclusion of s-usg5-4.h. (Any system that supports Internet should implement sockets.) -Ultrix (bsd4.3) - - Recent versions of Ultrix appear to support the features of Berkeley 4.3. - Ultrix was at the BSD 4.2 level for a long time after BSD 4.3 came out. - - Ultrix 3.0 has incompatibilities in its X library if you have the - Ultrix version of X (UWS version 2.0). To solve them, you need to - prevent XvmsAlloc.o in Xlib from being used. Israel Pinkas says: - - I added the following lines to config.h after the X defines: - - #if defined(ultrix) && defined(X11) - #define OBJECTS_SYSTEM calloc.o - #endif - - Then I ran the following: - - ar x /usr/lib/libc.a calloc.o - - The problem is said to be gone in UWS version 2.1. - VMS (vmsM.N) Richard Levitte distributes a set of patches to @@ -964,6 +701,9 @@ Support for the following obsolete platforms was removed in Emacs 23.1 Apollo (m/apollo.h) AT&T 3b (m/att3b.h) Aviion (m/aviion*) + Berkeley 4.1 (m/bsd4.1.h) + Berkeley 4.2 (m/bsd4.2.h) + Berkeley 4.3 (m/bsd4.3.h) Celerity (m/celerity.h) clipper (m/clipper.h) convergent S series (m/cnvrgnt.h) @@ -1014,6 +754,16 @@ Support for the following obsolete platforms was removed in Emacs 23.1 Sun's 386-based RoadRunner (m/sun386.h) Sun3 machines (m/sun3*) Integrated Solutions 386 machine (m/is386.h) + Integrated Solutions `Optimum V' -- m68k-isi-bsd4.2 or -bsd4.3 + Hewlett-Packard 9000 series 200 or 300 -- m68k-hp-bsd or m68k-hp-hpux or m68k-hp-netbsd + IBM PS/2 -- i386-ibm-aix1.1 or i386-ibm-aix1.2 + GEC 63 -- local-gec63-usg5.2 + Tandem Integrity S2 -- mips-tandem-sysv + System V rel 0 -- usg5.0 + System V rel 2 -- usg5.2 + System V rel 2.2 -- usg5.2.2 + System V rel 3 -- usg5.3 + Ultrix -- bsd4.3 Local variables: diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index f87f53d6f2..ce2eea2679 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,7 @@ +2008-06-26 Dan Nicolaescu + + * fakemail.c: Remove references to obsolete variables. + 2008-06-02 Jim Meyering * ebrowse.c (xfree): Remove definition; s/xfree/free/. diff --git a/lib-src/fakemail.c b/lib-src/fakemail.c index ead5ac6185..c732511f90 100644 --- a/lib-src/fakemail.c +++ b/lib-src/fakemail.c @@ -24,7 +24,7 @@ along with GNU Emacs. If not, see . */ #include #endif -#if defined (BSD_SYSTEM) && !defined (BSD4_1) && !defined (USE_FAKEMAIL) +#if defined (BSD_SYSTEM) && !defined (USE_FAKEMAIL) /* This program isnot used in BSD, so just avoid loader complaints. */ int main () diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index 4fd03926ce..a3fe863e9f 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog @@ -1,3 +1,7 @@ +2008-06-26 Dan Nicolaescu + + * lwlib.c: Remove references to obsolete variables. + 2008-06-02 Jim Meyering remove useless if-before-free tests diff --git a/lwlib/lwlib.c b/lwlib/lwlib.c index 03c402163e..73f458adb9 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 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#ifdef NeXT -#undef __STRICT_BSD__ /* ick */ -#endif - #ifdef HAVE_CONFIG_H #include #endif diff --git a/nt/ChangeLog b/nt/ChangeLog index d228b84bd7..6c06e571ad 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,7 @@ +2008-06-26 Dan Nicolaescu + + * config.nt: Remove reference to UNEXEC_SRC. + 2008-06-23 Juanma Barranquero Eli Zaretskii diff --git a/nt/config.nt b/nt/config.nt index 777fe83c9c..8deebdf6ae 100644 --- a/nt/config.nt +++ b/nt/config.nt @@ -202,8 +202,6 @@ along with GNU Emacs. If not, see . */ #undef CRAY_STACKSEG_END -#undef UNEXEC_SRC - #undef HAVE_LIBXBSD #undef HAVE_XRMSETDATABASE #undef HAVE_XSCREENRESOURCESTRING diff --git a/src/ChangeLog b/src/ChangeLog index eea911d7a8..4450763e1a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,73 @@ +2008-06-26 Dan Nicolaescu + + * 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. + 2008-06-25 Chong Yidong * xfns.c (x_default_font_parameter): If Xft is available, first diff --git a/src/Makefile.in b/src/Makefile.in index 60aace0a53..8acfa014f2 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -52,7 +52,6 @@ version=@version@ LIBOBJS = @LIBOBJS@ lispsource = ${srcdir}/../lisp/ -admindir = $(srcdir)/../admin/ libsrc = ../lib-src/ etc = ../etc/ oldXMenudir = ../oldXMenu/ @@ -94,11 +93,6 @@ SHELL=/bin/sh do not let it interfere with this file. */ #undef register -/* On some systems we may not be able to use the system make command. */ -#ifdef MAKE_COMMAND -MAKE = MAKE_COMMAND -#endif - /* GNU libc requires ORDINARY_LINK so that its own crt0 is used. GNU/Linux is an exception because it uses a funny variant of GNU libc. */ #ifdef __GNU_LIBRARY__ @@ -500,9 +494,6 @@ TEMACS_LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_TEMACS LD_SWITCH_MACHINE LD_S #ifndef UNEXEC #define UNEXEC unexec.o #endif -#ifndef UNEXEC_SRC -#define UNEXEC_SRC unexec.c -#endif INTERVAL_SRC = intervals.h composite.h @@ -1141,10 +1132,17 @@ terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \ terminfo.o: terminfo.c $(config_h) tparam.o: tparam.c $(config_h) undo.o: undo.c buffer.h commands.h window.h $(config_h) -/* This hack is to discard any space that cpp might put at the beginning - of UNEXEC when substituting it in. */ -UNEXEC_ALIAS=UNEXEC -$(UNEXEC_ALIAS): UNEXEC_SRC $(config_h) +unexaix.o: unexaix.c $(config_h) +unexalpha.o: unexalpha.c $(config_h) +unexcw.o: unexcw.c $(config_h) +unexec.o: unexec.c $(config_h) +unexelf.o: unexelf.c $(config_h) +unexhp9k800.o: unexhp9k800.c $(config_h) +unexmacosx.o: unexmacosx.c $(config_h) +unexmips.o: unexmips.c $(config_h) +unexnext.o: unexnext.c $(config_h) +unexsol.o: unexsol.c $(config_h) +unexw32.o: unexw32.c $(config_h) w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \ msdos.h buffer.h charset.h coding.h composite.h $(config_h) widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \ diff --git a/src/data.c b/src/data.c index a695c4d56b..ab52c20c77 100644 --- a/src/data.c +++ b/src/data.c @@ -45,16 +45,6 @@ along with GNU Emacs. If not, see . */ #endif #endif -/* Work around a problem that happens because math.h on hpux 7 - defines two static variables--which, in Emacs, are not really static, - because `static' is defined as nothing. The problem is that they are - here, in floatfns.c, and in lread.c. - These macros prevent the name conflict. */ -#if defined (HPUX) && !defined (HPUX8) -#define _MAXLDBL data_c_maxldbl -#define _NMAXLDBL data_c_nmaxldbl -#endif - #include #if !defined (atof) @@ -3285,11 +3275,7 @@ arith_error (signo) /* VMS systems are like USG. */ signal (signo, arith_error); #endif /* VMS */ -#ifdef BSD4_1 - sigrelse (SIGFPE); -#else /* not BSD4_1 */ sigsetmask (SIGEMPTYMASK); -#endif /* not BSD4_1 */ SIGNAL_THREAD_CHECK (signo); xsignal0 (Qarith_error); diff --git a/src/doc.c b/src/doc.c index c307119eaf..433a6109af 100644 --- a/src/doc.c +++ b/src/doc.c @@ -22,7 +22,7 @@ along with GNU Emacs. If not, see . */ #include #include -#include /* Must be after sys/types.h for USG and BSD4_1*/ +#include /* Must be after sys/types.h for USG*/ #include #ifdef HAVE_FCNTL_H diff --git a/src/ecrt0.c b/src/ecrt0.c index fcf4fee26e..4c4f297c9c 100644 --- a/src/ecrt0.c +++ b/src/ecrt0.c @@ -200,120 +200,6 @@ start1 (ignore, argc, xargv) #endif /* not CRT0_DUMMIES */ -#ifdef hp9000s300 -int argc_value; -char **argv_value; -#ifdef OLD_HP_ASSEMBLER - asm(" text"); - asm(" globl __start"); - asm(" globl _exit"); - asm(" globl _main"); - asm("__start"); - asm(" dc.l 0"); - asm(" subq.w #0x1,d0"); - asm(" move.w d0,float_soft"); - asm(" move.l 0x4(a7),d0"); - asm(" beq.s skip_1"); - asm(" move.l d0,a0"); - asm(" clr.l -0x4(a0)"); - asm("skip_1"); - asm(" move.l a7,a0"); - asm(" subq.l #0x8,a7"); - asm(" move.l (a0),(a7)"); - asm(" move.l (a0),_argc_value"); - asm(" addq.l #0x4,a0"); - asm(" move.l a0,0x4(a7)"); - asm(" move.l a0,_argv_value"); - asm("incr_loop"); - asm(" tst.l (a0)+"); - asm(" bne.s incr_loop"); - asm(" move.l 0x4(a7),a1"); - asm(" cmp.l (a1),a0"); - asm(" blt.s skip_2"); - asm(" subq.l #0x4,a0"); - asm("skip_2"); - asm(" move.l a0,0x8(a7)"); - asm(" move.l a0,_environ"); - asm(" jsr _main"); - asm(" addq.l #0x8,a7"); - asm(" move.l d0,-(a7)"); - asm(" jsr _exit"); - asm(" move.w #0x1,d0"); - asm(" trap #0x0"); - asm(" comm float_soft,4"); -/* float_soft is allocated in this way because C would - put an underscore character in its name otherwise. */ - -#else /* new hp assembler */ - - asm(" text"); - asm(" global float_loc"); - asm(" set float_loc,0xFFFFB000"); - asm(" global fpa_loc"); - asm(" set fpa_loc,0xfff08000"); - asm(" global __start"); - asm(" global _exit"); - asm(" global _main"); - asm("__start:"); - asm(" byte 0,0,0,0"); - asm(" subq.w &1,%d0"); - asm(" mov.w %d0,float_soft"); - asm(" mov.w %d1,flag_68881"); -#ifndef HPUX_68010 - asm(" beq.b skip_float"); - asm(" fmov.l &0x7400,%fpcr"); -/* asm(" fmov.l &0x7480,%fpcr"); */ -#endif /* HPUX_68010 */ - asm("skip_float:"); - asm(" mov.l %a0,%d0"); - asm(" add.l %d0,%d0"); - asm(" subx.w %d1,%d1"); - asm(" mov.w %d1,flag_68010"); - asm(" add.l %d0,%d0"); - asm(" subx.w %d1,%d1"); - asm(" mov.w %d1,flag_fpa"); - asm(" tst.l %d2"); - asm(" ble.b skip_3"); - asm(" lsl flag_68881"); - asm(" lsl flag_fpa"); - asm("skip_3:"); - asm(" mov.l 4(%a7),%d0"); - asm(" beq.b skip_1"); - asm(" mov.l %d0,%a0"); - asm(" clr.l -4(%a0)"); - asm("skip_1:"); - asm(" mov.l %a7,%a0"); - asm(" subq.l &8,%a7"); - asm(" mov.l (%a0),(%a7)"); - asm(" mov.l (%a0),_argc_value"); - asm(" addq.l &4,%a0"); - asm(" mov.l %a0,4(%a7)"); - asm(" mov.l %a0,_argv_value"); - asm("incr_loop:"); - asm(" tst.l (%a0)+"); - asm(" bne.b incr_loop"); - asm(" mov.l 4(%a7),%a1"); - asm(" cmp.l %a0,(%a1)"); - asm(" blt.b skip_2"); - asm(" subq.l &4,%a0"); - asm("skip_2:"); - asm(" mov.l %a0,8(%a7)"); - asm(" mov.l %a0,_environ"); - asm(" jsr _main"); - asm(" addq.l &8,%a7"); - asm(" mov.l %d0,-(%a7)"); - asm(" jsr _exit"); - asm(" mov.w &1,%d0"); - asm(" trap &0"); - asm(" comm float_soft, 4"); - asm(" comm flag_68881, 4"); - asm(" comm flag_68010, 4"); - asm(" comm flag_68040, 4"); - asm(" comm flag_fpa, 4"); - -#endif /* new hp assembler */ -#endif /* hp9000s300 */ - #ifdef sparc asm (".global __start"); asm (".text"); @@ -337,12 +223,6 @@ asm (" nop"); #if __FreeBSD__ == 2 char *__progname; #endif -#ifdef __bsdi__ -#include /* for version number */ -#if defined(_BSDI_VERSION) && (_BSDI_VERSION >= 199501) -char *__progname; -#endif -#endif /* __bsdi__ */ /* arch-tag: 4025c2fb-d6b1-4d29-b1b6-8100b6bd1e74 (do not change this comment) */ diff --git a/src/emacs.c b/src/emacs.c index 517b39e828..b27e787e7e 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -922,16 +922,6 @@ main (argc, argv } #endif -#ifdef NeXT - { - extern int malloc_cookie; - /* This helps out unexnext.c. */ - if (initialized) - if (malloc_jumpstart (malloc_cookie) != 0) - printf ("malloc jumpstart failed!\n"); - } -#endif /* NeXT */ - #ifdef MAC_OSX /* Skip process serial number passed in the form -psn_x_y as command-line argument. The WindowServer adds this option when @@ -1505,7 +1495,7 @@ main (argc, argv if this is not done. Do it after set_global_environment so that we don't pollute Vglobal_environment. */ /* Setting LANG here will defeat the startup locale processing... */ -#ifdef AIX3_2 +#ifdef AIX putenv ("LANG=C"); #endif diff --git a/src/fileio.c b/src/fileio.c index 2a700a69f9..ffb65497a4 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -122,11 +122,6 @@ extern int errno; #ifdef HPUX #include -#ifndef HPUX8 -#ifndef HPUX9 -#include -#endif -#endif #endif #include "commands.h" @@ -2792,12 +2787,7 @@ This is what happens in interactive use with M-x. */) || INTEGERP (ok_if_already_exists)) barf_or_query_if_file_exists (newname, "rename to it", INTEGERP (ok_if_already_exists), 0, 0); -#ifndef BSD4_1 if (0 > rename (SDATA (encoded_file), SDATA (encoded_newname))) -#else - if (0 > link (SDATA (encoded_file), SDATA (encoded_newname)) - || 0 > unlink (SDATA (encoded_file))) -#endif { if (errno == EXDEV) { diff --git a/src/floatfns.c b/src/floatfns.c index 5600d98065..8ee28210e4 100644 --- a/src/floatfns.c +++ b/src/floatfns.c @@ -62,16 +62,6 @@ along with GNU Emacs. If not, see . */ #endif #endif -/* Work around a problem that happens because math.h on hpux 7 - defines two static variables--which, in Emacs, are not really static, - because `static' is defined as nothing. The problem is that they are - defined both here and in lread.c. - These macros prevent the name conflict. */ -#if defined (HPUX) && !defined (HPUX8) -#define _MAXLDBL floatfns_maxldbl -#define _NMAXLDBL floatfns_nmaxldbl -#endif - #include /* This declaration is omitted on some systems, like Ultrix. */ @@ -972,11 +962,7 @@ float_error (signo) fatal_error_signal (signo); #ifdef BSD_SYSTEM -#ifdef BSD4_1 - sigrelse (SIGILL); -#else /* not BSD4_1 */ sigsetmask (SIGEMPTYMASK); -#endif /* not BSD4_1 */ #else /* Must reestablish handler each time it is called. */ signal (SIGILL, float_error); diff --git a/src/keyboard.c b/src/keyboard.c index 5ac28a5524..e42e17525e 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -7305,10 +7305,6 @@ tty_read_avail_input (struct terminal *terminal, void handle_async_input () { -#ifdef BSD4_1 - extern int select_alarmed; -#endif - interrupt_input_pending = 0; while (1) @@ -7321,9 +7317,6 @@ handle_async_input () if (nread <= 0) break; -#ifdef BSD4_1 - select_alarmed = 1; /* Force the select emulator back to life */ -#endif } } @@ -7342,10 +7335,6 @@ input_available_signal (signo) signal (signo, input_available_signal); #endif /* USG */ -#ifdef BSD4_1 - sigisheld (SIGIO); -#endif - #ifdef SYNC_INPUT interrupt_input_pending = 1; #else @@ -7359,9 +7348,6 @@ input_available_signal (signo) handle_async_input (); #endif -#ifdef BSD4_1 - sigfree (); -#endif errno = old_errno; } #endif /* SIGIO */ diff --git a/src/m/ews4800.h b/src/m/ews4800.h deleted file mode 100644 index 5badc7ecf1..0000000000 --- a/src/m/ews4800.h +++ /dev/null @@ -1,40 +0,0 @@ -/* m- file for NEC EWS4800 RISC series. - Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - -#undef LIB_STANDARD -#undef C_DEBUG_SWITCH -#define INHIBIT_BSD_TIME -#undef USG -#include "mips.h" -#define USG -#undef UNEXEC -#define UNEXEC unexelf.o -#undef LIBS_MACHINE -#undef LD_SWITCH_MACHINE -#undef START_FILES -#undef DATA_START -#undef LIB_STANDARD -#undef C_SWITCH_MACHINE -#ifndef __GNUC__ -#undef C_DEBUG_SWITCH -#define C_DEBUG_SWITCH -O -KOlimit=3000 -ZXNd=5000 -#endif /* !__GNUC__ */ - -/* arch-tag: 27f72f54-45cd-40a3-b182-345127f04955 - (do not change this comment) */ diff --git a/src/m/hp800.h b/src/m/hp800.h index 28d7e4d737..1a1a6abc46 100644 --- a/src/m/hp800.h +++ b/src/m/hp800.h @@ -62,13 +62,6 @@ along with GNU Emacs. If not, see . */ /* Common definitions for HPUX and GNU/Linux. */ #if defined (__hpux) || defined (GNU_LINUX) -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ -#ifndef hp9000s800 -# define hp9000s800 -#endif /* Define CANNOT_DUMP on machines where unexec does not work. 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 d7fb8b4015..0000000000 --- a/src/m/hp9000s300.h +++ /dev/null @@ -1,212 +0,0 @@ -/* machine description file for hp9000 series 200 or 300 on either HPUX or BSD. - Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -HP 9000 series 200 or 300 (-machine=hp9000s300) - - These machines are 68000-series CPUs running HP-UX - (a derivative of sysV with some BSD features) or BSD 4.3 ported by Utah. - - If you're running HP-UX, specify `-opsystem=hpux'. - If you're running BSD, specify `-opsystem=bsd4-3'. -NOTE-END */ - -/* I don't understand why we have to do this at all! -JimB */ - -/* Define NOMULTIPLEJOBS on versions of HPUX before 6.5. */ - -/* #define NOMULTIPLEJOBS */ - -/* Define this symbol if you are running a version of HP-UX - which predates version 6.01 */ - -/* #define HPUX_5 */ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -/* #define NO_ARG_ARRAY */ - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -/* #define WORD_MACHINE */ - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically. */ - -#ifndef hp9000s300 -#define hp9000s300 -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -/* #define CANNOT_DUMP */ - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* For University of Utah 4.3bsd implementation on HP300s. - The #ifndef __GNUC__ definitions are required for the "standard" cc, - a very old, brain-dead version of PCC. */ - -#ifdef BSD4_3 - -/* Tell crt0.c that this is an ordinary 68020. */ -#undef hp9000s300 -#define m68000 - -#define CRT0_DUMMIES bogus_a6, - -#ifndef __GNUC__ -#define LIBS_DEBUG /* don't have -lg that works */ -#define C_DEBUG_SWITCH /* don't support -g */ -#endif - -#undef LOAD_AVE_TYPE -#undef LOAD_AVE_CVT -#define LOAD_AVE_TYPE long -#define LOAD_AVE_CVT(x) ((int) (((double) (x)) / 2048.0 * 100.0)) - -#endif /* BSD4_3 */ - -#ifndef BSD4_3 -/* The following definitions are for HPUX only. */ - -/* The symbol in the kernel where the load average is found - is named _avenrun on this machine. */ - -#define LDAV_SYMBOL "_avenrun" - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE double - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) - -/* This library is needed with -g, on the 200/300 only. */ - -#if !defined(__GNUC__) || defined(__HPUX_ASM__) -#define LIBS_DEBUG /usr/lib/end.o -#endif - -/* Need a TEXT_START. On the HP9000/s300 that is 0. */ -#ifdef __GNUC__ -#define TEXT_START 0 -#endif - -/* The symbol FIONREAD is defined, but the feature does not work - on the 200/300. */ - -#define BROKEN_FIONREAD - -/* In older versions of hpux, for unknown reasons, S_IFLNK is defined - even though symbolic links do not exist. - Make sure our conditionals based on S_IFLNK are not confused. - - Here we assume that stat.h is included before config.h - so that we can override it here. - - Version 6 of HP-UX has symbolic links. */ - -#ifdef HPUX_5 -#undef S_IFLNK -#endif - -/* Define the BSTRING functions in terms of the sysV functions. - Version 6 of HP-UX supplies these in the BSD library, - but that library has reported bugs in `signal'. */ - -/* #ifdef HPUX_5 */ -#define bcopy(a,b,s) memcpy (b,a,s) -#define bzero(a,s) memset (a,0,s) -#define bcmp memcmp -/* #endif */ - -/* On USG systems these have different names. - Version 6 of HP-UX supplies these in the BSD library, - which we currently want to avoid using. */ - -/* #ifdef HPUX_5 */ -#define index strchr -#define rindex strrchr -/* #endif */ - -/* Define C_SWITCH_MACHINE to be +X if you want the s200/300 - * Emacs to run on both 68010 and 68020 based hp-ux's. - * - * Define OLD_HP_ASSEMBLER if you have an ancient assembler - * - * Define HPUX_68010 if you are using the new assembler but - * compiling for a s200 (upgraded) or s310. 68010 based - * processor without 68881. - */ - -/* These switches increase the size of some internal C compiler tables. - They are required for compiling the X11 interface files. */ - -#ifndef HPUX_5 -#ifndef __GNUC__ -#define C_SWITCH_MACHINE -Wc,-Nd4000,-Ns3000 -#endif -#endif - -/* Define NEED_BSDTTY if you have such. */ - -#ifndef NOMULTIPLEJOBS -#define NEED_BSDTTY -#endif - -#endif /* not BSD4_3 */ - -/* arch-tag: 6e0001a5-ed62-4258-9235-204348f6bdb9 - (do not change this comment) */ diff --git a/src/m/ibm370aix.h b/src/m/ibm370aix.h deleted file mode 100644 index daaa4ddff0..0000000000 --- a/src/m/ibm370aix.h +++ /dev/null @@ -1,51 +0,0 @@ -/* m/ file for IBM 370 running AIX. - Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - -#define AIX - -/* Include unistd.h, even though we don't define POSIX. */ -#define NEED_UNISTD_H - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define WORDS_BIG_ENDIAN - -#undef TEXT_START -#undef SEGMENT_MASK -#undef DATA_SECTION_ALIGNMENT - -#define TEXT_START 0 -#define SEGMENT_MASK 0 -#define DATA_SECTION_ALIGNMENT 0x00001000 - -#undef LOAD_AVE_CVT -#undef LOAD_AVE_TYPE -/* Data type of load average, as read out of kmem. */ -#define LOAD_AVE_CVT(x) (int)(((double) (x)) * 100.0 / 1.0) -#define LOAD_AVE_TYPE double - -#undef LIBS_MACHINE -#define LIBS_MACHINE - -#undef LD_SWITCH_MACHINE -#define LD_SWITCH_MACHINE -xa - -/* arch-tag: 8605b600-0580-4e49-9ba9-8b4a977f860a - (do not change this comment) */ diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h index fcbb8f2886..db6ebee0d7 100644 --- a/src/m/ibmrs6000.h +++ b/src/m/ibmrs6000.h @@ -107,15 +107,11 @@ along with GNU Emacs. If not, see . */ /* Here override various assumptions in ymakefile */ -#ifdef AIXHFT -#define OBJECTS_MACHINE hftctl.o -#endif - #ifndef USG5 #define C_SWITCH_MACHINE -D_BSD #endif -#ifdef AIX3_2 +#ifdef AIX /* -lpthreads seems to be necessary for Xlib in X11R6, and should be harmless on older versions of X where it happens to exist. */ #ifdef HAVE_LIBPTHREADS @@ -159,15 +155,15 @@ along with GNU Emacs. If not, see . */ because .inp is a better convention to use in make-dist for naming random input files. */ #ifdef THIS_IS_MAKEFILE /* Don't use this in configure. */ -#ifdef AIX4 +#ifdef AIX #define LD_SWITCH_MACHINE -Wl,-bnodelcsect -#else /* not AIX4 */ +#else /* not AIX */ #ifdef HAVE_AIX_SMT_EXP #define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp,-bI:/usr/lpp/X11/bin/smt.exp #else #define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp #endif -#endif /* not AIX4 */ +#endif /* not AIX */ #endif /* THIS_IS_MAKEFILE */ /* 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 1fa475e95d..0000000000 --- a/src/m/mips-siemens.h +++ /dev/null @@ -1,161 +0,0 @@ -/* m- file for Mips machines. - Copyright (C) 1987, 1992, 1993, 1995, 2001, 2002, 2003, 2004, 2005, - 2006, 2007, 2008 Free Software Foundation, Inc. - - This file contains some changes for our SVR4 based SINIX-Mips 5.4. - I hope this is helpful to port the emacs to our RM?00 series and - maybe to the DC/OSx (Mips-based) machines of Pyramid Inc. - (Marco.Walther@mch.sni.de) - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -Use m-mips4.h for RISCOS version 4; use s-bsd4-3.h with the BSD world. -Note that the proper m- file for the Decstation is m-pmax.h. -This is the m- file for SNI RM*00 machines. Use s- sinix5-4.h file! -With this the file mips-siemens.h is obsolete. -NOTE-END */ - -/* Define BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#define BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#undef WORD_MACHINE - -/* Define how to take a char and sign-extend into an int. - On machines where char is signed, this is a no-op. */ - -#define SIGN_EXTEND_CHAR(c) ((signed char)(c)) - -/* Now define a symbol for the cpu type, if your compiler - does not define it automatically: - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ -#ifndef mips -# define mips -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ -/* This is desirable for most machines. */ - -#define NO_UNION_TYPE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / 256.0) - -/* CDC EP/IX 1.4.3 uses /unix */ - -#undef KERNEL_FILE -#define KERNEL_FILE "/unix" - -/* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined - and temacs will do (load "loadup") automatically unless told otherwise. */ - -#undef CANNOT_DUMP - -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* #define VIRT_ADDR_VARIES */ - -/* Define NO_REMAP if memory segmentation makes it not work well - to change the boundary between the text section and data section - when Emacs is dumped. If you define this, the preloaded Lisp - code will not be sharable; but that's better than failing completely. */ - -#define NO_REMAP - -/* Describe layout of the address space in an executing process. */ -/* MARCO ??? -*/ -#define TEXT_START 0x400000 -/* -#define DATA_START 0x10000000 -#define DATA_SEG_BITS 0x10000000 -*/ -#ifdef UNEXEC -#undef UNEXEC -#endif -#define UNEXEC unexsni.o - -#undef ORDINARY_LINK - -#undef LIBS_DEBUG - -/* Alter some of the options used when linking. */ - -#define LIBS_MACHINE -lmld -#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o - -#ifdef LIB_STANDARD -#undef LIB_STANDARD -#endif -#define LIB_STANDARD -lc /usr/ccs/lib/crtn.o - -#ifdef __GNUC__ -#define C_DEBUG_SWITCH -#define LD_SWITCH_MACHINE -#else -#define C_DEBUG_SWITCH -DSYSV -#define C_OPTIMIZE_SWITCH -DSYSV -#define LD_SWITCH_MACHINE -#endif - - -/* The standard definitions of these macros would work ok, - but these are faster because the constants are short. */ - -#define XUINT(a) (((unsigned)(a) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS)) - -#define XSET(var, type, ptr) \ - ((var) = \ - ((int)(type) << VALBITS) \ - + (((unsigned) (ptr) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS))) - -/* arch-tag: a4f5c090-0bd5-48f0-9724-b7d531f9b6c8 - (do not change this comment) */ diff --git a/src/m/mips.h b/src/m/mips.h index b3192d75de..877e4e4c90 100644 --- a/src/m/mips.h +++ b/src/m/mips.h @@ -187,7 +187,7 @@ NOTE-END */ #define HAVE_SYSVIPC -#if defined(emacs) && !defined(INHIBIT_BSD_TIME) +#if defined(emacs) #include #endif diff --git a/src/m/ncr386.h b/src/m/ncr386.h deleted file mode 100644 index f98566a295..0000000000 --- a/src/m/ncr386.h +++ /dev/null @@ -1,18 +0,0 @@ -#include "intel386.h" - -#ifndef __GNUC__ -/* Allow emacs to link with "bcopy()" unresolved. Works around a - problem where /usr/lib/libX11.so provides bcopy, but - /usr/ccs/lib/libX11.so does not. */ -#define LD_SWITCH_X_DEFAULT -Wl,-z,nodefs -#else /* __GNUC__ */ - -/* Assuming we are using GNU ld, pass a -R option to it - so that shared libraries will be found at execution time - just as they are found at link time. */ -#define LD_SWITCH_X_DEFAULT -Xlinker LD_SWITCH_X_SITE_AUX - -#endif /* __GNUC__ */ - -/* arch-tag: 79c76283-7d50-499b-b910-8ef980357758 - (do not change this comment) */ diff --git a/src/m/next.h b/src/m/next.h deleted file mode 100644 index c6e2358fdd..0000000000 --- a/src/m/next.h +++ /dev/null @@ -1,125 +0,0 @@ -/* Configuration file for the NeXT machine. - Copyright (C) 1990, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -/* Say this machine is a next if not previously defined */ - -#ifndef NeXT -#define NeXT -#endif - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -/* Let the compiler tell us. */ -#ifdef __BIG_ENDIAN__ -#define WORDS_BIG_ENDIAN -#endif - -/* Define how to take a char and sign-extend into an int. - On machines where char is signed, this is a no-op. */ - -#define SIGN_EXTEND_CHAR(c) (c) - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Say that the text segment of a.out includes the header; - the header actually occupies the first few bytes of the text segment - and is counted in hdr.a_text. */ - -#define A_TEXT_OFFSET(HDR) sizeof (HDR) - -/* Mask for address bits within a memory segment */ - -#define SEGSIZ 0x20000 -#define SEGMENT_MASK (SEGSIZ - 1) - -#define SYSTEM_MALLOC - -#define HAVE_UNIX_DOMAIN - -#define LIB_X11_LIB -L/usr/lib/X11 -lX11 - -/* This avoids a problem in Xos.h when using co-Xist 3.01. */ -#define X_NOT_POSIX - -/* Conflicts in process.c between ioctl.h & tty.h use of t_foo fields */ - -#define NO_T_CHARS_DEFINES - -/* Use our own unexec routines */ - -#define UNEXEC unexnext.o - -/* We don't have a g library either, so override the -lg LIBS_DEBUG switch */ - -#define LIBS_DEBUG - -/* We don't have a libgcc.a, so we can't let LIB_GCC default to -lgcc */ - -#define LIB_GCC - -#if 0 /* ohl@chico.harvard.edu says to do this. */ -/* Compile "strict bsd" to avoid warnings from include files */ - -#define C_SWITCH_MACHINE -bsd -#endif - -/* Link this program just by running cc. */ -#define ORDINARY_LINK - -/* start_of_text isn't actually used, so make it compile without error. */ -#define TEXT_START 0 -/* This seems to be right for end_of_text, but it may not be used anyway. */ -#define TEXT_END get_etext () -/* This seems to be right for end_of_data, but it may not be used anyway. */ -#define DATA_END get_edata () - -/* Defining KERNEL_FILE causes lossage because sys/file.h - stupidly gets confused by it. */ -#undef KERNEL_FILE - -#define LD_SWITCH_MACHINE -X -noseglinkedit - -#define environ _environ - -#if 0 /* This is ok for NeXT system version 3.0 or above. */ -/* Where to find the kernel, for load average. */ -#define KERNEL_FILE "/mach" -#endif - -/* This should be true for recent NeXT systems. At least since 3.2. */ -#define HAVE_MACH_MACH_H - -/* arch-tag: 1155cdcb-1f6c-4208-a2da-22c7473060a1 - (do not change this comment) */ diff --git a/src/m/pmax.h b/src/m/pmax.h deleted file mode 100644 index ad884ca8b3..0000000000 --- a/src/m/pmax.h +++ /dev/null @@ -1,127 +0,0 @@ -/* Machine description file for DEC MIPS machines. - - Copyright (C) 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -#include "mips.h" - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="note" - -NOTE-START -The operating system would be either osf1, ultrix, or NetBSD. -NOTE-END */ - -#ifndef __MIPSEB__ -#undef WORDS_BIG_ENDIAN -#endif -#if defined (__NetBSD__) -#define BROKEN_NOCOMBRELOC -#else -#undef LIB_STANDARD -#undef START_FILES -#endif -#undef COFF -#undef TERMINFO -#define MAIL_USE_FLOCK -#define HAVE_UNION_WAIT - - -#ifdef MACH -#define START_FILES pre-crt0.o /usr/lib/crt0.o -#else -#if !defined (__NetBSD__) -/* This line starts being needed with ultrix 4.0. */ -/* You must delete it for version 3.1. */ -#define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o -#endif -#endif - -/* Supposedly the following will overcome a kernel bug. */ -#undef LD_SWITCH_MACHINE -#undef DATA_START -#define DATA_START 0x10000000 -#define DATA_SEG_BITS 0x10000000 - -#if 0 -/* I don't see any such conflict in Ultrix 4.2, 4.2a, or 4.3. And - the relocating allocator is a real win. -JimB */ - -/* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist - on defining malloc itself. This should avoid conflicting with it. */ -#define SYSTEM_MALLOC -#endif - -/* Override what mips.h says about this. */ -#if !defined (__NetBSD__) -#undef LINKER -#endif - -#ifdef ultrix -/* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK - but it doesn't work right; - and it causes hanging in read_process_output. */ -#define BROKEN_O_NONBLOCK -#endif - -#ifndef __NetBSD__ -/* mcc@timessqr.gc.cuny.edu says this makes Emacs work with DECnet. */ -#ifdef HAVE_LIBDNET -#define LIBS_MACHINE -ldnet -#endif - -/* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a. */ -#undef KERNEL_FILE -#define KERNEL_FILE "/vmunix" -#endif - -#ifdef ultrix -/* Jim Wilson writes: - [...] The X11 include files that Dec distributes with Ultrix - are bogus. - - When __STDC__ is defined (which is true with gcc), the X11 include files - try to define prototypes. The prototypes however use types which haven't - been defined yet, and thus we get syntax/parse errors. - - You can not fix this by changing the include files, because the prototypes - create circular dependencies, in particular Xutil.h depends on types defined - in Xlib.h, and Xlib.h depends on types defined in Xutil.h. So, no matter - which order you try to include them in, it will still fail. - - Compiling with -DNeedFunctionPrototypes=0 will solve the problem by - directly inhibiting the bad prototypes. This could perhaps just be put in - an a Ultrix configuration file. - - Using the MIT X11 distribution instead of the one provided by Dec will - also solve the problem, but I doubt you can convince everyone to do this. */ -/* Addendum: the MIT X11 distribution neglects to define certain symbols - when NeedFunctionPrototypes is 0, but still tries to use them when - NeedVarargsPrototypes is 1 (which is its default value). So if we're - going to disable non-variadic prototypes, we also need to disable - variadic prototypes. --kwzh@gnu.ai.mit.edu */ -#define C_SWITCH_X_MACHINE -DNeedFunctionPrototypes=0 -DNeedVarargsPrototypes=0 -#endif - -/* Enable a fix in process.c. */ -#define SET_CHILD_PTY_PGRP - -/* arch-tag: 45d5070e-d2b7-479f-b336-3fd497c36e15 - (do not change this comment) */ diff --git a/src/m/powerpcle.h b/src/m/powerpcle.h deleted file mode 100644 index 071ea29d61..0000000000 --- a/src/m/powerpcle.h +++ /dev/null @@ -1,61 +0,0 @@ -/* machine description file for PowerPC. - Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="Solaris2.5.1 Windows/NT AIX 4.1.2" -*/ - -/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word - is the most significant byte. */ - -#undef WORDS_BIG_ENDIAN - -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Say this machine is a PowerPC Refernce Platform */ - -#ifndef prep -#define prep -#endif - -/* Use type int rather than a union, to represent Lisp_Object */ - -#define NO_UNION_TYPE - -/* XINT must explicitly sign-extend */ - -#define EXPLICIT_SIGN_EXTEND - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Control a conditional in unexelf.c. */ -#define SOLARIS_POWERPC - -/* arch-tag: dc2c3cb6-4683-45ae-961f-0a4f2bda3c61 - (do not change this comment) */ diff --git a/src/m/tandem-s2.h b/src/m/tandem-s2.h deleted file mode 100644 index b22f9bb66a..0000000000 --- a/src/m/tandem-s2.h +++ /dev/null @@ -1,24 +0,0 @@ -/* machine description file for the Tandem Integrity S2. */ - -#include "mips.h" - -/* The following line tells the configuration script what sort of - operating system this machine is likely to run. - USUAL-OPSYS="usg5-3" */ - -/* This overrides some of the usual support for the mips and system V.3. */ - -/* The operating system apparently defines TIOCGETC - but it doesn't work. */ -#undef BROKEN_TIOCGETC - -/* rs@ai.mit.edu said this was necessary for it to work. However, some - user of this machine ought to try to get subprocesses to work. */ -#undef subprocesses - -/* Correct some library file names. */ -#define START_FILES pre-crt0.o /usr/lib/crt1.o1.31 -#define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o1.31 - -/* arch-tag: ae34a1a6-6408-4b23-a6d3-ce4e8f124916 - (do not change this comment) */ diff --git a/src/m/vax.h b/src/m/vax.h index 631a25d50c..35050a11e1 100644 --- a/src/m/vax.h +++ b/src/m/vax.h @@ -100,12 +100,6 @@ NOTE-END */ #ifdef USG #define LIB_STANDARD -lPW -lc -/* There is some bug in unexec in for usg 5.2 on a vax - which nobody who runs such a system has yet tracked down. */ -#ifndef USG5_0 -#define NO_REMAP -#endif /* USG 5_0 */ - #define TEXT_START 0 #endif /* USG */ diff --git a/src/mem-limits.h b/src/mem-limits.h index a6cb43d1d8..7341295fa3 100644 --- a/src/mem-limits.h +++ b/src/mem-limits.h @@ -45,10 +45,6 @@ extern int etext, __data_start; weak_extern (__data_start) # endif #endif -#ifdef __bsdi__ -#define BSD4_2 -#endif - #ifdef CYGWIN #define BSD4_2 #endif diff --git a/src/print.c b/src/print.c index c88951880e..8fac2660d0 100644 --- a/src/print.c +++ b/src/print.c @@ -45,16 +45,6 @@ extern Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction; Lisp_Object Vfloat_output_format, Qfloat_output_format; -/* Work around a problem that happens because math.h on hpux 7 - defines two static variables--which, in Emacs, are not really static, - because `static' is defined as nothing. The problem is that they are - defined both here and in lread.c. - These macros prevent the name conflict. */ -#if defined (HPUX) && !defined (HPUX8) -#define _MAXLDBL print_maxldbl -#define _NMAXLDBL print_nmaxldbl -#endif - #include #if STDC_HEADERS diff --git a/src/process.c b/src/process.c index fdeb0aa9e9..73bbb34fd0 100644 --- a/src/process.c +++ b/src/process.c @@ -80,10 +80,6 @@ along with GNU Emacs. If not, see . */ #endif /* HAVE_PTYS and no O_NDELAY */ #endif /* BSD_SYSTEM */ -#ifdef BROKEN_O_NONBLOCK -#undef O_NONBLOCK -#endif /* BROKEN_O_NONBLOCK */ - #ifdef NEED_BSDTTY #include #endif @@ -2006,9 +2002,6 @@ create_process (process, new_argv, current_dir) sigprocmask (SIG_BLOCK, &blocked, &procmask); #else /* !POSIX_SIGNALS */ #ifdef SIGCHLD -#ifdef BSD4_1 - sighold (SIGCHLD); -#else /* not BSD4_1 */ #if defined (BSD_SYSTEM) || defined (HPUX) sigsetmask (sigmask (SIGCHLD)); #else /* ordinary USG */ @@ -2017,7 +2010,6 @@ create_process (process, new_argv, current_dir) sigchld = signal (SIGCHLD, create_process_sigchld); #endif #endif /* ordinary USG */ -#endif /* not BSD4_1 */ #endif /* SIGCHLD */ #endif /* !POSIX_SIGNALS */ @@ -2134,9 +2126,6 @@ create_process (process, new_argv, current_dir) This makes the pty the controlling terminal of the subprocess. */ if (pty_flag) { -#ifdef SET_CHILD_PTY_PGRP - int pgrp = getpid (); -#endif /* I wonder if emacs_close (emacs_open (pty_name, ...)) would work? */ @@ -2152,10 +2141,6 @@ create_process (process, new_argv, current_dir) _exit (1); } -#ifdef SET_CHILD_PTY_PGRP - ioctl (xforkin, TIOCSPGRP, &pgrp); - ioctl (xforkout, TIOCSPGRP, &pgrp); -#endif } #endif /* not DONT_REOPEN_PTY */ @@ -2181,9 +2166,6 @@ create_process (process, new_argv, current_dir) sigprocmask (SIG_SETMASK, &procmask, 0); #else /* !POSIX_SIGNALS */ #ifdef SIGCHLD -#ifdef BSD4_1 - sigrelse (SIGCHLD); -#else /* not BSD4_1 */ #if defined (BSD_SYSTEM) || defined (HPUX) sigsetmask (SIGEMPTYMASK); #else /* ordinary USG */ @@ -2191,7 +2173,6 @@ create_process (process, new_argv, current_dir) signal (SIGCHLD, sigchld); #endif #endif /* ordinary USG */ -#endif /* not BSD4_1 */ #endif /* SIGCHLD */ #endif /* !POSIX_SIGNALS */ @@ -2273,9 +2254,6 @@ create_process (process, new_argv, current_dir) sigprocmask (SIG_SETMASK, &procmask, 0); #else /* !POSIX_SIGNALS */ #ifdef SIGCHLD -#ifdef BSD4_1 - sigrelse (SIGCHLD); -#else /* not BSD4_1 */ #if defined (BSD_SYSTEM) || defined (HPUX) sigsetmask (SIGEMPTYMASK); #else /* ordinary USG */ @@ -2287,7 +2265,6 @@ create_process (process, new_argv, current_dir) kill (getpid (), SIGCHLD); #endif #endif /* ordinary USG */ -#endif /* not BSD4_1 */ #endif /* SIGCHLD */ #endif /* !POSIX_SIGNALS */ @@ -2700,19 +2677,6 @@ OPTION is not a supported option, return nil instead; otherwise return t. */) } -/* A version of request_sigio suitable for a record_unwind_protect. */ - -#ifdef __ultrix__ -static Lisp_Object -unwind_request_sigio (dummy) - Lisp_Object dummy; -{ - if (interrupt_input) - request_sigio (); - return Qnil; -} -#endif - #ifdef HAVE_SERIAL DEFUN ("serial-process-configure", Fserial_process_configure, @@ -3502,28 +3466,6 @@ usage: (make-network-process &rest ARGS) */) open_socket: -#ifdef __ultrix__ - /* Previously this was compiled unconditionally, but that seems - unnecessary on modern systems, and `unrequest_sigio' was a noop - under X anyway. --lorentey */ - /* Kernel bugs (on Ultrix at least) cause lossage (not just EINTR) - when connect is interrupted. So let's not let it get interrupted. - Note we do not turn off polling, because polling is only used - when not interrupt_input, and thus not normally used on the systems - which have this bug. On systems which use polling, there's no way - to quit if polling is turned off. */ - if (interrupt_input - && !is_server && socktype == SOCK_STREAM) - { - /* Comment from KFS: The original open-network-stream code - didn't unwind protect this, but it seems like the proper - thing to do. In any case, I don't see how it could harm to - do this -- and it makes cleanup (using unbind_to) easier. */ - record_unwind_protect (unwind_request_sigio, Qnil); - unrequest_sigio (); - } -#endif - /* Do this in case we never enter the for-loop below. */ count1 = SPECPDL_INDEX (); s = -1; @@ -4651,16 +4593,6 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display, EMACS_SET_SECS_USECS (timeout, time_limit, microsecs); EMACS_ADD_TIME (end_time, end_time, timeout); } -#ifdef POLL_INTERRUPTED_SYS_CALL - /* AlainF 5-Jul-1996 - HP-UX 10.10 seem to have problems with signals coming in - Causes "poll: interrupted system call" messages when Emacs is run - in an X window - Turn off periodic alarms (in case they are in use), - and then turn off any other atimers. */ - stop_polling (); - turn_on_atimers (0); -#endif /* POLL_INTERRUPTED_SYS_CALL */ while (1) { @@ -4975,15 +4907,6 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display, { if (xerrno == EINTR) no_avail = 1; -#ifdef ultrix - /* Ultrix select seems to return ENOMEM when it is - interrupted. Treat it just like EINTR. Bleah. Note - that we want to test for the "ultrix" CPP symbol, not - "__ultrix__"; the latter is only defined under GCC, but - not by DEC's bundled CC. -JimB */ - else if (xerrno == ENOMEM) - no_avail = 1; -#endif else if (xerrno == EBADF) { #ifdef AIX @@ -5295,14 +5218,6 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display, clear_input_pending (); QUIT; } -#ifdef POLL_INTERRUPTED_SYS_CALL - /* AlainF 5-Jul-1996 - HP-UX 10.10 seems to have problems with signals coming in - Causes "poll: interrupted system call" messages when Emacs is run - in an X window - Turn periodic alarms back on */ - start_polling (); -#endif /* POLL_INTERRUPTED_SYS_CALL */ return got_some_input; } @@ -5712,10 +5627,6 @@ SIGTYPE send_process_trap () { SIGNAL_THREAD_CHECK (SIGPIPE); -#ifdef BSD4_1 - sigrelse (SIGPIPE); - sigrelse (SIGALRM); -#endif /* BSD4_1 */ sigunblock (sigmask (SIGPIPE)); longjmp (send_process_frame, 1); } @@ -6784,11 +6695,6 @@ sigchld_handler (signo) SIGNAL_THREAD_CHECK (signo); -#ifdef BSD4_1 - extern int sigheld; - sigheld |= sigbit (SIGCHLD); -#endif - while (1) { pid_t pid; @@ -6816,10 +6722,6 @@ sigchld_handler (signo) must reestablish each time */ #if defined (USG) && !defined (POSIX_SIGNALS) signal (signo, sigchld_handler); /* WARNING - must come after wait3() */ -#endif -#ifdef BSD4_1 - sigheld &= ~sigbit (SIGCHLD); - sigrelse (SIGCHLD); #endif errno = old_errno; return; diff --git a/src/s/386bsd.h b/src/s/386bsd.h deleted file mode 100644 index 706fbf23ac..0000000000 --- a/src/s/386bsd.h +++ /dev/null @@ -1,27 +0,0 @@ -/* s/ file for 386bsd system. */ - -/* Get most of the stuff from bsd4.3 */ -#include "bsd4-3.h" - -#undef LIB_STANDARD -#define LIB_STANDARD -lc $(GNULIB_VAR) - -/* The following should be set to /netbsd if you are running netbsd > 0.8 - Or just link /netbsd -> /386bsd */ -#undef KERNEL_FILE -#define KERNEL_FILE "/386bsd" - -#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) - -/* Need to use GNU make, as system make has problems */ -#define MAKE_COMMAND gmake -#define LIBS_DEBUG - -/* For mem-limits.h. */ -#define BSD4_2 - -/* This affects a declaration in xrdb.c. */ -#define DECLARE_GETPWUID_WITH_UID_T - -/* arch-tag: 8a114892-0863-4285-a4cb-3d66ba2d8e7b - (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 6c8458cc8a..0000000000 --- a/src/s/aix3-2-5.h +++ /dev/null @@ -1,33 +0,0 @@ -/* s- file for building Emacs on AIX 3.2.5. */ - -#include "aix3-2.h" - -/* For AIX, it turns out compiling emacs under AIX 3.2.4 REQUIRES "cc -g" - because "cc -O" crashes. Under AIX 3.2.5, "cc -O" is required because - "cc -g" crashes. Go figure. --floppy@merlin.mit.edu */ -/* The above isn't generally true. If it occurs with some compiler - release, seek a fixed version, be it XLC or GCC. The XLC version - isn't tied to the OS version on AIX any more than elsewhere. XLC - (the IBM compiler) can use -g with -O. (-O3 is also a possibility - for the optimization level.) -- fx, after David Edelsohn. */ -#undef C_DEBUG_SWITCH -#define C_DEBUG_SWITCH -g -O - -/* Perry Smith says these are correct. */ -#define SIGNALS_VIA_CHARACTERS -#define MAIL_USE_LOCKF -#define CLASH_DETECTION - -/* Perry Smith says these are correct. */ -#define POSIX_SIGNALS -#undef sigmask -#undef sigsetmask -#undef _setjmp -#undef _longjmp - -/* Bill Woodward says: - libIM *must* precede libXm, to avoid getting aixLoadIM error messages. */ -#define LIB_MOTIF -lIM -lXm - -/* arch-tag: 692b3acb-5383-4cfb-93f6-378b5c48c75e - (do not change this comment) */ diff --git a/src/s/aix3-2.h b/src/s/aix3-2.h deleted file mode 100644 index 6d6c734c07..0000000000 --- a/src/s/aix3-2.h +++ /dev/null @@ -1,73 +0,0 @@ -/* s- file for building Emacs on AIX 3.2. - - Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -#include "aix3-1.h" - -#define AIX3_2 - -/* No need to define this--the header files indicate X11R4, - and that's supposedly what 3.2 will come with. */ -#undef SPECIFY_X11R4 - -#ifndef __GNUC__ -/* Some programs in src produce warnings saying certain subprograms - are to comples and need a MAXMEM value greater than 2000 for - additional optimization. --nils@exp-math.uni-essen.de */ -#define C_SWITCH_SYSTEM -ma -qmaxmem=4000 -#endif - -/* Adrian Colley says this is needed. */ -#ifndef NOT_C_CODE -#ifndef AIX4 - #pragma alloca -#endif -#endif - -#undef rindex -#undef index - -/* With this defined, a gcc-compiled Emacs crashed in realloc under AIX - 3.2, and a cc-compiled Emacs works with this undefined. - --karl@cs.umb.edu. */ -#undef SYSTEM_MALLOC - -/* For AIX, it turns out compiling emacs under AIX 3.2.4 REQUIRES "cc -g" - because "cc -O" crashes. Under AIX 3.2.5, "cc -O" is required because - "cc -g" crashes. Go figure. --floppy@merlin.mit.edu */ -/* See comments about this in aix3-2-5.h. -- fx */ -#ifndef __GNUC__ -#define C_DEBUG_SWITCH -g -O -#endif - -/* The character-composition stuff is broken in X11R5. - Even with XIMStatusNothing aliased to XIMStatusNone, - tranle@intellicorp.com (Minh Tran-Le) reports that enabling - the internationalization code causes the modifier keys C, M and Shift - to beep after a mouse click. */ -#define X11R5_INHIBIT_I18N - -/* string.h defines rindex as a macro, at least with native cc, so we - lose declaring char * rindex without this. - It is just a guess which versions of AIX need this definition. */ -#undef HAVE_STRING_H - -/* arch-tag: 0935754d-67e1-4697-978a-3e9976da05c3 - (do not change this comment) */ diff --git a/src/s/aix4-1.h b/src/s/aix4-1.h deleted file mode 100644 index 6b8361420a..0000000000 --- a/src/s/aix4-1.h +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 - Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -#define AIX4_1 - -#include "aix4.h" - -/* olson@mcs.anl.gov says -li18n is needed by -lXm. */ -#undef LIB_MOTIF -#define LIB_MOTIF -lXm -li18n - -#ifdef __GNUC__ -#undef _NO_PROTO -#endif - -/* For AIX, it turns out compiling emacs under AIX 3.2.4 REQUIRES "cc -g" - because "cc -O" crashes. Under AIX 3.2.5, "cc -O" is required because - "cc -g" crashes. Go figure. --floppy@merlin.mit.edu. - 4.1 seems to need -g again. -- larry@vaquita.mitra.com. */ -/* David Edelsohn says that this actually depends - on the version of XLC, which can't be predicted from the system version. - What a mess! */ -/* No more of a mess than other systems, GNU+GCC included. See - comments in aix3-2-5.h. -- fx */ -#if 0 -#ifndef __GNUC__ -#undef C_DEBUG_SWITCH -#undef C_OPTIMIZE_SWITCH -#define C_DEBUG_SWITCH -g -#endif -#endif - -/* The X internationalization stuff is still broken in AIX 4.1, so - don't #undef X11R5_INHIBIT_I18N - It still causes shift, ctrl, and alt to resend the last character, - if it was a control character like tab, enter, backspace, or ESC. - Bill_Mann @ PraxisInt.com */ -/* #undef X11R5_INHIBIT_I18N */ - -#ifndef HAVE_LIBXMU -#define LIBXMU - -/* Unfortunately without libXmu we cannot support EditRes. */ -#define NO_EDITRES -#endif - -/* arch-tag: 72d598e1-bc3e-48e0-bfd2-693917c3738e - (do not change this comment) */ diff --git a/src/s/aix3-1.h b/src/s/aix4-2.h similarity index 53% rename from src/s/aix3-1.h rename to src/s/aix4-2.h index bcc4b10dc7..2b31e2c816 100644 --- a/src/s/aix3-1.h +++ b/src/s/aix4-2.h @@ -1,6 +1,6 @@ -/* Definitions file for GNU Emacs running on IBM AIX version 3.1 - Copyright (C) 1985, 1986, 1990, 1999, 2001, 2002, 2003, 2004, - 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +/* +Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 + Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -17,7 +17,6 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ - /* * Define symbols to identify the version of Unix this is. * Define all the symbols that apply correctly. @@ -26,44 +25,16 @@ along with GNU Emacs. If not, see . */ #define USG /* System III, System V, etc */ #define USG5 -/* Specify IBM AIX version of system */ - -#ifndef AIX -#define AIX -#endif - -/* turn off c prototypes */ -#ifndef _NO_PROTO -#define _NO_PROTO -#endif - /* This symbol should be defined on AIX Version 3 ??????? */ #ifndef _AIX #define _AIX #endif -/* Specify "_BSD" to invoke Berkeley compatibility in header files */ -/*#ifndef _BSD -#define _BSD -#endif -*/ - /* SYSTEM_TYPE should indicate the kind of system you are using. It sets the Lisp variable system-type. */ #define SYSTEM_TYPE "aix" - -/* nomultiplejobs should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -/* #define NOMULTIPLEJOBS */ - -/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ - -/* #define INTERRUPT_INPUT */ - /* In AIX, you allocate a pty by opening /dev/ptc to get the master side. To get the name of the slave side, you just ttyname() the master side. */ @@ -114,24 +85,6 @@ along with GNU Emacs. If not, see . */ #define subprocesses -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -/* #define COFF */ - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -/* #define MAIL_USE_FLOCK */ - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -/* #define CLASH_DETECTION */ - /* The file containing the kernel's symbol table is called /unix. */ #define KERNEL_FILE "/unix" @@ -143,24 +96,7 @@ along with GNU Emacs. If not, see . */ /* Special itemss needed to make Emacs run on this system. */ -/* - * Make the sigsetmask function go away. Don't know what the - * ramifications of this are, but doesn't seem possible to - * emulate it properly anyway at this point. - */ - -#define sigsetmask(mask) /* Null expansion */ - -/* setjmp and longjmp can safely replace _setjmp and _longjmp, - but they will run slower. */ -#define _setjmp setjmp -#define _longjmp longjmp - -/* On USG systems these have different names */ - -#define index strchr -#define rindex strrchr /* USG systems tend to put everything declared static into the initialized data area, which becomes pure after dumping Emacs. @@ -192,19 +128,85 @@ along with GNU Emacs. If not, see . */ It may not have been needed in certain earlier versions. */ #define HAVE_TCATTR -#define SYSTEM_MALLOC - /* Include unistd.h, even though we don't define POSIX. */ #define NEED_UNISTD_H /* AIX doesn't define this. */ #define unix 1 -/* AIX 3.1 has the HFT features. */ -#define AIXHFT +#ifndef __GNUC__ +/* Some programs in src produce warnings saying certain subprograms + are to comples and need a MAXMEM value greater than 2000 for + additional optimization. --nils@exp-math.uni-essen.de */ +#define C_SWITCH_SYSTEM -ma -qmaxmem=4000 +#endif + +/* The character-composition stuff is broken in X11R5. + Even with XIMStatusNothing aliased to XIMStatusNone, + tranle@intellicorp.com (Minh Tran-Le) reports that enabling + the internationalization code causes the modifier keys C, M and Shift + to beep after a mouse click. */ +#define X11R5_INHIBIT_I18N + +/* string.h defines rindex as a macro, at least with native cc, so we + lose declaring char * rindex without this. + It is just a guess which versions of AIX need this definition. */ +#undef HAVE_STRING_H + +/* For AIX, it turns out compiling emacs under AIX 3.2.4 REQUIRES "cc -g" + because "cc -O" crashes. Under AIX 3.2.5, "cc -O" is required because + "cc -g" crashes. Go figure. --floppy@merlin.mit.edu */ +/* The above isn't generally true. If it occurs with some compiler + release, seek a fixed version, be it XLC or GCC. The XLC version + isn't tied to the OS version on AIX any more than elsewhere. XLC + (the IBM compiler) can use -g with -O. (-O3 is also a possibility + for the optimization level.) -- fx, after David Edelsohn. */ +#define C_DEBUG_SWITCH -g -O + +/* Perry Smith says these are correct. */ +#define SIGNALS_VIA_CHARACTERS +#define MAIL_USE_LOCKF +#define CLASH_DETECTION + +/* Perry Smith says these are correct. */ +#define POSIX_SIGNALS +#undef sigmask + +/* Dave Love reported this as needed on AIX 4.1. + It is just a guess which versions of AIX need this definition. */ +#define HAVE_WAIT_HEADER + +/* Specify the type that the 3rd arg of `accept' points to. + It is just a guess which versions of AIX need this definition. */ +#define SOCKLEN_TYPE int + +/* olson@mcs.anl.gov says -li18n is needed by -lXm. */ +#define LIB_MOTIF -lXm -li18n + +#ifndef HAVE_LIBXMU +#define LIBXMU + +/* Unfortunately without libXmu we cannot support EditRes. */ +#define NO_EDITRES +#endif -/* For unexaix.c. */ -#define ALIGN_DATA_RELOC +/* On AIX Emacs uses the gmalloc.c malloc implementation. But given + the way this system works, libc functions that return malloced + memory use the libc malloc implementation. Calling xfree or + xrealloc on the results of such functions results in a crash. + + One solution for this could be to define SYSTEM_MALLOC here, but + that does not currently work on this system. + + It is possible to completely override the malloc implementation on + AIX, but that involves putting the malloc functions in a shared + library and setting the MALLOCTYPE environment variable to point to + tha shared library. + + Emacs currently calls xrealloc on the results of get_current_dir name, + to avoid a crash just use the Emacs implementation for that function. +*/ +#define BROKEN_GET_CURRENT_DIR_NAME 1 -/* arch-tag: bfff798c-542d-4290-91f2-267394c85b7b +/* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562 (do not change this comment) */ diff --git a/src/s/aix4.h b/src/s/aix4.h deleted file mode 100644 index b2ed15f75e..0000000000 --- a/src/s/aix4.h +++ /dev/null @@ -1,17 +0,0 @@ -#define AIX4 - -#include "aix3-2-5.h" - -/* AIX 4 does not have HFT any more. */ -#undef AIXHFT - -/* Dave Love reported this as needed on AIX 4.1. - It is just a guess which versions of AIX need this definition. */ -#define HAVE_WAIT_HEADER - -/* Specify the type that the 3rd arg of `accept' points to. - It is just a guess which versions of AIX need this definition. */ -#define SOCKLEN_TYPE int - -/* arch-tag: b9471dfc-ccdc-4980-a8a1-80c7627ec6b2 - (do not change this comment) */ diff --git a/src/s/bsd4-3.h b/src/s/bsd-common.h similarity index 100% rename from src/s/bsd4-3.h rename to src/s/bsd-common.h diff --git a/src/s/bsd386.h b/src/s/bsd386.h deleted file mode 100644 index ee869ac62d..0000000000 --- a/src/s/bsd386.h +++ /dev/null @@ -1,67 +0,0 @@ -/* s/ file for bsd386 system. - - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -#include "bsd4-3.h" - -#ifndef __bsdi__ -#define __bsdi__ 1 -#endif - -#define DECLARE_GETPWUID_WITH_UID_T - -#define SIGNALS_VIA_CHARACTERS - -#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) -#define A_TEXT_OFFSET(x) (sizeof (struct exec)) -#define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr)) - -#define LIBS_DEBUG -#define LIB_X11_LIB -L/usr/X11/lib -lX11 -#define LIBS_SYSTEM -lutil -lkvm -lcompat - -#define HAVE_GETLOADAVG 1 - -#undef BSD_PGRPS - -/* System uses OXTABS instead of the expected TAB3. - (Copied from netbsd.h.) */ -#define TABDLY OXTABS -#define TAB3 OXTABS - -#define SYSV_SYSTEM_DIR - -#define HAVE_TERMIOS -#define NO_TERMIO - -#define WAITTYPE int -/* get this since it won't be included if WAITTYPE is defined */ -#ifdef emacs -#include -#endif -#define WRETCODE(w) WEXITSTATUS(w) -#ifndef WCOREDUMP -#define WCOREDUMP(w) ((w) & 0200) -#endif - -#define GETPGRP_NO_ARG 1 - -/* arch-tag: 867e3bb8-e9df-4763-9c82-8f4accb8209e - (do not change this comment) */ diff --git a/src/s/bsd4-1.h b/src/s/bsd4-1.h deleted file mode 100644 index 9a08b5ea9c..0000000000 --- a/src/s/bsd4-1.h +++ /dev/null @@ -1,131 +0,0 @@ -/* Definitions file for GNU Emacs running on bsd 4.1. - Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ - -#define BSD4_1 - -#define BSD_SYSTEM - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "berkeley-unix" - -/* nomultiplejobs should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -/* #define NOMULTIPLEJOBS */ - -/* Default is to set interrupt_input to 1: do input buffering within Emacs */ - -#define INTERRUPT_INPUT - -/* First pty name is /dev/ptyp0. */ - -#define FIRST_PTY_LETTER 'p' - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -/* #define HAVE_PTYS */ - -/* Define this macro if system defines a type `union wait'. */ - -#define HAVE_UNION_WAIT - -/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ - -/* #define HAVE_SOCKETS */ - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -#define NONSYSTEM_DIR_LIBRARY - -/* Define this symbol if your system has the functions bcopy, etc. */ - -/* #define BSTRING */ - -/* subprocesses should be defined if you want to - have code for asynchronous subprocesses - (as used in M-x compile and M-x shell). - This is generally OS dependent, and not supported - under most USG systems. */ - -#define subprocesses - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -/* #define COFF */ - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -/* #define MAIL_USE_FLOCK */ - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -#undef CLASH_DETECTION /* Might work; not tried yet. */ - -/* The file containing the kernel's symbol table is called /vmunix. */ - -#define KERNEL_FILE "/vmunix" - -/* The symbol in the kernel where the load average is found - is named _avenrun. */ - -#define LDAV_SYMBOL "_avenrun" - -/* Special hacks needed to make Emacs run on this system. */ - -/* Make the function `signal' act as in 4.2. */ - -#define signal sigset - -#define _longjmp longjmp -#define _setjmp setjmp - -#define lstat stat - -/* Names of flags for open. */ -#define O_RDONLY 0 -#define O_WRONLY 1 -#define O_RDWR 2 -#define O_EXCL 2000 -#define O_CREAT 1000 - -/* Special library needed for linking for 4.1. */ -#define LIBS_SYSTEM -ljobs - -/* arch-tag: de56716a-ed9b-4851-a5c5-c882efaf9931 - (do not change this comment) */ diff --git a/src/s/bsd4-2.h b/src/s/bsd4-2.h deleted file mode 100644 index 665e12a535..0000000000 --- a/src/s/bsd4-2.h +++ /dev/null @@ -1,122 +0,0 @@ -/* Definitions file for GNU Emacs running on bsd 4.2 - Copyright (C) 1985, 1986, 1994, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ - -#ifndef BSD4_2 -#define BSD4_2 1 -#endif /* BSD4_2 */ - -#ifndef BSD_SYSTEM -#define BSD_SYSTEM 42 -#endif /* BSD_SYSTEM */ - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "berkeley-unix" - -/* nomultiplejobs should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -/* #define NOMULTIPLEJOBS */ - -/* Default is to set interrupt_input to 1: do input buffering within Emacs */ - -#define INTERRUPT_INPUT - -/* First pty name is /dev/ptyp0. */ - -#define FIRST_PTY_LETTER 'p' - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -#define HAVE_PTYS - -/* Define this macro if system defines a type `union wait'. */ - -#define HAVE_UNION_WAIT - -/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ - -#define HAVE_SOCKETS - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -/* #define NONSYSTEM_DIR_LIBRARY */ - -/* Define this symbol if your system has the functions bcopy, etc. */ - -#define BSTRING - -/* subprocesses should be defined if you want to - have code for asynchronous subprocesses - (as used in M-x compile and M-x shell). - This is generally OS dependent, and not supported - under most USG systems. */ - -#define subprocesses - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -/* #define COFF */ - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -/* #define MAIL_USE_FLOCK */ - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -#define CLASH_DETECTION - -/* The file containing the kernel's symbol table is called /vmunix. */ - -#define KERNEL_FILE "/vmunix" - -/* The symbol in the kernel where the load average is found - is named _avenrun. */ - -#define LDAV_SYMBOL "_avenrun" - -/* Send signals to subprocesses by "typing" special chars at them. */ - -#define SIGNALS_VIA_CHARACTERS - -/* Process groups work in the traditional BSD manner. */ - -#define BSD_PGRPS - -/* arch-tag: 38ca640f-549e-4726-a257-71048ab4c480 - (do not change this comment) */ diff --git a/src/s/bsdos2-1.h b/src/s/bsdos2-1.h deleted file mode 100644 index 244d58f513..0000000000 --- a/src/s/bsdos2-1.h +++ /dev/null @@ -1,9 +0,0 @@ -/* s/ file for BSDI BSD/OS 2.1 system. */ - -#include "bsdos2.h" - -#undef LIB_X11_LIB -#define LIB_X11_LIB -L/usr/X11/lib -lX11 -lipc - -/* arch-tag: cf1ada4a-cdbf-452b-a264-ff84dd523e97 - (do not change this comment) */ diff --git a/src/s/bsdos2.h b/src/s/bsdos2.h deleted file mode 100644 index 9e1e82fd75..0000000000 --- a/src/s/bsdos2.h +++ /dev/null @@ -1,14 +0,0 @@ -/* s/ file for BSDI BSD/OS 2.0 system. */ - -#include "bsd386.h" - -#define TEXT_START 0x1020 /* for QMAGIC */ -#define START_FILES pre-crt0.o /usr/lib/crt0.o -#define HAVE_TERMIOS -#define NO_TERMIO - -#undef KERNEL_FILE -#define KERNEL_FILE "/bsd" - -/* arch-tag: 25ce1827-1511-4305-9058-24dd2118b5b4 - (do not change this comment) */ diff --git a/src/s/bsdos3.h b/src/s/bsdos3.h deleted file mode 100644 index 20a9704e14..0000000000 --- a/src/s/bsdos3.h +++ /dev/null @@ -1,9 +0,0 @@ -/* s/ file for BSDI BSD/OS 3.0 system. */ - -#include "bsdos2.h" - -#undef LIBS_SYSTEM -#define LIBS_SYSTEM -lkvm - -/* arch-tag: 726766f3-5a62-48bf-8e21-3b21ec6abe6f - (do not change this comment) */ diff --git a/src/s/bsdos4.h b/src/s/bsdos4.h deleted file mode 100644 index 540e4a7d79..0000000000 --- a/src/s/bsdos4.h +++ /dev/null @@ -1,26 +0,0 @@ -/* s/ file for BSDI BSD/OS 4.0 system. */ - -#include "bsdos3.h" - -/* BSD/OS 4.1 and later have ncurses */ -#ifdef HAVE_LIBNCURSES -#define TERMINFO -#define LIBS_TERMCAP -lncurses -#endif /* HAVE_LIBNCURSES */ - -/* copied from freebsd.h */ -#ifdef __ELF__ - -#define LD_SWITCH_SYSTEM -#undef START_FILES -#define START_FILES \ - pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -#define UNEXEC unexelf.o -#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o -#undef LIB_GCC -#define LIB_GCC - -#endif /* not __ELF__ */ - -/* arch-tag: 7659632a-a879-4153-bb8b-3765a1463ca1 - (do not change this comment) */ diff --git a/src/s/darwin.h b/src/s/darwin.h index d7f7cf2234..aa509b75af 100644 --- a/src/s/darwin.h +++ b/src/s/darwin.h @@ -23,12 +23,6 @@ along with GNU Emacs. If not, see . */ * Define all the symbols that apply correctly. */ -/* #define UNIPLUS */ -/* #define USG5 */ -/* #define USG */ -/* #define HPUX */ -/* #define UMAX */ -/* #define BSD4_1 */ #define BSD4_2 /* BSD4_3 and BSD4_4 are already defined in sys/param.h */ /* #define BSD4_3 */ diff --git a/src/s/freebsd.h b/src/s/freebsd.h index 9a21b0931e..843a34b6fe 100644 --- a/src/s/freebsd.h +++ b/src/s/freebsd.h @@ -40,19 +40,8 @@ along with GNU Emacs. If not, see . */ #define NO_SHARED_LIBS #endif - -#if 0 /* This much, alone, seemed sufficient as of 19.23. - But it seems better to be independent of netbsd.h. */ -#include "netbsd.h" - -#undef LIB_GCC -#define LIB_GCC -lgcc -#undef NEED_ERRNO -#endif /* 0 */ - - -/* Get most of the stuff from bsd4.3 */ -#include "bsd4-3.h" +/* Get most of the stuff from bsd-common */ +#include "bsd-common.h" /* For mem-limits.h. */ #define BSD4_2 @@ -161,7 +150,7 @@ along with GNU Emacs. If not, see . */ ioctl TIOCSCTTY. */ #define DONT_REOPEN_PTY -/* CLASH_DETECTION is defined in bsd4-3.h. +/* CLASH_DETECTION is defined in bsd-common.h. In FreeBSD 2.1.5 (and other 2.1.x), this results useless symbolic links remaining in /tmp or other directories with +t bit. 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 fbc3f944e6..b5a839ec98 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 along with GNU Emacs. If not, see . */ -/* Get most of the stuff from bsd4.3 */ -#include "bsd4-3.h" +/* Get most of the stuff from bsd-common */ +#include "bsd-common.h" /* For mem-limits.h. */ #define BSD4_2 diff --git a/src/s/hpux.h b/src/s/hpux10-20.h similarity index 60% rename from src/s/hpux.h rename to src/s/hpux10-20.h index 785fff1262..8ea24fc4dc 100644 --- a/src/s/hpux.h +++ b/src/s/hpux10-20.h @@ -1,7 +1,6 @@ -/* Definitions file for GNU Emacs running on HPUX release 7.0. - Based on AT&T System V.2. - Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008 Free Software Foundation, Inc. +/* System description file for hpux version 10.20. + Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -19,6 +18,8 @@ You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ +#define RUN_TIME_REMAP + /* * Define symbols to identify the version of Unix this is. * Define all the symbols that apply correctly. @@ -68,13 +69,6 @@ along with GNU Emacs. If not, see . */ #define HAVE_SOCKETS -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -/* #define NONSYSTEM_DIR_LIBRARY */ - /* Define this symbol if your system has the functions bcopy, etc. * s800 and later versions of s300 (s200) kernels have equivalents * of the BSTRING functions of BSD. If your s200 kernel doesn't have @@ -113,10 +107,6 @@ along with GNU Emacs. If not, see . */ #define CLASH_DETECTION -/* The file containing the kernel's symbol table is called /hp-ux. */ - -#define KERNEL_FILE "/hp-ux" - /* The symbol in the kernel where the load average is found depends on the cpu type, so we let the m- files define LDAV_SYMBOL. */ @@ -143,11 +133,6 @@ along with GNU Emacs. If not, see . */ /* Use the system provided termcap(3) library */ #define TERMINFO -/* The 48-bit versions are more winning for Emacs; - the ordinary ones don't give even 32 bits. */ -#define random lrand48 -#define srandom srand48 - /* In hpux, the symbol SIGIO is defined, but the feature doesn't work in the way Emacs needs it to. */ @@ -165,16 +150,6 @@ along with GNU Emacs. If not, see . */ /* #define static */ -/* Define extra libraries to load. - This should have -lBSD, but that library is said to make - `signal' fail to work. */ - -#ifdef HPUX_NET -#define LIBS_SYSTEM -ln -#else -#define LIBS_SYSTEM -#endif - /* Some additional system facilities exist. */ #define HAVE_PERROR /* Delete this line for version 6. */ @@ -182,16 +157,6 @@ along with GNU Emacs. If not, see . */ /* The following maps shared exec file to demand loaded exec. Don't do this as demand loaded exec is broken in hpux. */ -#if 0 - -/* Adjust a header field for the executable file about to be dumped. */ - -#define ADJUST_EXEC_HEADER \ - hdr.a_magic = ((ohdr.a_magic.file_type == OLDMAGIC.file_type) ? \ - NEWMAGIC : ohdr.a_magic); - -#endif - /* Baud-rate values in tty status have nonstandard meanings. */ #define BAUD_CONVERT \ @@ -209,10 +174,97 @@ along with GNU Emacs. If not, see . */ /* This triggers a conditional in xfaces.c. */ #define XOS_NEEDS_TIME_H -#ifndef HPUX8 -/* It's possible that HPUX 7 has sys/wait.h but it does not work right. */ -#undef HAVE_SYS_WAIT_H +/* Don't use shared libraries. unexec doesn't handle them. + Note GCC automatically passes -a archive to ld, and it has its own + conflicting -a. */ +#ifdef __GNUC__ + +#define LD_SWITCH_SYSTEM_TEMACS + +#else /* not __GNUC__ */ +/* Note, -a only works for hpux ld, not cc. And "cc LD_SWITCH_SYSTEM" + is used in configure's $ac_link to do various autoconf checks. + Since we only need -a when unexec'ing, only pass in -a to + "ld temacs" (ghazi@caip.rutgers.edu 7/10/97). */ +#if (defined(hp9000s700) || defined(__hp9000s700)) +#define LD_SWITCH_SYSTEM_TEMACS -L/lib/pa1.1 +#else /* not (defined(hp9000s700) || defined(__hp9000s700)) */ +#define LD_SWITCH_SYSTEM_TEMACS +#endif /* not (defined(hp9000s700) || defined(__hp9000s700)) */ +#endif /* not __GNUC__ */ + +/* Some hpux 8 machines seem to have TIOCGWINSZ, + and none have sioctl.h, so might as well define this. */ +#define NO_SIOCTL_H + +#ifndef HAVE_LIBXMU +/* HP-UX doesn't supply Xmu. */ +#define LIBXMU + #endif -/* arch-tag: 75c1239f-fedb-4f64-8f86-7893e75699e8 +/* Assar Westerlund says this is necessary for + HP-UX 10.20, and that it works for HP-UX 0 as well. */ +#define NO_EDITRES + +/* Tested in getloadavg.c. */ +#define HAVE_PSTAT_GETDYNAMIC + +/* Eric Backus says, HP-UX 9.x on HP 700 machines + has a broken `rint' in some library versions including math library + version number A.09.05. + + You can fix the math library by installing patch number PHSS_4630. + But we can fix it more reliably for Emacs like this. */ +#undef HAVE_RINT + +/* We have to go this route, rather than hpux9's approach of renaming the + functions via macros. The system's stdlib.h has fully prototyped + declarations, which yields a conflicting definition of srand48; it + tries to redeclare what was once srandom to be srand48. So we go + with HAVE_LRAND48 being defined. */ +#undef srandom +#undef random +#undef HAVE_RANDOM + +#define FORCE_ALLOCA_H + +/* AlainF 20-Jul-1996 says this is right. */ +#define KERNEL_FILE "/stand/vmunix" + +#ifdef HPUX_NET +#define LIBS_SYSTEM -ln -l:libdld.sl +#else +#define LIBS_SYSTEM -l:libdld.sl +#endif + +/* Rainer Malzbender says definining + HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20 + using GCC. */ + +#ifndef HAVE_XRMSETDATABASE +#define HAVE_XRMSETDATABASE +#endif + +/* Make sure we get select from libc rather than from libcurses + because libcurses on HPUX 10.10 has a broken version of select. + We used to use -lc -lcurses, but this may be cleaner. */ +#define LIBS_TERMCAP -ltermcap + +/* However, HPUX 10 puts Xaw and Xmu in a strange place + (if you install them at all). So search that place. */ +#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 +#define LD_SWITCH_X_DEFAULT -L/usr/lib/X11R6 -L/usr/lib/X11R5 -L/usr/lib/Motif1.2 -L/usr/contrib/X11R5/lib + +/* 2000-11-21: Temporarily disable Unix 98 large file support found by + configure. It fails on HPUX 11, at least, because it enables + header sections which lose when `static' is defined away, as it is + on HP-UX. (You get duplicate symbol errors on linking). */ + +#undef _FILE_OFFSET_BITS + +/* otherwise sigunblock wont be defined */ +#define POSIX_SIGNALS + +/* arch-tag: 8d8dcbf1-ca9b-48a1-94be-b750de18a5c6 (do not change this comment) */ diff --git a/src/s/hpux10.h b/src/s/hpux10.h deleted file mode 100644 index 646ef07d4e..0000000000 --- a/src/s/hpux10.h +++ /dev/null @@ -1,85 +0,0 @@ -/* System description file for hpux version 10. - Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -#include "hpux9shr.h" - -#define HPUX10 - -/* We have to go this route, rather than hpux9's approach of renaming the - functions via macros. The system's stdlib.h has fully prototyped - declarations, which yields a conflicting definition of srand48; it - tries to redeclare what was once srandom to be srand48. So we go - with HAVE_LRAND48 being defined. */ -#undef srandom -#undef random -#undef HAVE_RANDOM - -#define FORCE_ALLOCA_H - -/* AlainF 20-Jul-1996 says this is right. */ -#undef KERNEL_FILE -#define KERNEL_FILE "/stand/vmunix" - -#ifdef LIBS_SYSTEM -#undef LIBS_SYSTEM -#endif -#ifdef HPUX_NET -#define LIBS_SYSTEM -ln -l:libdld.sl -#else -#define LIBS_SYSTEM -l:libdld.sl -#endif - -/* Rainer Malzbender says definining - HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20 - using GCC. */ - -#ifndef HAVE_XRMSETDATABASE -#define HAVE_XRMSETDATABASE -#endif - -/* Make sure we get select from libc rather than from libcurses - because libcurses on HPUX 10.10 has a broken version of select. - We used to use -lc -lcurses, but this may be cleaner. */ -#define LIBS_TERMCAP -ltermcap - -#undef C_SWITCH_X_SYSTEM -#undef LD_SWITCH_X_DEFAULT -/* However, HPUX 10 puts Xaw and Xmu in a strange place - (if you install them at all). So search that place. */ -#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 -#define LD_SWITCH_X_DEFAULT -L/usr/lib/X11R6 -L/usr/lib/X11R5 -L/usr/lib/Motif1.2 -L/usr/contrib/X11R5/lib - -/* 2000-11-21: Temporarily disable Unix 98 large file support found by - configure. It fails on HPUX 11, at least, because it enables - header sections which lose when `static' is defined away, as it is - on HP-UX. (You get duplicate symbol errors on linking). */ - -#undef _FILE_OFFSET_BITS - -/* Don't define _BSD */ -#undef C_SWITCH_SYSTEM - -/* HP-UX 10.10 seem to have problems with signals coming in - Causes "poll: interrupted system call" messages when Emacs is run - in an X window (see process.c) */ -#define POLL_INTERRUPTED_SYS_CALL - -/* arch-tag: 1b95d569-a3c1-4fb0-8f69-fef264c17c24 - (do not change this comment) */ diff --git a/src/s/hpux8.h b/src/s/hpux8.h deleted file mode 100644 index 9333038b07..0000000000 --- a/src/s/hpux8.h +++ /dev/null @@ -1,96 +0,0 @@ -/* system description file for hpux version 8. - - Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - -/* -Commentary: - -This contains changes that were suggested "for the hp700". -They were not needed for the 800. -Our conjecture that they are needed for hpux version 8, -which is what runs on the 700. */ - -#define HPUX8 - -#include "hpux.h" - -/* dob@inel.gov says HPUX 8.07 needs this. He was using X11R5, I think. */ -#define LIBX11_SYSTEM -lXext - -#define LIB_X11_LIB -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lX11 -#define C_SWITCH_X_SYSTEM -I/usr/include/X11R5 -I/usr/include/X11R4 -#define LD_SWITCH_X_DEFAULT -L/usr/lib/X11R5 -L/usr/lib/X11R4 - -/* Don't use shared libraries. unexec doesn't handle them. - Note GCC automatically passes -a archive to ld, and it has its own - conflicting -a. */ -#ifdef __GNUC__ -/* No need to specify roundabout way of linking temacs. */ -#define ORDINARY_LINK - -#ifdef HPUX_USE_SHLIBS -#define LD_SWITCH_SYSTEM_TEMACS -#else -#define LD_SWITCH_SYSTEM_TEMACS -Xlinker -a -Xlinker archive -#endif - -#else /* not __GNUC__ */ -/* Note, -a only works for hpux ld, not cc. And "cc LD_SWITCH_SYSTEM" - is used in configure's $ac_link to do various autoconf checks. - Since we only need -a when unexec'ing, only pass in -a to - "ld temacs" (ghazi@caip.rutgers.edu 7/10/97). */ -#if (defined(hp9000s700) || defined(__hp9000s700)) -#ifdef HPUX_USE_SHLIBS -#define LD_SWITCH_SYSTEM_TEMACS -L/lib/pa1.1 -#else -#define LD_SWITCH_SYSTEM_TEMACS -a archive -L/lib/pa1.1 -#endif -#else /* not (defined(hp9000s700) || defined(__hp9000s700)) */ -#ifdef HPUX_USE_SHLIBS -#define LD_SWITCH_SYSTEM_TEMACS -#else -#define LD_SWITCH_SYSTEM_TEMACS -a archive -#endif -#endif /* not (defined(hp9000s700) || defined(__hp9000s700)) */ -#endif /* not __GNUC__ */ - -/* Some hpux 8 machines seem to have TIOCGWINSZ, - and none have sioctl.h, so might as well define this. */ -#define NO_SIOCTL_H - -#if 0 /* autoconf should be detecting the presence or absence of - random and srandom now. */ -/* If you use X11R4 you must define this. If you use - X11R5 you must comment this out */ -/* #define HAVE_RANDOM */ -#define random foo_random -#define srandom foo_srandom -#endif - -#if 0 /* This seems to be spurious. */ -/* "X11R5" on hpux8 doesn't have this function, which is supposed to exist - in X11R5. Maybe things will work if we just don't call it. */ -#define NO_XRM_SET_DATABASE -#endif - -/* Enable a special hack in XTread_socket. */ -#define X_IO_BUG - -/* arch-tag: 25fafe5c-b26c-43ab-8144-1629d59207ee - (do not change this comment) */ diff --git a/src/s/hpux9.h b/src/s/hpux9.h deleted file mode 100644 index 9c915eb6cc..0000000000 --- a/src/s/hpux9.h +++ /dev/null @@ -1,94 +0,0 @@ -/* System description file for hpux version 9. - - Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -#include "hpux8.h" - -#define HPUX9 - -/* If Emacs doesn't seem to work when built to use GNU malloc, you - probably need to get the latest patches to the HP/UX compiler. - See `etc/MACHINES' for more information. */ -#if 0 -#define SYSTEM_MALLOC 1 -#undef GNU_MALLOC -#undef REL_ALLOC -#endif - -#ifndef __GNUC__ -/* Make room for enough symbols, so dispnew.c does not fail. */ -#define C_SWITCH_SYSTEM -Wp,-H200000 -D_BSD -#else -#define C_SWITCH_SYSTEM -D_BSD -#endif - -#if 0 /* These definitions run into a bug in hpux - whereby trying to disable the vdsusp character has no effect. - supposedly there is no particular need for this. */ -/* neal@ctd.comsat.com */ -#undef HAVE_TERMIO -#define HAVE_TERMIOS -#define NO_TERMIO -#endif - -/* According to ngorelic@speclab.cr.usgs.gov, - references to the X11R4 directories in these variables - (inherited from hpux8.h) - cause the wrong libraries to be found, - and the options to specify the X11R5 directories are unnecessary - since the R5 files are found without them. */ -#undef LIB_X11_LIB -#undef C_SWITCH_X_SYSTEM -#undef LD_SWITCH_X_DEFAULT -/* However, HPUX 9 has Motif includes in a strange place. - So search that place. These definitions assume that X11R5 is being - used -- if X11R4 is used, "s/hpux9-x11r4.h" gets loaded instead. */ -/* horst@tkm.physik.uni-karlsruhe.de says that the /usr/contrib/... dirs - are needed to find the Xmu and Xaw libraries. */ -#define C_SWITCH_X_SYSTEM -I/usr/include/X11R5 -I/usr/contrib/X11R5/include -I/usr/include/Motif1.2 -#define LD_SWITCH_X_DEFAULT -L/usr/lib/X11R5 -L/usr/contrib/X11R5/lib -L/usr/lib/Motif1.2 - -#ifndef HAVE_LIBXMU -/* HP-UX doesn't supply Xmu. */ -#define LIBXMU - -#endif - -/* Assar Westerlund says this is necessary for - HP-UX 10.20, and that it works for HP-UX 0 as well. */ -#define NO_EDITRES - -/* zoo@armadillo.com says we don't need -lXext in HPUX 9. */ -#undef LIBX11_SYSTEM - -/* Tested in getloadavg.c. */ -#define HAVE_PSTAT_GETDYNAMIC - -/* Eric Backus says, HP-UX 9.x on HP 700 machines - has a broken `rint' in some library versions including math library - version number A.09.05. - - You can fix the math library by installing patch number PHSS_4630. - But we can fix it more reliably for Emacs like this. */ -#undef HAVE_RINT - - -/* arch-tag: 0a5e9f05-012c-4962-a222-a7a3a7fe0ab7 - (do not change this comment) */ diff --git a/src/s/hpux9shr.h b/src/s/hpux9shr.h deleted file mode 100644 index d273d2e778..0000000000 --- a/src/s/hpux9shr.h +++ /dev/null @@ -1,16 +0,0 @@ -#define ORDINARY_LINK -#define HPUX_USE_SHLIBS -#define RUN_TIME_REMAP - -#include "hpux9.h" - -#if 0 /* No longer needed, since in current GCC -g no longer does that. */ -/* We must turn off -g since it forces -static. */ -#ifdef __GNUC__ -#undef C_DEBUG_SWITCH -#define C_DEBUG_SWITCH -#endif -#endif - -/* arch-tag: 1b259627-c5f6-4260-866f-781b06d72f6b - (do not change this comment) */ diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h index 3e043c84fc..f617490bef 100644 --- a/src/s/ms-w32.h +++ b/src/s/ms-w32.h @@ -22,16 +22,6 @@ along with GNU Emacs. If not, see . */ * Define all the symbols that apply correctly. */ -/* #define UNIPLUS */ -/* #define USG5 */ -/* #define USG */ -/* #define HPUX */ -/* #define UMAX */ -/* #define BSD4_1 */ -/* #define BSD4_2 */ -/* #define BSD4_3 */ -/* #define BSD_SYSTEM */ -/* #define VMS */ #ifndef WINDOWSNT #define WINDOWSNT #endif diff --git a/src/s/msdos.h b/src/s/msdos.h index 2f5280f174..ea940e5383 100644 --- a/src/s/msdos.h +++ b/src/s/msdos.h @@ -26,16 +26,6 @@ along with GNU Emacs. If not, see . */ * Define all the symbols that apply correctly. */ -/* #define UNIPLUS */ -/* #define USG5 */ -/* #define USG */ -/* #define HPUX */ -/* #define UMAX */ -/* #define BSD4_1 */ -/* #define BSD4_2 */ -/* #define BSD4_3 */ -/* #define BSD_SYSTEM */ -/* #define VMS */ #ifndef MSDOS #define MSDOS #endif diff --git a/src/s/netbsd.h b/src/s/netbsd.h index a61a4e7436..0e9b0a8443 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 along with GNU Emacs. If not, see . */ -/* Get most of the stuff from bsd4.3 */ -#include "bsd4-3.h" +/* Get most of the stuff from bsd-common */ +#include "bsd-common.h" #if defined (__alpha__) && !defined (__ELF__) #define NO_SHARED_LIBS diff --git a/src/s/nextstep.h b/src/s/nextstep.h deleted file mode 100644 index 03b5d86cbb..0000000000 --- a/src/s/nextstep.h +++ /dev/null @@ -1,114 +0,0 @@ -/* Configuration file for the NeXTstep system. - Copyright (C) 1990, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - -#include "bsd4-3.h" - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. We'll need to undo the bsd one. */ - -#undef SYSTEM_TYPE -#define SYSTEM_TYPE "next-mach" - -#ifndef NeXT -#define NeXT -#endif - - -/* Data type of load average, as read out of kmem. */ - -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) - -/* Defining KERNEL_FILE causes lossage because sys/file.h - stupidly gets confused by it. */ -#undef KERNEL_FILE - -#define SYSTEM_MALLOC - -#define environ _environ - -/* This should be true for recent NeXT systems. At least since 3.2. */ -#define HAVE_MACH_MACH_H - -#if 0 /* I think these are never used--let's see. -- rms. */ -/* Mask for address bits within a memory segment */ - -#define SEGSIZ 0x20000 -#define SEGMENT_MASK (SEGSIZ - 1) - -#define HAVE_UNIX_DOMAIN - -/* Conflicts in process.c between ioctl.h & tty.h use of t_foo fields */ - -#define NO_T_CHARS_DEFINES - -/* This avoids a problem in Xos.h when using co-Xist 3.01. */ -#define X_NOT_POSIX -#endif /* 0 */ - -/* Definitions for how to link. */ - -/* Link this program just by running cc. */ -#define ORDINARY_LINK - -#define LD_SWITCH_SYSTEM -X - -/* Don't use -lc on the NeXT. */ -#ifdef NS_TARGET /* We use the dynamic libraries under Openstep for Mach 4.0 */ -#define LIB_STANDARD -#else -#define LIB_STANDARD -lsys_s -#endif - -#define LIB_MATH -lm - -#define START_FILES pre-crt0.o - -#define LIB_X11_LIB -L/usr/lib/X11 -lX11 - -/* We don't have a g library either, so override the -lg LIBS_DEBUG switch */ - -#define LIBS_DEBUG - -/* We don't have a libgcc.a, so we can't let LIB_GCC default to -lgcc */ - -#define LIB_GCC - -/* Definitions for how to dump. */ - -#define UNEXEC unexnext.o - -/* start_of_text isn't actually used, so make it compile without error. */ -#define TEXT_START 0 -/* This seems to be right for end_of_text, but it may not be used anyway. */ -#define TEXT_END get_etext () -/* This seems to be right for end_of_data, but it may not be used anyway. */ -#define DATA_END get_edata () - -/* Don't include string.h--it causes trouble. */ -#undef HAVE_STRING_H - -/* Tell emacs.c not to define abort. */ -#define NO_ABORT - -/* arch-tag: 5cd6fed4-a0be-4402-9349-85a80bc01d57 - (do not change this comment) */ diff --git a/src/s/template.h b/src/s/template.h index 9745d8b6d6..b79e3370b7 100644 --- a/src/s/template.h +++ b/src/s/template.h @@ -25,12 +25,9 @@ along with GNU Emacs. If not, see . */ * Define all the symbols that apply correctly. */ -/* #define UNIPLUS */ /* #define USG5 */ /* #define USG */ /* #define HPUX */ -/* #define UMAX */ -/* #define BSD4_1 */ /* #define BSD4_2 */ /* #define BSD4_3 */ /* #define BSD_SYSTEM */ diff --git a/src/s/ultrix4-3.h b/src/s/ultrix4-3.h deleted file mode 100644 index 2b4f379d3d..0000000000 --- a/src/s/ultrix4-3.h +++ /dev/null @@ -1,16 +0,0 @@ -#include "bsd4-3.h" - -#define NEED_UNISTD_H -#define HAVE_TERMIOS -#define PREFER_VSUSP - -/* Must set the line discipline to this, to make termio work. */ -#define SET_LINE_DISCIPLINE TERMIODISC - -#ifndef NOT_C_CODE -/* The address of this is used, but Ultrix header files don't declare it. */ -extern double rint (); -#endif - -/* arch-tag: 927a396a-d50f-494b-960b-533671184ce1 - (do not change this comment) */ diff --git a/src/s/usg5-0.h b/src/s/usg5-0.h deleted file mode 100644 index 941c48dc5d..0000000000 --- a/src/s/usg5-0.h +++ /dev/null @@ -1,149 +0,0 @@ -/* Definitions file for GNU Emacs running on AT&T's System V.0 - Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ - -#define USG /* System III, System V, etc */ - -#define USG5 -#define USG5_0 - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "usg-unix-v" - -/* nomultiplejobs should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -#define NOMULTIPLEJOBS - -/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ - -/* #define INTERRUPT_INPUT */ - -/* Letter to use in finding device name of first pty, - if system supports pty's. 'p' means it is /dev/ptyp0 */ - -#define FIRST_PTY_LETTER 'p' - -/* - * Define HAVE_TERMIO if the system provides sysV-style ioctls - * for terminal control. - */ - -#define HAVE_TERMIO - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -/* #define HAVE_PTYS */ - -/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ - -/* #define HAVE_SOCKETS */ - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -#define NONSYSTEM_DIR_LIBRARY - -/* Define this symbol if your system has the functions bcopy, etc. */ - -/* #define BSTRING */ - -/* subprocesses should be defined if you want to - have code for asynchronous subprocesses - (as used in M-x compile and M-x shell). - This is supposed to work now on system V release 2. */ - -#define subprocesses - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -#define COFF - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -/* #define MAIL_USE_FLOCK */ - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -/* #define CLASH_DETECTION */ - -/* The file containing the kernel's symbol table is called /unix. */ - -#define KERNEL_FILE "/unix" - -/* The symbol in the kernel where the load average is found - is named avenrun. */ - -#define LDAV_SYMBOL "avenrun" - -/* Special hacks needed to make Emacs run on this system. */ - -/* - * Make the sigsetmask function go away. Don't know what the - * ramifications of this are, but doesn't seem possible to - * emulate it properly anyway at this point. - */ - -#define sigsetmask(mask) /* Null expansion */ - -/* setjmp and longjmp can safely replace _setjmp and _longjmp, - but they will run slower. */ - -#define _setjmp setjmp -#define _longjmp longjmp - -/* On USG systems these have different names */ - -#define index strchr -#define rindex strrchr - -/* USG systems tend to put everything declared static - into the initialized data area, which becomes pure after dumping Emacs. - Foil this. Emacs carefully avoids static vars inside functions. */ - -#define static - -/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ - -#define ADDR_CORRECT(x) (x) - -/* Prevent -lg from being used for debugging. Not implemented? */ - -#define LIBS_DEBUG - -/* arch-tag: a18bdba9-506d-40ed-9877-49fc27ce8cac - (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 ae57e0f9eb..0000000000 --- a/src/s/usg5-2-2.h +++ /dev/null @@ -1,152 +0,0 @@ -/* Definitions file for GNU Emacs running on AT&T's System V Release 2.2 - Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ - -#define USG /* System III, System V, etc */ - -#define USG5 - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "usg-unix-v" - -/* nomultiplejobs should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -#define NOMULTIPLEJOBS - -/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ - -/* #define INTERRUPT_INPUT */ - -/* Letter to use in finding device name of first pty, - if system supports pty's. 'p' means it is /dev/ptyp0 */ - -#define FIRST_PTY_LETTER 'p' - -/* - * Define HAVE_TERMIO if the system provides sysV-style ioctls - * for terminal control. - */ - -#define HAVE_TERMIO - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -/* #define HAVE_PTYS */ - -/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ - -/* #define HAVE_SOCKETS */ - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -#define NONSYSTEM_DIR_LIBRARY - -/* Define this symbol if your system has the functions bcopy, etc. */ - -/* #define BSTRING */ - -/* subprocesses should be defined if you want to - have code for asynchronous subprocesses - (as used in M-x compile and M-x shell). - This is supposed to work now on system V release 2. */ - -#define subprocesses - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -#define COFF - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -/* #define MAIL_USE_FLOCK */ - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -/* #define CLASH_DETECTION */ - -/* The file containing the kernel's symbol table is called /unix. */ - -#define KERNEL_FILE "/unix" - -/* The symbol in the kernel where the load average is found - is named avenrun. */ - -#define LDAV_SYMBOL "avenrun" - -/* Special hacks needed to make Emacs run on this system. */ - -/* - * Make the sigsetmask function go away. Don't know what the - * ramifications of this are, but doesn't seem possible to - * emulate it properly anyway at this point. - */ - -#define sigsetmask(mask) /* Null expansion */ - -/* setjmp and longjmp can safely replace _setjmp and _longjmp, - but they will run slower. */ - -#define _setjmp setjmp -#define _longjmp longjmp - -/* On USG systems these have different names */ - -#define index strchr -#define rindex strrchr - -/* USG systems tend to put everything declared static - into the initialized data area, which becomes pure after dumping Emacs. - Foil this. Emacs carefully avoids static vars inside functions. */ - -#define static - -/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ - -#define ADDR_CORRECT(x) (x) - -/* Prevent -lg from being used for debugging. Not implemented? */ - -#define LIBS_DEBUG - -/* Use terminfo instead of termcap. */ - -#define TERMINFO - -/* arch-tag: 56923f22-9e2b-4814-b922-88c87657ff6b - (do not change this comment) */ diff --git a/src/s/usg5-2.h b/src/s/usg5-2.h deleted file mode 100644 index fe1a873d78..0000000000 --- a/src/s/usg5-2.h +++ /dev/null @@ -1,152 +0,0 @@ -/* Definitions file for GNU Emacs running on AT&T's System V Release 2.0 - Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. - */ - -#define USG /* System III, System V, etc */ - -#define USG5 - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "usg-unix-v" - -/* nomultiplejobs should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -#define NOMULTIPLEJOBS - -/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ - -/* #define INTERRUPT_INPUT */ - -/* Letter to use in finding device name of first pty, - if system supports pty's. 'p' means it is /dev/ptyp0 */ - -#define FIRST_PTY_LETTER 'p' - -/* - * Define HAVE_TERMIO if the system provides sysV-style ioctls - * for terminal control. - */ - -#define HAVE_TERMIO - -/* - * Define HAVE_PTYS if the system supports pty devices. - */ - -/* #define HAVE_PTYS */ - -/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ - -/* #define HAVE_SOCKETS */ - -/* - * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate - * The 4.2 opendir, etc., library functions. - */ - -#define NONSYSTEM_DIR_LIBRARY - -/* Define this symbol if your system has the functions bcopy, etc. */ - -/* #define BSTRING */ - -/* subprocesses should be defined if you want to - have code for asynchronous subprocesses - (as used in M-x compile and M-x shell). - This is supposed to work now on system V release 2. */ - -#define subprocesses - -/* If your system uses COFF (Common Object File Format) then define the - preprocessor symbol "COFF". */ - -#define COFF - -/* define MAIL_USE_FLOCK if the mailer uses flock - to interlock access to /usr/spool/mail/$USER. - The alternative is that a lock file named - /usr/spool/mail/$USER.lock. */ - -/* #define MAIL_USE_FLOCK */ - -/* Define CLASH_DETECTION if you want lock files to be written - so that Emacs can tell instantly when you try to modify - a file that someone else has modified in his Emacs. */ - -/* #define CLASH_DETECTION */ - -/* The file containing the kernel's symbol table is called /unix. */ - -#define KERNEL_FILE "/unix" - -/* The symbol in the kernel where the load average is found - is named avenrun. */ - -#define LDAV_SYMBOL "avenrun" - -/* Special hacks needed to make Emacs run on this system. */ - -/* - * Make the sigsetmask function go away. Don't know what the - * ramifications of this are, but doesn't seem possible to - * emulate it properly anyway at this point. - */ - -#define sigsetmask(mask) /* Null expansion */ - -/* setjmp and longjmp can safely replace _setjmp and _longjmp, - but they will run slower. */ - -#define _setjmp setjmp -#define _longjmp longjmp - -/* On USG systems these have different names */ - -#define index strchr -#define rindex strrchr - -/* USG systems tend to put everything declared static - into the initialized data area, which becomes pure after dumping Emacs. - Foil this. Emacs carefully avoids static vars inside functions. */ - -#define static - -/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ - -#define ADDR_CORRECT(x) (x) - -/* Prevent -lg from being used for debugging. Not implemented? */ - -#define LIBS_DEBUG - -/* Use terminfo instead of termcap. */ - -#define TERMINFO - -/* arch-tag: cfd9500f-0284-4a88-8f07-3f56b42db13b - (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 8d05e8b3fa..0000000000 --- a/src/s/usg5-4-3.h +++ /dev/null @@ -1,11 +0,0 @@ -/* s/ file for System V release 4.3. */ - -#include "usg5-4-2.h" - -/* Bill_Mann@PraxisInt.com: without this switch emacs generates this error - on start up for an i486-ncr-sysv4.3 (running the X toolkit): - _XipOpenIM() Unable to find Atom _XIM_INPUTMETHOD */ -#define X11R5_INHIBIT_I18N - -/* arch-tag: 03ac8b3a-c3d4-4441-a773-1c1d9f111f1a - (do not change this comment) */ diff --git a/src/s/usg5-3.h b/src/s/usg5-4.h similarity index 51% rename from src/s/usg5-3.h rename to src/s/usg5-4.h index 3a03f421fd..79cc10ac03 100644 --- a/src/s/usg5-3.h +++ b/src/s/usg5-4.h @@ -1,6 +1,6 @@ -/* Definitions file for GNU Emacs running on AT&T's System V Release 3 - Copyright (C) 1987, 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008 Free Software Foundation, Inc. +/* Definitions file for GNU Emacs running on AT&T's System V Release 4 + Copyright (C) 1987, 1990, 1999, 2000, 2001, 2002, 2003, 2004, 2005, + 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -17,38 +17,27 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ - -/* - * Define symbols to identify the version of Unix this is. - * Define all the symbols that apply correctly. +/* This file written by James Van Artsdalen of Dell Computer Corporation. + * james@bigtex.cactus.org. Subsequently improved for Dell 2.2 by Eric + * S. Raymond . */ +/* Use the SysVr3 file for at least base configuration. */ + #define USG /* System III, System V, etc */ #define USG5 - -#define USG5_3 +#define USG5_4 /* SYSTEM_TYPE should indicate the kind of system you are using. It sets the Lisp variable system-type. */ #define SYSTEM_TYPE "usg-unix-v" -/* nomultiplejobs should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -#define NOMULTIPLEJOBS - /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ /* #define INTERRUPT_INPUT */ -/* Letter to use in finding device name of first pty, - if system supports pty's. 'p' means it is /dev/ptyp0 */ - -#define FIRST_PTY_LETTER 'p' - /* * Define HAVE_TERMIO if the system provides sysV-style ioctls * for terminal control. @@ -162,27 +151,11 @@ along with GNU Emacs. If not, see . */ #define TERMINFO -/* Some variants have TIOCGETC, but the structures to go with it - are not declared. */ - -#define BROKEN_TIOCGETC - -/* AT&T SVr3 X wants to be linked with shared libraries */ - -#define LIB_X11_LIB -lX11_s - -/* X needs to talk on the network, so search the network library. */ - -#define LIBX11_SYSTEM -lpt -lnls -lnsl_s -lc_s /* The docs for system V/386 suggest v.3 has sigpause, so let's give it a try. */ #define HAVE_SYSV_SIGPAUSE -/* Some variants have TIOCGWINSZ, but the structures to go with it - are not declared. */ - -#define BROKEN_TIOCGWINSZ /* If we're using the System V X port, BSD bstring functions will be handy */ @@ -198,5 +171,133 @@ along with GNU Emacs. If not, see . */ #define SIGTYPE void -/* arch-tag: 2bca65fd-f015-44b9-a2aa-9f8170ce89ca +#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o +#define LIB_STANDARD -lc /usr/ccs/lib/crtn.o + +/* there are no -lg libraries on this system, and no libPW */ + +#define LIBS_DEBUG + +/* Undump with ELF */ + +#undef COFF + +#define UNEXEC unexelf.o + +/* *defines* stat(2) as a static function. If "static" + * is blank, then many files will have a public definition for stat(2). + */ + +#undef static + +/* Get FIONREAD from . Get to get struct + * tchars. But get first to make sure ttold.h doesn't + * interfere. And don't try to use SIGIO yet. + */ + +#ifndef NOT_C_CODE +#include +#endif + +#ifdef emacs +#ifndef NO_FILIO_H +#include +#endif +#include +#include +#include +#include +#include +#include +#define BROKEN_SIGIO +#endif + +/* Some SVr4s don't define NSIG in sys/signal.h for ANSI environments; + * instead, there's a system variable _sys_nsig. Unfortunately, we need the + * constant to dimension an array. So wire in the appropriate value here. + */ +#define NSIG_MINIMUM 32 + +/* We need bss_end from emacs.c for undumping */ + +#ifndef USG_SHARED_LIBRARIES +#define USG_SHARED_LIBRARIES +#endif + +/* We can support this */ + +#define CLASH_DETECTION + +#define HAVE_PTYS +#define HAVE_TERMIOS + +/* It is possible to receive SIGCHLD when there are no children + waiting, because a previous waitsys(2) cleaned up the carcass of child + without clearing the SIGCHLD pending info. So, use a non-blocking + wait3 instead, which maps to waitpid(2) in SysVr4. */ + +#define HAVE_WAIT_HEADER +#define WAITTYPE int +#define wait3(status, options, rusage) \ + waitpid ((pid_t) -1, (status), (options)) +#define WRETCODE(w) (w >> 8) + +/* TIOCGPGRP is broken in SysVr4, so we can't send signals to PTY + subprocesses the usual way. But TIOCSIGNAL does work for PTYs, and + this is all we need. */ + +#define TIOCSIGSEND TIOCSIGNAL + +/* This change means that we don't loop through allocate_pty too many + times in the (rare) event of a failure. */ + +#define FIRST_PTY_LETTER 'z' + +/* This sets the name of the master side of the PTY. */ + +#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx"); + +/* This sets the name of the slave side of the PTY. On SysVr4, + grantpt(3) forks a subprocess, so keep sigchld_handler() from + intercepting that death. If any child but grantpt's should die + within, it should be caught after sigrelse(2). */ + +#define PTY_TTY_NAME_SPRINTF \ + { \ + char *ptsname (), *ptyname; \ + \ + sighold (SIGCLD); \ + if (grantpt (fd) == -1) \ + { emacs_close (fd); return -1; } \ + sigrelse (SIGCLD); \ + if (unlockpt (fd) == -1) \ + { emacs_close (fd); return -1; } \ + if (!(ptyname = ptsname (fd))) \ + { emacs_close (fd); return -1; } \ + strncpy (pty_name, ptyname, sizeof (pty_name)); \ + pty_name[sizeof (pty_name) - 1] = 0; \ + } + +/* Push various streams modules onto a PTY channel. */ + +#define SETUP_SLAVE_PTY \ + if (ioctl (xforkin, I_PUSH, "ptem") == -1) \ + fatal ("ioctl I_PUSH ptem", errno); \ + if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \ + fatal ("ioctl I_PUSH ldterm", errno); \ + if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \ + fatal ("ioctl I_PUSH ttcompat", errno); + +/* Tell x11term.c and keyboard.c we have the system V streams feature. */ +#define SYSV_STREAMS + +/* This definition was suggested for next release. + So give it a try. */ +#define HAVE_SOCKETS + +/* Markus Weiand says this is needed for Motif on + SINIX. */ +#define LIBS_SYSTEM -lgen + +/* arch-tag: 1a0ed909-5faa-434b-b7c3-9d86c63d53a6 (do not change this comment) */ diff --git a/src/s/ux4800.h b/src/s/ux4800.h deleted file mode 100644 index 1c8729f416..0000000000 --- a/src/s/ux4800.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Definitions file for GNU Emacs running on NEC's UX/4800 (SVR4.2MP) */ -#include "usg5-4-2.h" -#undef LIB_MOTIF -#ifndef nec_ews -#define nec_ews -#endif -#ifndef nec_ews_svr4 -#define nec_ews_svr4 -#endif -#define XOS_NEEDS_TIME_H -#define HAVE_CLOCK -#ifdef __STDC__ -#define MKDIR_PROTOTYPE int mkdir(char *dpath, mode_t dmode) -#endif -#ifndef __GNUC__ -#define C_DEBUG_SWITCH -O -KOlimit=3000 -ZXNd=5000 -#endif - -/* arch-tag: e42eeb13-028a-490b-8427-0b57010f2ab9 - (do not change this comment) */ diff --git a/src/s/uxpds.h b/src/s/uxpds.h deleted file mode 100644 index c3ddf1039c..0000000000 --- a/src/s/uxpds.h +++ /dev/null @@ -1,11 +0,0 @@ -/* Handle uxpds */ - -#include "usg5-4-2.h" - -/* This triggers a conditional in xfaces.c. */ -#define XOS_NEEDS_TIME_H - -#define FSCALE 256 - -/* arch-tag: c02db2a6-c725-4a6b-adee-66e0303df2a8 - (do not change this comment) */ diff --git a/src/s/uxpv.h b/src/s/uxpv.h deleted file mode 100644 index 9571545598..0000000000 --- a/src/s/uxpv.h +++ /dev/null @@ -1,14 +0,0 @@ -/* System description file for Fujitsu UXP/V - This file describes the parameters that system description files - should define or not. */ - -#include "usg5-4-2.h" - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#undef SYSTEM_TYPE -#define SYSTEM_TYPE "uxpv" - -/* arch-tag: 3f00cfe7-f44c-45ce-a2fe-2b17fc411a1e - (do not change this comment) */ diff --git a/src/sysdep.c b/src/sysdep.c index bac8a63818..c2a7d1a081 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -206,10 +206,6 @@ struct utimbuf { #define LPASS8 0 #endif -#ifdef BSD4_1 -#define LNOFLSH 0100000 -#endif - static int baud_convert[] = #ifdef BAUD_CONVERT BAUD_CONVERT; @@ -235,11 +231,6 @@ int emacs_ospeed; void croak P_ ((char *)) NO_RETURN; -#ifdef AIXHFT -void hft_init P_ ((struct tty_display_info *)); -void hft_reset P_ ((struct tty_display_info *)); -#endif - /* Temporary used by `sigblock' when defined in terms of signprocmask. */ SIGMASKTYPE sigprocmask_set; @@ -483,7 +474,7 @@ wait_for_termination (pid) status = SYS$FORCEX (&pid, 0, 0); break; #else /* not VMS */ -#if defined (BSD_SYSTEM) || (defined (HPUX) && !defined (HPUX_5)) +#if defined (BSD_SYSTEM) || defined (HPUX) /* Note that kill returns -1 even if the process is just a zombie now. But inevitably a SIGCHLD interrupt should be generated and child_sig will do wait3 and make the process go away. */ @@ -542,16 +533,9 @@ wait_for_termination (pid) #if __DJGPP__ > 1 break; #else /* not __DJGPP__ > 1 */ -#ifndef BSD4_1 if (kill (pid, 0) < 0) break; wait (0); -#else /* BSD4_1 */ - int status; - status = wait (0); - if (status == pid || status == -1) - break; -#endif /* BSD4_1 */ #endif /* not __DJGPP__ > 1*/ #endif /* not subprocesses */ } @@ -695,10 +679,6 @@ child_setup_tty (out) EMACS_SET_TTY (out, &s, 0); -#ifdef BSD4_1 - if (interrupt_input) - reset_sigio (0); -#endif /* BSD4_1 */ #endif /* not DOS_NT */ } #endif /* not VMS */ @@ -1267,12 +1247,6 @@ emacs_set_tty (fd, settings, flushp) -#ifdef BSD4_1 -/* BSD 4.1 needs to keep track of the lmode bits in order to start - sigio. */ -int lmode; -#endif - #ifdef F_SETOWN int old_fcntl_owner[MAXDESC]; #endif /* F_SETOWN */ @@ -1281,15 +1255,11 @@ int old_fcntl_owner[MAXDESC]; but if so, this does no harm, and using the same name avoids wasting the other one's space. */ -#ifdef nec_ews_svr4 -extern char *_sobuf ; -#else #if defined (USG) || defined (DGUX) unsigned char _sobuf[BUFSIZ+8]; #else char _sobuf[BUFSIZ]; #endif -#endif #ifdef HAVE_LTCHARS static struct ltchars new_ltchars = {-1,-1,-1,-1,-1,-1}; @@ -1495,11 +1465,6 @@ init_sys_modes (tty_out) } #endif /* mips or HAVE_TCATTR */ -#ifdef SET_LINE_DISCIPLINE - /* Need to explicitly request TERMIODISC line discipline or - Ultrix's termios does not work correctly. */ - tty.main.c_line = SET_LINE_DISCIPLINE; -#endif #ifdef AIX #ifndef IBMR2AIX /* AIX enhanced edit loses NULs, so disable it. */ @@ -1566,16 +1531,7 @@ init_sys_modes (tty_out) } tty.lmode = LDECCTQ | LLITOUT | LPASS8 | LNOFLSH | tty_out->old_tty.lmode; -#ifdef ultrix - /* Under Ultrix 4.2a, leaving this out doesn't seem to hurt - anything, and leaving it in breaks the meta key. Go figure. */ - tty.lmode &= ~LLITOUT; -#endif -#ifdef BSD4_1 - lmode = tty.lmode; -#endif - #endif /* HAVE_TCHARS */ #endif /* not HAVE_TERMIO */ @@ -1600,26 +1556,12 @@ init_sys_modes (tty_out) if (!tty_out->flow_control) ioctl (fileno (tty_out->input), TIOCSTART, 0); #endif -#if defined (HAVE_TERMIOS) || defined (HPUX9) +#if defined (HAVE_TERMIOS) || defined (HPUX) #ifdef TCOON if (!tty_out->flow_control) tcflow (fileno (tty_out->input), TCOON); #endif #endif -#ifdef AIXHFT - hft_init (tty_out); -#ifdef IBMR2AIX - { - /* IBM's HFT device usually thinks a ^J should be LF/CR. We need it - to be only LF. This is the way that is done. */ - struct termio tty; - - if (ioctl (1, HFTGETID, &tty) != -1) - write (1, "\033[20l", 5); - } -#endif -#endif /* AIXHFT */ - #ifdef VMS /* Appears to do nothing when in PASTHRU mode. SYS$QIOW (0, fileno (tty_out->input), IO$_SETMODE|IO$M_OUTBAND, 0, 0, 0, @@ -1649,11 +1591,6 @@ init_sys_modes (tty_out) #endif /* F_GETOWN */ #endif /* F_SETFL */ -#ifdef BSD4_1 - if (interrupt_input) - init_sigio (fileno (tty_out->input)); -#endif - #ifdef VMS /* VMS sometimes has this symbol but lacks setvbuf. */ #undef _IOFBF #endif @@ -1868,26 +1805,13 @@ reset_sys_modes (tty_out) cmgoto (tty_out, FrameRows (tty_out) - 1, 0); fflush (tty_out->output); -#if defined (IBMR2AIX) && defined (AIXHFT) - { - /* HFT devices normally use ^J as a LF/CR. We forced it to - do the LF only. Now, we need to reset it. */ - struct termio tty; - - if (ioctl (1, HFTGETID, &tty) != -1) - write (1, "\033[20h", 5); - } -#endif - if (tty_out->terminal->reset_terminal_modes_hook) tty_out->terminal->reset_terminal_modes_hook (tty_out->terminal); #ifdef BSD_SYSTEM -#ifndef BSD4_1 /* Avoid possible loss of output when changing terminal modes. */ fsync (fileno (tty_out->output)); #endif -#endif #ifdef F_SETFL #ifdef F_SETOWN /* F_SETFL does not imply existence of F_SETOWN */ @@ -1903,10 +1827,6 @@ reset_sys_modes (tty_out) fcntl (fileno (tty_out->input), F_GETFL, 0) & ~O_NDELAY); #endif #endif /* F_SETFL */ -#ifdef BSD4_1 - if (interrupt_input) - reset_sigio (fileno (tty_out->input)); -#endif /* BSD4_1 */ if (tty_out->old_tty) while (EMACS_SET_TTY (fileno (tty_out->input), @@ -1917,17 +1837,6 @@ reset_sys_modes (tty_out) dos_ttcooked (); #endif -#ifdef SET_LINE_DISCIPLINE - /* Ultrix's termios *ignores* any line discipline except TERMIODISC. - A different old line discipline is therefore not restored, yet. - Restore the old line discipline by hand. */ - ioctl (0, TIOCSETD, &tty_out->old_tty.main.c_line); -#endif - -#ifdef AIXHFT - hft_reset (); -#endif - #ifdef BSD_PGRPS widen_foreground_group (fileno (tty_out->input)); #endif @@ -2318,20 +2227,14 @@ start_of_data () /* init_system_name sets up the string for the Lisp function system-name to return. */ -#ifdef BSD4_1 -#include -#endif - extern Lisp_Object Vsystem_name; -#ifndef BSD4_1 #ifndef VMS #ifdef HAVE_SOCKETS #include #include #endif /* HAVE_SOCKETS */ #endif /* not VMS */ -#endif /* not BSD4_1 */ #ifdef TRY_AGAIN #ifndef HAVE_H_ERRNO @@ -2342,9 +2245,6 @@ extern int h_errno; void init_system_name () { -#ifdef BSD4_1 - Vsystem_name = build_string (sysname); -#else #ifdef VMS char *sp, *end; if ((sp = egetenv ("SYS$NODE")) == 0) @@ -2525,7 +2425,6 @@ init_system_name () Vsystem_name = build_string (hostname); #endif /* HAVE_GETHOSTNAME */ #endif /* VMS */ -#endif /* BSD4_1 */ { unsigned char *p; for (p = SDATA (Vsystem_name); *p; p++) @@ -2567,11 +2466,7 @@ SIGTYPE select_alarm () { select_alarmed = 1; -#ifdef BSD4_1 - sigrelse (SIGALRM); -#else /* not BSD4_1 */ signal (SIGALRM, SIG_IGN); -#endif /* not BSD4_1 */ SIGNAL_THREAD_CHECK (SIGALRM); if (read_alarm_should_throw) longjmp (read_alarm_throw, 1); @@ -2782,93 +2677,6 @@ read_input_waiting () #endif /* not VMS */ #endif /* not MSDOS */ -#ifdef BSD4_1 -void -init_sigio (fd) - int fd; -{ - if (noninteractive) - return; - lmode = LINTRUP | lmode; - ioctl (fd, TIOCLSET, &lmode); -} - -void -reset_sigio (fd) - int fd; -{ - if (noninteractive) - return; - lmode = ~LINTRUP & lmode; - ioctl (fd, TIOCLSET, &lmode); -} - -void -request_sigio () -{ - if (noninteractive) - return; - sigrelse (SIGTINT); - - interrupts_deferred = 0; -} - -void -unrequest_sigio () -{ - if (noninteractive) - return; - sighold (SIGTINT); - - interrupts_deferred = 1; -} - -/* still inside #ifdef BSD4_1 */ -#ifdef subprocesses - -int sigheld; /* Mask of held signals */ - -void -sigholdx (signum) - int signum; -{ - sigheld |= sigbit (signum); - sighold (signum); -} - -void -sigisheld (signum) - int signum; -{ - sigheld |= sigbit (signum); -} - -void -sigunhold (signum) - int signum; -{ - sigheld &= ~sigbit (signum); - sigrelse (signum); -} - -void -sigfree () /* Free all held signals */ -{ - int i; - for (i = 0; i < NSIG; i++) - if (sigheld & sigbit (i)) - sigrelse (i); - sigheld = 0; -} - -int -sigbit (i) -{ - return 1 << (i - 1); -} -#endif /* subprocesses */ -#endif /* BSD4_1 */ - /* POSIX signals support - DJB */ /* Anyone with POSIX signals should have ANSI C declarations */ @@ -3327,11 +3135,6 @@ emacs_open (path, oflag, mode) { register int rtnval; -#ifdef BSD4_1 - if (oflag & O_CREAT) - return creat (path, mode); -#endif - while ((rtnval = open (path, oflag, mode)) == -1 && (errno == EINTR)) QUIT; @@ -5189,100 +4992,6 @@ srandom (seed) } #endif /* VMS */ -#ifdef AIXHFT - -/* Called from init_sys_modes. */ -void -hft_init (struct tty_display_info *tty_out) -{ - int junk; - - /* If we're not on an HFT we shouldn't do any of this. We determine - if we are on an HFT by trying to get an HFT error code. If this - call fails, we're not on an HFT. */ -#ifdef IBMR2AIX - if (ioctl (0, HFQERROR, &junk) < 0) - return; -#else /* not IBMR2AIX */ - if (ioctl (0, HFQEIO, 0) < 0) - return; -#endif /* not IBMR2AIX */ - - /* On AIX the default hft keyboard mapping uses backspace rather than delete - as the rubout key's ASCII code. Here this is changed. The bug is that - there's no way to determine the old mapping, so in reset_sys_modes - we need to assume that the normal map had been present. Of course, this - code also doesn't help if on a terminal emulator which doesn't understand - HFT VTD's. */ - { - struct hfbuf buf; - struct hfkeymap keymap; - - buf.hf_bufp = (char *)&keymap; - buf.hf_buflen = sizeof (keymap); - keymap.hf_nkeys = 2; - keymap.hfkey[0].hf_kpos = 15; - keymap.hfkey[0].hf_kstate = HFMAPCHAR | HFSHFNONE; -#ifdef IBMR2AIX - keymap.hfkey[0].hf_keyidh = '<'; -#else /* not IBMR2AIX */ - keymap.hfkey[0].hf_page = '<'; -#endif /* not IBMR2AIX */ - keymap.hfkey[0].hf_char = 127; - keymap.hfkey[1].hf_kpos = 15; - keymap.hfkey[1].hf_kstate = HFMAPCHAR | HFSHFSHFT; -#ifdef IBMR2AIX - keymap.hfkey[1].hf_keyidh = '<'; -#else /* not IBMR2AIX */ - keymap.hfkey[1].hf_page = '<'; -#endif /* not IBMR2AIX */ - keymap.hfkey[1].hf_char = 127; - hftctl (0, HFSKBD, &buf); - } -} - -/* Reset the rubout key to backspace. */ - -void -hft_reset (struct tty_display_info *tty_out) -{ - struct hfbuf buf; - struct hfkeymap keymap; - int junk; - -#ifdef IBMR2AIX - if (ioctl (0, HFQERROR, &junk) < 0) - return; -#else /* not IBMR2AIX */ - if (ioctl (0, HFQEIO, 0) < 0) - return; -#endif /* not IBMR2AIX */ - - buf.hf_bufp = (char *)&keymap; - buf.hf_buflen = sizeof (keymap); - keymap.hf_nkeys = 2; - keymap.hfkey[0].hf_kpos = 15; - keymap.hfkey[0].hf_kstate = HFMAPCHAR | HFSHFNONE; -#ifdef IBMR2AIX - keymap.hfkey[0].hf_keyidh = '<'; -#else /* not IBMR2AIX */ - keymap.hfkey[0].hf_page = '<'; -#endif /* not IBMR2AIX */ - keymap.hfkey[0].hf_char = 8; - keymap.hfkey[1].hf_kpos = 15; - keymap.hfkey[1].hf_kstate = HFMAPCHAR | HFSHFSHFT; -#ifdef IBMR2AIX - keymap.hfkey[1].hf_keyidh = '<'; -#else /* not IBMR2AIX */ - keymap.hfkey[1].hf_page = '<'; -#endif /* not IBMR2AIX */ - keymap.hfkey[1].hf_char = 8; - hftctl (0, HFSKBD, &buf); -} - -#endif /* AIXHFT */ - - #ifndef BSTRING #ifndef bzero diff --git a/src/syssignal.h b/src/syssignal.h index 6aeb0ad768..9451fa22f7 100644 --- a/src/syssignal.h +++ b/src/syssignal.h @@ -143,9 +143,7 @@ extern SIGMASKTYPE sigprocmask_set; { SIGMASKTYPE omask = sigblock (SIGFULLMASK); sigsetmask (omask & ~SIG); } #endif -#ifndef BSD4_1 #define sigfree() sigsetmask (SIGEMPTYMASK) -#endif /* not BSD4_1 */ #if defined (SIGINFO) && defined (BROKEN_SIGINFO) #undef SIGINFO @@ -180,11 +178,6 @@ extern SIGMASKTYPE sigprocmask_set; # define NSIG NSIG_MINIMUM #endif -#ifdef BSD4_1 -#define SIGIO SIGTINT -/* sigfree is in sysdep.c */ -#endif /* BSD4_1 */ - /* On bsd, [man says] kill does not accept a negative number to kill a pgrp. Must do that using the killpg call. */ #ifdef BSD_SYSTEM diff --git a/src/systty.h b/src/systty.h index 4623a2cceb..4d9bd792a3 100644 --- a/src/systty.h +++ b/src/systty.h @@ -93,19 +93,6 @@ static struct sensemode { #include #endif -#ifdef AIXHFT -/* Get files for keyboard remapping */ -#define HFNKEYS 2 -#include -#include -#endif - -/* Get rid of LLITOUT in 4.1, since it is said to stimulate kernel bugs. */ -#ifdef BSD4_1 -#undef LLITOUT -#define LLITOUT 0 -#endif /* 4.1 */ - #ifdef NEED_BSDTTY #include #endif diff --git a/src/syswait.h b/src/syswait.h index 786cb62226..8079737343 100644 --- a/src/syswait.h +++ b/src/syswait.h @@ -91,11 +91,7 @@ along with GNU Emacs. If not, see . */ #else -#ifdef BSD4_1 -#include -#else #include -#endif /* not BSD 4.1 */ #define WAITTYPE union wait #define WRETCODE(w) w.w_retcode diff --git a/src/term.c b/src/term.c index 533104dc04..f08b800163 100644 --- a/src/term.c +++ b/src/term.c @@ -3801,13 +3801,6 @@ to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.", init_baud_rate (fileno (tty->input)); -#ifdef AIXHFT - /* The HFT system on AIX doesn't optimize for scrolling, so it's - really ugly at times. */ - terminal->line_ins_del_ok = 0; - terminal->char_ins_del_ok = 0; -#endif - /* Don't do this. I think termcap may still need the buffer. */ /* xfree (buffer); */ diff --git a/src/unexec.c b/src/unexec.c index 93fc603ac3..6b46c00150 100644 --- a/src/unexec.c +++ b/src/unexec.c @@ -197,7 +197,7 @@ struct aouthdr #include #include -#include /* Must be after sys/types.h for USG and BSD4_1*/ +#include /* Must be after sys/types.h for USG*/ #ifdef USG5 #include diff --git a/src/unexelf.c b/src/unexelf.c index db05c55fb8..199352d4e6 100644 --- a/src/unexelf.c +++ b/src/unexelf.c @@ -433,9 +433,6 @@ extern void fatal (const char *msgid, ...); #if __sgi #include /* for HDRR declaration */ #endif /* __sgi */ -#ifdef BROKEN_NOCOMBRELOC -#include -#endif #ifndef MAP_ANON #ifdef MAP_ANONYMOUS @@ -690,9 +687,6 @@ unexec (new_name, old_name, data_start, bss_start, entry_address) int old_mdebug_index; struct stat stat_buf; int old_file_size; -#ifdef BROKEN_NOCOMBRELOC - int unreloc_sections[10], n_unreloc_sections; -#endif /* Open the old file, allocate a buffer of the right size, and read in the file contents. */ @@ -982,23 +976,11 @@ unexec (new_name, old_name, data_start, bss_start, entry_address) section just before .bss has less-strict alignment; this was observed between .symtab and .bss on Solaris 2.5.1 (sparc) with GCC snapshot 960602. */ -#ifdef SOLARIS_POWERPC - /* On PPC Reference Platform running Solaris 2.5.1 - the plt section is also of type NOBI like the bss section. - (not really stored) and therefore sections after the bss - section start at the plt offset. The plt section is always - the one just before the bss section. - It would be better to put the new data section before - the .plt section, or use libelf instead. - Erik Deumens, deumens@qtp.ufl.edu. */ - if (NEW_SECTION_H (nn).sh_offset - >= OLD_SECTION_H (old_bss_index-1).sh_offset) - NEW_SECTION_H (nn).sh_offset += new_data2_size; -#else + if (NEW_SECTION_H (nn).sh_offset + NEW_SECTION_H (nn).sh_size > new_data2_offset) NEW_SECTION_H (nn).sh_offset += new_data2_size; -#endif + /* Any section that was originally placed after the section header table should now be off by the size of one section header table entry. */ @@ -1224,7 +1206,6 @@ unexec (new_name, old_name, data_start, bss_start, entry_address) /* This loop seeks out relocation sections for the data section, so that it can undo relocations performed by the runtime linker. */ -#ifndef BROKEN_NOCOMBRELOC for (n = new_file_h->e_shnum - 1; n; n--) { ElfW(Shdr) section = NEW_SECTION_H (n); @@ -1279,81 +1260,6 @@ unexec (new_name, old_name, data_start, bss_start, entry_address) break; } } -#else /* BROKEN_NOCOMBRELOC */ - for (n = 1, n_unreloc_sections = 0; n < new_file_h->e_shnum; n++) - if (!strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".data") - || !strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".sdata") - || !strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".lit4") - || !strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".lit8") -#ifdef IRIX6_5 /* see above */ - || !strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".got") -#endif - || !strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".sdata1") - || !strcmp (old_section_names + NEW_SECTION_H (n).sh_name, ".data1")) - { - assert (n_unreloc_sections - < (sizeof (unreloc_sections) / sizeof (unreloc_sections[0]))); - unreloc_sections[n_unreloc_sections++] = n; -#ifdef DEBUG - fprintf (stderr, "section %d: %s\n", n, - old_section_names + NEW_SECTION_H (n).sh_name); -#endif - } - - for (n = new_file_h->e_shnum - 1; n; n--) - { - ElfW(Shdr) section = NEW_SECTION_H (n); - caddr_t reloc, end; - ElfW(Addr) addr, offset; - int target; - - switch (section.sh_type) - { - default: - break; - case SHT_REL: - case SHT_RELA: - /* This code handles two different size structs, but there should - be no harm in that provided that r_offset is always the first - member. */ - for (reloc = old_base + section.sh_offset, - end = reloc + section.sh_size; - reloc < end; - reloc += section.sh_entsize) - { - addr = ((ElfW(Rel) *) reloc)->r_offset; -#ifdef __alpha__ - /* The Alpha ELF binutils currently have a bug that - sometimes results in relocs that contain all - zeroes. Work around this for now... */ - if (addr == 0) - continue; -#endif - for (nn = 0; nn < n_unreloc_sections; nn++) - { - target = unreloc_sections[nn]; - if (NEW_SECTION_H (target).sh_addr <= addr - && addr < (NEW_SECTION_H (target).sh_addr + - NEW_SECTION_H (target).sh_size)) - { - offset = (NEW_SECTION_H (target).sh_addr - - NEW_SECTION_H (target).sh_offset); - memcpy (new_base + addr - offset, - old_base + addr - offset, - sizeof (ElfW(Addr))); -#ifdef DEBUG - fprintf (stderr, "unrelocate: [%08lx] <= %08lx\n", - (long) addr, - (long) *((long *) (new_base + addr - offset))); -#endif - break; - } - } - } - break; - } - } -#endif /* BROKEN_NOCOMBRELOC */ /* Write out new_file, and free the buffers. */ diff --git a/src/unexhp9k800.c b/src/unexhp9k800.c index 96eb985f85..cad2a5025a 100644 --- a/src/unexhp9k800.c +++ b/src/unexhp9k800.c @@ -59,9 +59,7 @@ #include -#ifdef HPUX_USE_SHLIBS #include -#endif /* brk value to restore, stored as a global. 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 3ed54a59db..0000000000 --- a/src/unexnext.c +++ /dev/null @@ -1,514 +0,0 @@ -/* Dump Emacs in macho format. - Copyright (C) 1990, 1993, 2001, 2002, 2003, 2004, - 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - Written by Bradley Taylor (btaylor@next.com). - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - - -#undef __STRICT_BSD__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -/* Instead of unistd.h, this used to include libc.h. - "Nelson H. F. Beebe" says that doesn't work - in system version 3.3. */ - - -int malloc_cookie; - -/* - * Kludge: we don't expect any program data beyond VM_HIGHDATA - * What is really needed is a way to find out from malloc() which - * pages it vm_allocated and write only those out into the data segment. - * - * This kludge may break when we stop using fixed virtual address - * shared libraries. Actually, emacs will probably continue working, but be - * much larger on disk than it needs to be (because non-malloced data will - * be in the file). - */ -static const unsigned VM_HIGHDATA = 0x2000000; - -typedef struct region_t { - vm_address_t address; - vm_size_t size; - vm_prot_t protection; - vm_prot_t max_protection; - vm_inherit_t inheritance; - boolean_t shared; - port_t object_name; - vm_offset_t offset; -} region_t; - - -static void -grow( - struct load_command ***the_commands, - unsigned *the_commands_len - ) -{ - if (*the_commands == NULL) { - *the_commands_len = 1; - *the_commands = malloc(sizeof(*the_commands)); - } else { - (*the_commands_len)++; - *the_commands = realloc(*the_commands, - (*the_commands_len * - sizeof(**the_commands))); - } -} - - -static void -save_command( - struct load_command *command, - struct load_command ***the_commands, - unsigned *the_commands_len - ) -{ - struct load_command **tmp; - - grow(the_commands, the_commands_len); - tmp = &(*the_commands)[*the_commands_len - 1]; - *tmp = malloc(command->cmdsize); - bcopy(command, *tmp, command->cmdsize); -} - -static void -fatal_unexec(char *format, ...) -{ - va_list ap; - - va_start(ap, format); - fprintf(stderr, "unexec: "); - vfprintf(stderr, format, ap); - fprintf(stderr, "\n"); - va_end(ap); -} - -static int -read_macho( - int fd, - struct mach_header *the_header, - struct load_command ***the_commands, - unsigned *the_commands_len - ) -{ - struct load_command command; - struct load_command *buf; - int i; - int size; - - if (read(fd, the_header, sizeof(*the_header)) != sizeof(*the_header)) { - fatal_unexec("cannot read macho header"); - return (0); - } - for (i = 0; i < the_header->ncmds; i++) { - if (read(fd, &command, sizeof(struct load_command)) != - sizeof(struct load_command)) { - fatal_unexec("cannot read macho load command header"); - return (0); - } - size = command.cmdsize - sizeof(struct load_command); - if (size < 0) { - fatal_unexec("bogus load command size"); - return (0); - } - buf = malloc(command.cmdsize); - buf->cmd = command.cmd; - buf->cmdsize = command.cmdsize; - if (read(fd, ((char *)buf + - sizeof(struct load_command)), - size) != size) { - fatal_unexec("cannot read load command data"); - return (0); - } - save_command(buf, the_commands, the_commands_len); - } - return (1); -} - -static int -filldatagap( - vm_address_t start_address, - vm_size_t *size, - vm_address_t end_address - ) -{ - vm_address_t address; - vm_size_t gapsize; - - address = (start_address + *size); - gapsize = end_address - address; - *size += gapsize; - if (vm_allocate(task_self(), &address, gapsize, - FALSE) != KERN_SUCCESS) { - fatal_unexec("cannot vm_allocate"); - return (0); - } - return (1); -} - -static int -get_data_region( - vm_address_t *address, - vm_size_t *size - ) -{ - region_t region; - kern_return_t ret; - struct section *sect; - - sect = (struct section *) getsectbyname(SEG_DATA, SECT_DATA); - region.address = 0; - *address = 0; - for (;;) { - ret = vm_region(task_self(), - ®ion.address, - ®ion.size, - ®ion.protection, - ®ion.max_protection, - ®ion.inheritance, - ®ion.shared, - ®ion.object_name, - ®ion.offset); - if (ret != KERN_SUCCESS || region.address >= VM_HIGHDATA) { - break; - } - if (*address != 0) { - if (region.address > *address + *size) { - if (!filldatagap(*address, size, - region.address)) { - return (0); - } - } - *size += region.size; - } else { - if (region.address == sect->addr) { - *address = region.address; - *size = region.size; - } - } - region.address += region.size; - } - return (1); -} - -static char * -my_malloc( - vm_size_t size - ) -{ - vm_address_t address; - - if (vm_allocate(task_self(), &address, size, TRUE) != KERN_SUCCESS) { - return (NULL); - } - return ((char *)address); -} - -static void -my_free( - char *buf, - vm_size_t size - ) -{ - vm_deallocate(task_self(), (vm_address_t)buf, size); -} - -static int -unexec_doit( - int infd, - int outfd - ) -{ - int i; - struct load_command **the_commands = NULL; - unsigned the_commands_len; - struct mach_header the_header; - int fgrowth = 0; - int fdatastart; - int fdatasize; - int size; - struct stat st; - char *buf; - vm_address_t data_address; - vm_size_t data_size; - vm_size_t vmaddr_growth = 0; - vm_size_t dataseg_vmaddr, dataseg_vmend; - - struct segment_command *segment; - -#ifdef NS_TARGET - unsigned long extreloff = 0; - unsigned long nextrel = 0; - struct dysymtab_command *dysymtab; - struct relocation_info reloc_info; -#endif - - if (!read_macho(infd, &the_header, &the_commands, &the_commands_len)) { - return (0); - } - - - malloc_cookie = malloc_freezedry (); - if (!get_data_region(&data_address, &data_size)) { - return (0); - } - - - /* - * DO NOT USE MALLOC IN THIS SECTION - */ - { - /* - * Fix offsets - */ - for (i = 0; i < the_commands_len; i++) { - switch (the_commands[i]->cmd) { - case LC_SEGMENT: - segment = ((struct segment_command *) - the_commands[i]); - if (strcmp(segment->segname, SEG_DATA) == 0) { - fdatastart = segment->fileoff; - fdatasize = segment->filesize; - fgrowth = (data_size - - segment->filesize); - segment->vmsize = data_size; - segment->filesize = data_size; - dataseg_vmaddr = segment->vmaddr; - dataseg_vmend = segment->vmaddr + segment->vmsize; - vmaddr_growth = segment->vmaddr + segment->vmsize; - } else { - ((struct segment_command *)the_commands[i])->fileoff += fgrowth; - } - - if( strcmp( segment->segname, SEG_LINKEDIT ) == 0 ) { - segment->vmaddr = vmaddr_growth; - } - - break; - case LC_SYMTAB: - ((struct symtab_command *) - the_commands[i])->symoff += fgrowth; - ((struct symtab_command *) - the_commands[i])->stroff += fgrowth; - break; - case LC_SYMSEG: - ((struct symseg_command *) - the_commands[i])->offset += fgrowth; - break; -#ifdef NS_TARGET - case LC_DYSYMTAB: - dysymtab = ((struct dysymtab_command *)the_commands[i]); - extreloff = dysymtab->extreloff; - nextrel = dysymtab->nextrel; - dysymtab->indirectsymoff += fgrowth; - dysymtab->extreloff += fgrowth; - break; -#endif - default: - break; - } - } - - /* - * Write header - */ - if (write(outfd, &the_header, - sizeof(the_header)) != sizeof(the_header)) { - fatal_unexec("cannot write output file"); - return (0); - } - - /* - * Write commands - */ - for (i = 0; i < the_commands_len; i++) { - if (write(outfd, the_commands[i], - the_commands[i]->cmdsize) != - the_commands[i]->cmdsize) { - fatal_unexec("cannot write output file"); - return (0); - } - } - - /* - * Write original text - */ - if (lseek(infd, the_header.sizeofcmds + sizeof(the_header), - L_SET) < 0) { - fatal_unexec("cannot seek input file"); - return (0); - } - size = fdatastart - (sizeof(the_header) + - the_header.sizeofcmds); - buf = my_malloc(size); - if (read(infd, buf, size) != size) { - my_free(buf, size); - fatal_unexec("cannot read input file"); - } - if (write(outfd, buf, size) != size) { - my_free(buf, size); - fatal_unexec("cannot write output file"); - return (0); - } - my_free(buf, size); - - - /* - * Write new data - */ - if (write(outfd, (char *)data_address, - data_size) != data_size) { - fatal_unexec("cannot write output file"); - return (0); - } - - } - - /* - * OKAY TO USE MALLOC NOW - */ - - /* - * Write rest of file - */ - fstat(infd, &st); - if (lseek(infd, fdatasize, L_INCR) < 0) { - fatal_unexec("cannot seek input file"); - return (0); - } - size = st.st_size - lseek(infd, 0, L_INCR); - - buf = malloc(size); - if (read(infd, buf, size) != size) { - free(buf); - fatal_unexec("cannot read input file"); - return (0); - } - if (write(outfd, buf, size) != size) { - free(buf); - fatal_unexec("cannot write output file"); - return (0); - } - free(buf); - -#ifdef NS_TARGET - /* - * Fix up relocation entries in the data segment. - */ - - if (lseek(infd, extreloff, L_SET) < 0) { - fatal_unexec("cannot seek input file"); - return (0); - } - - for (i = 0; i < nextrel; i++) - { - long zeroval = 0; - - if (read(infd, &reloc_info, sizeof (reloc_info)) != sizeof (reloc_info)) { - fatal_unexec("cannot read input file"); - return (0); - } - if (reloc_info.r_address >= dataseg_vmaddr && reloc_info.r_address < dataseg_vmend) - { - if (lseek (outfd, fdatastart + reloc_info.r_address - dataseg_vmaddr, L_SET) < 0 ) { - fatal_unexec("cannot seek input file"); - return (0); - } - switch (reloc_info.r_length) { - case 0: - if (write(outfd, &zeroval, 1) != 1) { - fatal_unexec("cannot write output file"); - return (0); - } - break; - case 1: - if (write(outfd, &zeroval, 2) != 2) { - fatal_unexec("cannot write output file"); - return (0); - } - break; - case 2: - if (write(outfd, &zeroval, 4) != 4) { - fatal_unexec("cannot write output file"); - return (0); - } - break; - } - } - } -#endif - - return (1); -} - -void -unexec( - char *outfile, - char *infile - ) -{ - int infd; - int outfd; - char tmpbuf[L_tmpnam]; - char *tmpfile; - - infd = open(infile, O_RDONLY, 0); - if (infd < 0) { - fatal_unexec("cannot open input file `%s'", infile); - exit(1); - } - - tmpnam(tmpbuf); - tmpfile = rindex(tmpbuf, '/'); - if (tmpfile == NULL) { - tmpfile = tmpbuf; - } else { - tmpfile++; - } - outfd = open(tmpfile, O_WRONLY|O_TRUNC|O_CREAT, 0755); - if (outfd < 0) { - close(infd); - fatal_unexec("cannot open tmp file `%s'", tmpfile); - exit(1); - } - if (!unexec_doit(infd, outfd)) { - close(infd); - close(outfd); - unlink(tmpfile); - exit(1); - } - close(infd); - close(outfd); - if (rename(tmpfile, outfile) < 0) { - unlink(tmpfile); - fatal_unexec("cannot rename `%s' to `%s'", tmpfile, outfile); - exit(1); - } -} - -/* arch-tag: 9796bdc3-c050-417a-b2f5-4cfd31032634 - (do not change this comment) */ -- 2.20.1