* 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.
This commit is contained in:
Dan Nicolaescu 2008-06-26 04:24:54 +00:00
parent 3617b1eb8d
commit f2a77c3a41
87 changed files with 751 additions and 5050 deletions

View file

@ -1,3 +1,8 @@
2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
* configure.in:
* configure: Remove references to obsolete systems.
2008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
* Makefile.in (Makefile): Use it for its timestamp value as well, and

View file

@ -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

View file

@ -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

212
configure vendored
View file

@ -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

View file

@ -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

View file

@ -1,3 +1,7 @@
2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
* os.texi: Remove references to obsolete systems.
2008-06-20 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in (distclean): Remove makefile.

View file

@ -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.

View file

@ -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 <sys/byteorder.h> 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 <levitte@e.kth.se> distributes a set of patches to
@ -964,6 +701,9 @@ Support for the following obsolete platforms was removed in Emacs 23.1
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:

View file

@ -1,3 +1,7 @@
2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
* fakemail.c: Remove references to obsolete variables.
2008-06-02 Jim Meyering <meyering@redhat.com>
* ebrowse.c (xfree): Remove definition; s/xfree/free/.

View file

@ -24,7 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#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 ()

View file

@ -1,3 +1,7 @@
2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
* lwlib.c: Remove references to obsolete variables.
2008-06-02 Jim Meyering <meyering@redhat.com>
remove useless if-before-free tests

View file

@ -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 <config.h>
#endif

View file

@ -1,3 +1,7 @@
2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
* config.nt: Remove reference to UNEXEC_SRC.
2008-06-23 Juanma Barranquero <lekktu@gmail.com>
Eli Zaretskii <eliz@gnu.org>

View file

@ -202,8 +202,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#undef CRAY_STACKSEG_END
#undef UNEXEC_SRC
#undef HAVE_LIBXBSD
#undef HAVE_XRMSETDATABASE
#undef HAVE_XSCREENRESOURCESTRING

View file

@ -1,3 +1,73 @@
2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
* 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 <cyd@stupidchicken.com>
* xfns.c (x_default_font_parameter): If Xft is available, first

View file

@ -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 \

View file

@ -45,16 +45,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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 <math.h>
#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);

View file

@ -22,7 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <sys/types.h>
#include <sys/file.h> /* Must be after sys/types.h for USG and BSD4_1*/
#include <sys/file.h> /* Must be after sys/types.h for USG*/
#include <ctype.h>
#ifdef HAVE_FCNTL_H

View file

@ -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 <sys/param.h> /* 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) */

View file

@ -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

View file

@ -122,11 +122,6 @@ extern int errno;
#ifdef HPUX
#include <netio.h>
#ifndef HPUX8
#ifndef HPUX9
#include <errnet.h>
#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)
{

View file

@ -62,16 +62,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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 <math.h>
/* 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);

View file

@ -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 */

View file

@ -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 <http://www.gnu.org/licenses/>. */
#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) */

View file

@ -62,13 +62,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* 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

View file

@ -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 <http://www.gnu.org/licenses/>. */
/* 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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
#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) */

View file

@ -107,15 +107,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* 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 <http://www.gnu.org/licenses/>. */
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. */

View file

@ -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 <http://www.gnu.org/licenses/>. */
/* 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) */

View file

@ -187,7 +187,7 @@ NOTE-END */
#define HAVE_SYSVIPC
#if defined(emacs) && !defined(INHIBIT_BSD_TIME)
#if defined(emacs)
#include <bsd/sys/time.h>
#endif

View file

@ -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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
/* 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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
#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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
/* 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) */

View file

@ -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) */

View file

@ -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 */

View file

@ -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

View file

@ -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 <math.h>
#if STDC_HEADERS

View file

@ -80,10 +80,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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 <bsdtty.h>
#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;

View file

@ -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) */

View file

@ -1,210 +0,0 @@
/* 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.
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 <http://www.gnu.org/licenses/>. */
/*
* 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
/* 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. */
#define PTY_ITERATION for (c = 0; !c ; c++)
#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc");
#define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd));
/*
* Define HAVE_TERMIO if the system provides sysV-style ioctls
* for terminal control.
*/
#define HAVE_TERMIOS
/*
* 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 SYSV_SYSTEM_DIR to use the V.3 getdents/readir
* library functions. Almost, but not quite the same as
* the 4.2 functions
*/
#define SYSV_SYSTEM_DIR
/* 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 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.
Foil this. Emacs carefully avoids static vars inside functions. */
#undef static
/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
/* #define ADDR_CORRECT(x) (x) */
#ifndef __GNUC__
#define LINKER cc
#endif
/* Prevent -lg from being used for debugging. Not needed. */
#define LIBS_DEBUG
/* No need to specify -lc when linking. */
#define LIB_STANDARD
/* Use terminfo instead of termcap. */
#define TERMINFO
/* The following definition seems to be needed in AIX version 3.1.6.8.
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
/* For unexaix.c. */
#define ALIGN_DATA_RELOC
/* arch-tag: bfff798c-542d-4290-91f2-267394c85b7b
(do not change this comment) */

