Remove support for Solaris on PPC and for old versions.

* s/sol2-6.h: Add the contents of s/sol-2.3.h, s/sol-2.4.h, s/sol-2.5.h.
(LD_SWITCH_SYSTEM, USE_MMAP_FOR_BUFFERS): Remove #defines/#undef
that cancel each other.
* s/sol2-3.h:
* s/sol2-4.h:
* s/sol2-5.h: Remove.
* m/ibmrs6000.h: Remove code for USG5_4, this file is only used on AIX.
(NO_REMAP): Remove, unused.
(UNEXEC): Move definition ...
* s/aix4-2.h (UNEXEC): ... here.

* configure.in:	Remove support for Solaris on PPC and for old versions.
This commit is contained in:
Dan Nicolaescu 2010-03-19 22:52:55 -07:00
parent 7f110ddcb0
commit 07e339e488
9 changed files with 143 additions and 199 deletions

View file

@ -1,5 +1,6 @@
2010-03-20 Dan Nicolaescu <dann@ics.uci.edu>
* configure.in: Remove support for Solaris on PPC and for old versions.
* configure.in: Remove non-working lynxos port.
2010-03-19 Dan Nicolaescu <dann@ics.uci.edu>

View file

@ -541,30 +541,14 @@ dnl see the `changequote' comment above.
*-sun-solaris* \
| i[3456]86-*-solaris2* | i[3456]86-*-sunos5* \
| x86_64-*-solaris2* | x86_64-*-sunos5* \
| powerpc*-*-solaris2* | rs6000-*-solaris2*)
| x86_64-*-solaris2* | x86_64-*-sunos5*)
case "${canonical}" in
i[3456]86-*-* ) machine=intel386 ;;
amd64-*-*|x86_64-*-*) machine=amdx86-64 ;;
powerpc* | rs6000* ) machine=ibmrs6000 ;;
sparc* ) machine=sparc ;;
* ) unported=yes ;;
esac
case "${canonical}" in
*-sunos5.3* | *-solaris2.3* )
opsys=sol2-3
NON_GNU_CPP=/usr/ccs/lib/cpp
;;
*-sunos5.4* | *-solaris2.4* )
opsys=sol2-4
NON_GNU_CPP=/usr/ccs/lib/cpp
RANLIB="ar -ts"
;;
*-sunos5.5* | *-solaris2.5* )
opsys=sol2-5
NON_GNU_CPP=/usr/ccs/lib/cpp
RANLIB="ar -ts"
;;
*-sunos5.6* | *-solaris2.6* )
opsys=sol2-6
NON_GNU_CPP=/usr/ccs/lib/cpp

View file

@ -1,5 +1,17 @@
2010-03-20 Dan Nicolaescu <dann@ics.uci.edu>
Remove support for Solaris on PPC and for old versions.
* s/sol2-6.h: Add the contents of s/sol-2.3.h, s/sol-2.4.h, s/sol-2.5.h.
(LD_SWITCH_SYSTEM, USE_MMAP_FOR_BUFFERS): Remove #defines/#undef
that cancel each other.
* s/sol2-3.h:
* s/sol2-4.h:
* s/sol2-5.h: Remove.
* m/ibmrs6000.h: Remove code for USG5_4, this file is only used on AIX.
(NO_REMAP): Remove, unused.
(UNEXEC): Move definition ...
* s/aix4-2.h (UNEXEC): ... here.
* s/openbsd.h: Remove support for non-ELF and for systems that do
not support shared libraries.
* s/netbsd.h:

View file

@ -32,19 +32,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define IBMR2AIX
#ifndef UNEXEC
#define UNEXEC unexaix.o
#endif
/* Define addresses, macros, change some setup for dump */
#define NO_REMAP
/* The data segment in this machine always starts at address 0x20000000.
An address of data cannot be stored correctly in a Lisp object;
we always lose the high bits. We must tell XPNTR to add them back. */
#ifndef USG5_4
#define TEXT_START 0x10000000
#define DATA_START 0x20000000
#define WORDS_BIG_ENDIAN
@ -75,12 +66,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define LIBS_MACHINE -lrts -lIM -liconv
#endif
#else /* USG5_4 */
#undef WORDS_BIG_ENDIAN
#define DATA_SEG_BITS 0
#define LIBS_MACHINE
#endif /* USG5_4 */
#undef ADDR_CORRECT
#define ADDR_CORRECT(x) ((int)(x))

View file

@ -168,5 +168,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
*/
#define BROKEN_GET_CURRENT_DIR_NAME 1
#define UNEXEC unexaix.o
/* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562
(do not change this comment) */

View file

@ -1,98 +0,0 @@
/* Definitions file for GNU Emacs running on Solaris 2.3.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
2008, 2009, 2010 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 "usg5-4.h"
#define SOLARIS2
/* This triggers a conditional in xfaces.c. */
#define XOS_NEEDS_TIME_H
#define POSIX
#define LIBS_SYSTEM -lsocket -lnsl -lkstat
/* Prefer kstat over kvm in getloadavg.c, kstat doesn't require root.
ghazi@caip.rutgers.edu, 7/21/97. Don't redefine if already defined
(e.g., by config.h). */
#ifndef HAVE_LIBKSTAT
#define HAVE_LIBKSTAT
#endif
/* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style
XIM support. */
#define INHIBIT_X11R6_XIM
/* Must use the system's termcap, if we use any termcap.
It does special things. */
#ifndef TERMINFO
#define LIBS_TERMCAP -ltermcap
#endif
#define USE_MMAP_FOR_BUFFERS 1
#ifndef __GNUC__
#define LD_SWITCH_SYSTEM -L /usr/ccs/lib LD_SWITCH_X_SITE_AUX
/* eggert thinks all versions of SunPro C allowed this. */
#define C_DEBUG_SWITCH -g -O
#else /* GCC */
/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX
has anything in it. It can be empty.
This works ok in src. Luckily lib-src does not use LD_SWITCH_SYSTEM. */
#define LD_SWITCH_SYSTEM -L /usr/ccs/lib \
`./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX`
#endif /* GCC */
/* Info from fnf@cygnus.com suggests this is appropriate. */
#define POSIX_SIGNALS
/* We don't need the definition from usg5-4.h with POSIX_SIGNALS. */
#undef sigsetmask
/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't
work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x
(x<2) but I'm not sure. fnf@cygnus.com */
/* This sets the name of the slave side of the PTY. On SysVr4,
grantpt(3) forks a subprocess, so keep sigchld_handler() from
intercepting that death. If any child but grantpt's should die
within, it should be caught after sigrelse(2). */
#undef PTY_TTY_NAME_SPRINTF
#define PTY_TTY_NAME_SPRINTF \
{ \
char *ptsname (), *ptyname; \
\
sigblock (sigmask (SIGCLD)); \
if (grantpt (fd) == -1) \
{ emacs_close (fd); return -1; } \
sigunblock (sigmask (SIGCLD)); \
if (unlockpt (fd) == -1) \
{ emacs_close (fd); return -1; } \
if (!(ptyname = ptsname (fd))) \
{ emacs_close (fd); return -1; } \
strncpy (pty_name, ptyname, sizeof (pty_name)); \
pty_name[sizeof (pty_name) - 1] = 0; \
}
/* arch-tag: a8fe2e15-e517-49cb-a863-f346b80885fe
(do not change this comment) */

View file

@ -1,32 +0,0 @@
/* Handle Solaris 2.4. */
#include "sol2-3.h"
#undef LD_SWITCH_SYSTEM
/* `#ifdef USE_MOTIF' won't work here, since USE_MOTIF isn't defined yet.
Instead, dynamically check whether USE_MOTIF expands to something. */
#define NOT_USING_MOTIF { set x USE_MOTIF; test "$$2" = "USE_MOTIF"; }
#ifndef __GNUC__
#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib LD_SWITCH_X_SITE_AUX \
`NOT_USING_MOTIF || echo ' -R/usr/dt/lib'`
#else /* GCC */
/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX
has anything in it. It can be empty.
This works ok in temacs. */
#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib \
`./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX` \
`NOT_USING_MOTIF || echo ' -R/usr/dt/lib -L/usr/dt/lib'`
/* Get rid of -traditional and let const really do its thing. */
#undef C_SWITCH_SYSTEM
#undef const
#endif /* GCC */
/* Gregory Neil Shapiro <gshapiro@hhmi.org> reports the Motif header files
are in this directory on Solaris 2.4. */
#define C_SWITCH_X_SYSTEM -I/usr/dt/include
/* arch-tag: 6f0de37b-cfda-427a-a5ae-b83ed54aaae7
(do not change this comment) */