View file

@ -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 <pedz@ddivt1.austin.ibm.com> says these are correct. */
#define SIGNALS_VIA_CHARACTERS
#define MAIL_USE_LOCKF
#define CLASH_DETECTION
/* Perry Smith <pedz@ddivt1.austin.ibm.com> says these are correct. */
#define POSIX_SIGNALS
#undef sigmask
#undef sigsetmask
#undef _setjmp
#undef _longjmp
/* Bill Woodward <wpwood@austin.ibm.com> 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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
#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 <Adrian.Colley@three.serpentine.com> 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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
#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 <dje@watson.ibm.com> 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) */

View file

@ -1,6 +1,194 @@
#include "aix4-1.h"
/*
Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
#undef ALIGN_DATA_RELOC
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 <http://www.gnu.org/licenses/>. */
/*
* 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
/* This symbol should be defined on AIX Version 3 ??????? */
#ifndef _AIX
#define _AIX
#endif
/* SYSTEM_TYPE should indicate the kind of system you are using.
It sets the Lisp variable system-type. */
#define SYSTEM_TYPE "aix"
/* 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. */
#define PTY_ITERATION for (c = 0; !c ; c++)
#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc");
#define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd));
/*
* Define HAVE_TERMIO if the system provides sysV-style ioctls
* for terminal control.
*/
#define HAVE_TERMIOS
/*
* 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 SYSV_SYSTEM_DIR to use the V.3 getdents/readir
* library functions. Almost, but not quite the same as
* the 4.2 functions
*/
#define SYSV_SYSTEM_DIR
/* 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
/* 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 itemss needed to make Emacs run on this system. */
/* 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. */
#undef static
/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
/* #define ADDR_CORRECT(x) (x) */
#ifndef __GNUC__
#define LINKER cc
#endif
/* Prevent -lg from being used for debugging. Not needed. */
#define LIBS_DEBUG
/* No need to specify -lc when linking. */
#define LIB_STANDARD
/* Use terminfo instead of termcap. */
#define TERMINFO
/* The following definition seems to be needed in AIX version 3.1.6.8.
It may not have been needed in certain earlier versions. */
#define HAVE_TCATTR
/* Include unistd.h, even though we don't define POSIX. */
#define NEED_UNISTD_H
/* AIX doesn't define this. */
#define unix 1
#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 <pedz@ddivt1.austin.ibm.com> says these are correct. */
#define SIGNALS_VIA_CHARACTERS
#define MAIL_USE_LOCKF
#define CLASH_DETECTION
/* Perry Smith <pedz@ddivt1.austin.ibm.com> says these are correct. */
#define POSIX_SIGNALS
#undef sigmask
/* Dave Love <d.love@dl.ac.uk> 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
/* On AIX Emacs uses the gmalloc.c malloc implementation. But given
the way this system works, libc functions that return malloced
@ -20,19 +208,5 @@
*/
#define BROKEN_GET_CURRENT_DIR_NAME 1
/* aix3-1.h defined _NO_PROTO, probably to work around an AIX compiler
that did not handle prototypes. On (at least) AIX 5.2, this causes
the proper prototype to be thrown away for lseek64, so compiled
Lisp files do not load correctly and compilation fails.
The AIX compiler should have learned about function prototypes long
ago, so we can probably go ahead and undefine _NO_PROTO. However,
if someone can demonstrate that this problem still exists for AIX
4, this should be moved into a new file (aix5.h).
*/
#undef _NO_PROTO
/* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562
(do not change this comment) */

View file

@ -1,17 +0,0 @@
#define AIX4
#include "aix3-2-5.h"
/* AIX 4 does not have HFT any more. */
#undef AIXHFT
/* Dave Love <d.love@dl.ac.uk> 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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
#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 <sys/wait.h>
#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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
/*
* 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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
/*
* 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) */

View file

@ -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) */

View file

@ -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) */

View file

@ -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) */

View file

@ -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) */

View file

@ -23,12 +23,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
* 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 */

View file

@ -40,19 +40,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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 <http://www.gnu.org/licenses/>. */
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. */

View file

@ -18,8 +18,8 @@ You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* 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

View file

@ -1,218 +0,0 @@
/* 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.
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 <http://www.gnu.org/licenses/>. */
/*
* 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 HPUX
/* SYSTEM_TYPE should indicate the kind of system you are using.
It sets the Lisp variable system-type. */
#define SYSTEM_TYPE "hpux"
/* `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).
On hpux this depends on the precise kind of machine in use,
so the m- file defines this symbol if appropriate. */
/* 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/ptym/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.
* s800 and later versions of s300 (s200) kernels have equivalents
* of the BSTRING functions of BSD. If your s200 kernel doesn't have
* em comment out this section.
*/
#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 */
/* Say we have the SYSV style of interprocess communication. */
#define HAVE_SYSVIPC
/* 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 /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. */
/* 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.
*/
/* HPUX has sigsetmask */
/* #define sigsetmask(mask) / * Null expansion * / */
/* setjmp and longjmp can safely replace _setjmp and _longjmp,
but they will run slower. */
/* HP-UX has _setjmp and _longjmp */
/*
#define _setjmp setjmp
#define _longjmp longjmp
*/
/* 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. */
#define BROKEN_SIGIO
/* 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.
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00368.html
As of at least HPUX 11.11 (2000), it seems this workaround is no
longer needed. Try uncommenting the following if you have problems
on older versions. */
/* This is unnecessary in HPUX versions 10.20, 11.0, 11.11, 11.23. */
/* #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. */
/* 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 \
{ 0, 50, 75, 110, 135, 150, 200, 300, 600, 900, 1200, \
1800, 2400, 3600, 4800, 7200, 9600, 19200, 38400 }
/* This is how to get the device name of the tty end of a pty. */
#define PTY_TTY_NAME_SPRINTF \
sprintf (pty_name, "/dev/pty/tty%c%x", c, i);
/* This is how to get the device name of the control end of a pty. */
#define PTY_NAME_SPRINTF \
sprintf (pty_name, "/dev/ptym/pty%c%x", c, i);
/* 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
#endif
/* arch-tag: 75c1239f-fedb-4f64-8f86-7893e75699e8
(do not change this comment) */

View file

@ -1,13 +1,270 @@
#include "hpux10.h"
/* System description file for hpux version 10.20.
Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
2008 Free Software Foundation, Inc.
#define HPUX10_20
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 <http://www.gnu.org/licenses/>. */
#define RUN_TIME_REMAP
/*
* 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 HPUX
/* SYSTEM_TYPE should indicate the kind of system you are using.
It sets the Lisp variable system-type. */
#define SYSTEM_TYPE "hpux"
/* `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).
On hpux this depends on the precise kind of machine in use,
so the m- file defines this symbol if appropriate. */
/* 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/ptym/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 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
* em comment out this section.
*/
#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 */
/* Say we have the SYSV style of interprocess communication. */
#define HAVE_SYSVIPC
/* 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 symbol in the kernel where the load average is found
depends on the cpu type, so we let the m- files define LDAV_SYMBOL. */
/* 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.
*/
/* HPUX has sigsetmask */
/* #define sigsetmask(mask) / * Null expansion * / */
/* setjmp and longjmp can safely replace _setjmp and _longjmp,
but they will run slower. */
/* HP-UX has _setjmp and _longjmp */
/*
#define _setjmp setjmp
#define _longjmp longjmp
*/
/* Use the system provided termcap(3) library */
#define TERMINFO
/* In hpux, the symbol SIGIO is defined, but the feature
doesn't work in the way Emacs needs it to. */
#define BROKEN_SIGIO
/* 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.
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00368.html
As of at least HPUX 11.11 (2000), it seems this workaround is no
longer needed. Try uncommenting the following if you have problems
on older versions. */
/* This is unnecessary in HPUX versions 10.20, 11.0, 11.11, 11.23. */
/* #define static */
/* Some additional system facilities exist. */
#define HAVE_PERROR /* Delete this line for version 6. */
/* The following maps shared exec file to demand loaded exec.
Don't do this as demand loaded exec is broken in hpux. */
/* Baud-rate values in tty status have nonstandard meanings. */
#define BAUD_CONVERT \
{ 0, 50, 75, 110, 135, 150, 200, 300, 600, 900, 1200, \
1800, 2400, 3600, 4800, 7200, 9600, 19200, 38400 }
/* This is how to get the device name of the tty end of a pty. */
#define PTY_TTY_NAME_SPRINTF \
sprintf (pty_name, "/dev/pty/tty%c%x", c, i);
/* This is how to get the device name of the control end of a pty. */
#define PTY_NAME_SPRINTF \
sprintf (pty_name, "/dev/ptym/pty%c%x", c, i);
/* This triggers a conditional in xfaces.c. */
#define XOS_NEEDS_TIME_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
/* Assar Westerlund <assar@sics.se> 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 <ericb@lsid.hp.com> 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 <rainer@displaytech.com> 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
/* Polling problems (interrupted system call) reported for HP-UX 10.10
don't exist from 10.20 on (see process.c) */
#undef POLL_INTERRUPTED_SYS_CALL
/* arch-tag: 8d8dcbf1-ca9b-48a1-94be-b750de18a5c6
(do not change this comment) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
#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 <rainer@displaytech.com> 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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
/*
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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
#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 <assar@sics.se> 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 <ericb@lsid.hp.com> 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) */