View file

@ -1,32 +0,0 @@
/* Handle Solaris 2.5. */
#include "sol2-4.h"
/* -lgen is needed for the regex and regcmp functions
which are used by Motif. In the future we can try changing
regex.c to provide them in Emacs, but this is safer for now. */
#define LIB_MOTIF -lXm -lgen
/* This is the only known way to avoid some crashes
that seem to relate to screwed up malloc data
after deleting a frame. */
/* rms: I think the problems using ralloc had to do with system
libraries that called the system malloc even if we linked in the
GNU malloc. I could not see any way to fix the problem except to
have just one malloc and that had to be the system one. */
/* This is not always necessary. Turned off at present for testers to
identify any problems with gmalloc more accurately. */
/* #define SYSTEM_MALLOC */
/* There have problems reported with mmap at least on Solaris 2.6
and 2.7. For simplicity, let's not use mmap for anything >= 2.5.
We can optimize this later. */
#undef USE_MMAP_FOR_BUFFERS
/* Probably OK also on earlier versions. */
#define GC_SETJMP_WORKS 1
#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
/* arch-tag: 96d65526-21c9-4547-a797-2bd575c05be7
(do not change this comment) */

View file

@ -1,11 +1,133 @@
/* Handle Solaris 2.6. */
/* Definitions file for GNU Emacs running on Solaris 2.6.
#include "sol2-5.h"
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
2008, 2009, 2010 Free Software Foundation, Inc.
#if 0 /* dldump does not handle all the extensions used by GNU ld. */
#undef UNEXEC
#define UNEXEC unexsol.o
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 "usg5-4.h"
#define SOLARIS2
/* This triggers a conditional in xfaces.c. */
#define XOS_NEEDS_TIME_H
#define POSIX
#define LIBS_SYSTEM -lsocket -lnsl -lkstat
/* Prefer kstat over kvm in getloadavg.c, kstat doesn't require root.
ghazi@caip.rutgers.edu, 7/21/97. Don't redefine if already defined
(e.g., by config.h). */
#ifndef HAVE_LIBKSTAT
#define HAVE_LIBKSTAT
#endif
/* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style
XIM support. */
#define INHIBIT_X11R6_XIM
/* Must use the system's termcap, if we use any termcap.
It does special things. */
#ifndef TERMINFO
#define LIBS_TERMCAP -ltermcap
#endif
#ifndef __GNUC__
/* eggert thinks all versions of SunPro C allowed this. */
#define C_DEBUG_SWITCH -g -O
#endif /* GCC */
/* Info from fnf@cygnus.com suggests this is appropriate. */
#define POSIX_SIGNALS
/* We don't need the definition from usg5-4.h with POSIX_SIGNALS. */
#undef sigsetmask
/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't
work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x
(x<2) but I'm not sure. fnf@cygnus.com */
/* This sets the name of the slave side of the PTY. On SysVr4,
grantpt(3) forks a subprocess, so keep sigchld_handler() from
intercepting that death. If any child but grantpt's should die
within, it should be caught after sigrelse(2). */
#undef PTY_TTY_NAME_SPRINTF
#define PTY_TTY_NAME_SPRINTF \
{ \
char *ptsname (), *ptyname; \
\
sigblock (sigmask (SIGCLD)); \
if (grantpt (fd) == -1) \
{ emacs_close (fd); return -1; } \
sigunblock (sigmask (SIGCLD)); \
if (unlockpt (fd) == -1) \
{ emacs_close (fd); return -1; } \
if (!(ptyname = ptsname (fd))) \
{ emacs_close (fd); return -1; } \
strncpy (pty_name, ptyname, sizeof (pty_name)); \
pty_name[sizeof (pty_name) - 1] = 0; \
}
/* `#ifdef USE_MOTIF' won't work here, since USE_MOTIF isn't defined yet.
Instead, dynamically check whether USE_MOTIF expands to something. */
#define NOT_USING_MOTIF { set x USE_MOTIF; test "$$2" = "USE_MOTIF"; }
#ifndef __GNUC__
#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib LD_SWITCH_X_SITE_AUX \
`NOT_USING_MOTIF || echo ' -R/usr/dt/lib'`
#else /* GCC */
/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX
has anything in it. It can be empty.
This works ok in temacs. */
#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib \
`./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX` \
`NOT_USING_MOTIF || echo ' -R/usr/dt/lib -L/usr/dt/lib'`
/* Get rid of -traditional and let const really do its thing. */
#undef C_SWITCH_SYSTEM
#undef const
#endif /* GCC */
/* Gregory Neil Shapiro <gshapiro@hhmi.org> reports the Motif header files
are in this directory on Solaris 2.4. */
#define C_SWITCH_X_SYSTEM -I/usr/dt/include
/* -lgen is needed for the regex and regcmp functions
which are used by Motif. In the future we can try changing
regex.c to provide them in Emacs, but this is safer for now. */
#define LIB_MOTIF -lXm -lgen
/* This is the only known way to avoid some crashes
that seem to relate to screwed up malloc data
after deleting a frame. */
/* rms: I think the problems using ralloc had to do with system
libraries that called the system malloc even if we linked in the
GNU malloc. I could not see any way to fix the problem except to
have just one malloc and that had to be the system one. */
/* This is not always necessary. Turned off at present for testers to
identify any problems with gmalloc more accurately. */
/* #define SYSTEM_MALLOC */
/* Probably OK also on earlier versions. */
#define GC_SETJMP_WORKS 1
#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
/* arch-tag: 71ea3857-89dc-4395-9623-77964e6ed3ca
(do not change this comment) */