View file

@ -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) */

View file

@ -22,16 +22,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
* 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

View file

@ -26,16 +26,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
* 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

View file

@ -19,8 +19,8 @@ You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* 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

View file

@ -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 <http://www.gnu.org/licenses/>. */
#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) */

View file

@ -25,12 +25,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
* 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 */

View file

@ -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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
/*
* 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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
/*
* 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) */

View file

@ -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 <http://www.gnu.org/licenses/>. */
/*
* 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) */

View file

@ -1,202 +0,0 @@
/* 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.
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 <http://www.gnu.org/licenses/>. */
/*
* 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_3
/* 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.
*/
/* Some versions of V.3 have this, but not all.
#define HAVE_PTYS
#define SYSV_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 SYSV_SYSTEM_DIR to use the V.3 getdents/readir
* library functions. Almost, but not quite the same as
* the 4.2 functions
*/
#define SYSV_SYSTEM_DIR
/* 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"
/* Define this if system V IPC is available. */
#define HAVE_SYSVIPC
/* 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 */
#ifndef HAVE_INDEX
#define index strchr
#endif /* ! defined (HAVE_INDEX) */
#ifndef HAVE_RINDEX
#define rindex strrchr
#endif /* ! defined (HAVE_RINDEX) */
/* 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)
/* Use terminfo instead of termcap. */
#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 */
#ifdef HAVE_X_WINDOWS
#define BSTRING
#endif /* HAVE_X_WINDOWS */
/* Enable support for shared libraries in unexec. */
#define USG_SHARED_LIBRARIES
/* On USG systems signal handlers return void */
#define SIGTYPE void
/* arch-tag: 2bca65fd-f015-44b9-a2aa-9f8170ce89ca
(do not change this comment) */

View file

@ -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) */

View file

@ -24,34 +24,155 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Use the SysVr3 file for at least base configuration. */
#include "usg5-3.h"
#define USG /* System III, System V, etc */
#define USG5
#define USG5_4
/* We do have multiple jobs. Handle ^Z. */
/* SYSTEM_TYPE should indicate the kind of system you are using.
It sets the Lisp variable system-type. */
#undef NOMULTIPLEJOBS
#define SYSTEM_TYPE "usg-unix-v"
/* Motif needs -lgen. */
#define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen
#define ORDINARY_LINK
/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
#if 0
#ifdef ORDINARY_LINK
#define LIB_STANDARD -lc /usr/ucblib/libucb.a
#else
#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/ucblib/libucb.a /usr/ccs/lib/crtn.o
#endif
#else
/* #define INTERRUPT_INPUT */
/*
* 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.
*/
/* Some versions of V.3 have this, but not all.
#define HAVE_PTYS
#define SYSV_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 SYSV_SYSTEM_DIR to use the V.3 getdents/readir
* library functions. Almost, but not quite the same as
* the 4.2 functions
*/
#define SYSV_SYSTEM_DIR
/* 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"
/* Define this if system V IPC is available. */
#define HAVE_SYSVIPC
/* 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 */
#ifndef HAVE_INDEX
#define index strchr
#endif /* ! defined (HAVE_INDEX) */
#ifndef HAVE_RINDEX
#define rindex strrchr
#endif /* ! defined (HAVE_RINDEX) */
/* 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)
/* Use terminfo instead of termcap. */
#define TERMINFO
/* The docs for system V/386 suggest v.3 has sigpause,
so let's give it a try. */
#define HAVE_SYSV_SIGPAUSE
/* If we're using the System V X port, BSD bstring functions will be handy */
#ifdef HAVE_X_WINDOWS
#define BSTRING
#endif /* HAVE_X_WINDOWS */
/* Enable support for shared libraries in unexec. */
#define USG_SHARED_LIBRARIES
/* On USG systems signal handlers return void */
#define SIGTYPE void
#ifdef ORDINARY_LINK
#define LIB_STANDARD
#else
#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
#endif
#endif
/* there are no -lg libraries on this system, and no libPW */
@ -109,8 +230,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define HAVE_PTYS
#define HAVE_TERMIOS
#undef BROKEN_TIOCGWINSZ
#undef BROKEN_TIOCGETC
/* It is possible to receive SIGCHLD when there are no children
waiting, because a previous waitsys(2) cleaned up the carcass of child
@ -132,7 +251,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* This change means that we don't loop through allocate_pty too many
times in the (rare) event of a failure. */
#undef FIRST_PTY_LETTER
#define FIRST_PTY_LETTER 'z'
/* This sets the name of the master side of the PTY. */
@ -170,16 +288,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
fatal ("ioctl I_PUSH ttcompat", errno);
/* Undo the SVr3 X11 library definition */
#undef LIB_X11_LIB
/* The definition of this in s-usg5-3.h is not needed in 5.4. */
/* liblnsl_s should never be used. The _s suffix implies a shared
library, as opposed to a DLL. Share libraries were used in SVR3, and are
available only in order to allow SVR3 binaries to run. They should not be
linked in to new binaries. -- caraway!pinkas@caraway.intel.com. */
#undef LIBX11_SYSTEM
/* Tell x11term.c and keyboard.c we have the system V streams feature. */
#define SYSV_STREAMS
@ -189,7 +297,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Markus Weiand <weiand@khof.com> says this is needed for Motif on
SINIX. */
#undef LIBS_SYSTEM
#define LIBS_SYSTEM -lgen
/* arch-tag: 1a0ed909-5faa-434b-b7c3-9d86c63d53a6

View file

@ -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) */

View file

@ -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) */

View file

@ -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) */

View file

@ -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 <whoami.h>
#endif
extern Lisp_Object Vsystem_name;
#ifndef BSD4_1
#ifndef VMS
#ifdef HAVE_SOCKETS
#include <sys/socket.h>
#include <netdb.h>
#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;
@ -5188,100 +4991,6 @@ srandom (seed)
srand (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

View file

@ -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

View file

@ -93,19 +93,6 @@ static struct sensemode {
#include <termios.h>
#endif
#ifdef AIXHFT
/* Get files for keyboard remapping */
#define HFNKEYS 2
#include <sys/hft.h>
#include <sys/devinfo.h>
#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 <sys/bsdtty.h>
#endif

View file

@ -91,11 +91,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#else
#ifdef BSD4_1
#include <wait.h>
#else
#include <sys/wait.h>
#endif /* not BSD 4.1 */
#define WAITTYPE union wait
#define WRETCODE(w) w.w_retcode

View file

@ -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); */

View file

@ -197,7 +197,7 @@ struct aouthdr
#include <sys/stat.h>
#include <errno.h>
#include <sys/file.h> /* Must be after sys/types.h for USG and BSD4_1*/
#include <sys/file.h> /* Must be after sys/types.h for USG*/
#ifdef USG5
#include <fcntl.h>

View file

@ -433,9 +433,6 @@ extern void fatal (const char *msgid, ...);
#if __sgi
#include <syms.h> /* for HDRR declaration */
#endif /* __sgi */
#ifdef BROKEN_NOCOMBRELOC
#include <assert.h>
#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. */

View file

@ -59,9 +59,7 @@
#include <a.out.h>
#ifdef HPUX_USE_SHLIBS
#include <dl.h>
#endif
/* brk value to restore, stored as a global.
This is really used only if we used shared libraries. */

View file

@ -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 <http://www.gnu.org/licenses/>. */
#undef __STRICT_BSD__
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <mach/mach.h>
#include <mach-o/loader.h>
#include <mach-o/reloc.h>
#include <sys/file.h>
#include <sys/stat.h>
#include <unistd.h>
/* Instead of unistd.h, this used to include libc.h.
"Nelson H. F. Beebe" <beebe@math.utah.edu> 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(),
&region.address,
&region.size,
&region.protection,
&region.max_protection,
&region.inheritance,
&region.shared,
&region.object_name,
&region.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) */