summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Fraser <fraserbn@gmail.com>2014-06-03 18:58:50 +0200
committerBrian Fraser <fraserbn@gmail.com>2014-06-11 23:22:01 +0200
commitf05550c064c2736017a5c65739d9eee325eed149 (patch)
tree0683d5b400decb18f981f8b2e310ae4ea3c28911
parent27d9ebc5085bbcf931d590338a1dda72490bbd9c (diff)
downloadperl-f05550c064c2736017a5c65739d9eee325eed149.tar.gz
Removed NeXT support
-rwxr-xr-xConfigure52
-rw-r--r--INSTALL2
-rw-r--r--MANIFEST5
-rwxr-xr-xconfig_h.SH16
-rw-r--r--ext/DynaLoader/DynaLoader_pm.PL7
-rw-r--r--ext/DynaLoader/dl_next.xs345
-rw-r--r--ext/Errno/Errno_pm.PL8
-rw-r--r--ext/POSIX/hints/next_3.pl5
-rw-r--r--handy.h165
-rw-r--r--hints/next_3.sh141
-rw-r--r--hints/next_3_0.sh61
-rw-r--r--hints/next_4.sh102
-rw-r--r--malloc.c2
-rw-r--r--perl.c5
-rw-r--r--perl.h45
-rw-r--r--pod/perldelta.pod7
-rw-r--r--pp_sys.c6
-rw-r--r--uconfig.h18
-rw-r--r--util.c4
19 files changed, 87 insertions, 909 deletions
diff --git a/Configure b/Configure
index f0b0ad8d17..ee32f88445 100755
--- a/Configure
+++ b/Configure
@@ -3279,8 +3279,6 @@ EOM
$test -f /unicosmk && osname=unicosmk && osvers=`$uname -r`
$test -f /unicosmk.ar && osname=unicosmk && osvers=`$uname -r`
$test -f /bin/mips && /bin/mips && osname=mips
- $test -d /NextApps && set X `hostinfo | grep 'NeXT Mach.*:' | \
- $sed -e 's/://' -e 's/\./_/'` && osname=next && osvers=$4
$test -d /usr/apollo/bin && osname=apollo
$test -f /etc/saf/_sactab && osname=svr4
$test -d /usr/include/minix && osname=minix
@@ -3317,7 +3315,6 @@ EOM
*) osname=mips ;;
esac;;
[23]100) osname=mips ;;
- next*) osname=next ;;
i386*)
tmp=`/bin/uname -X 2>/dev/null|awk '/3\.2v[45]/{ print $(NF) }'`
if $test "$tmp" != "" -a "$3" = "3.2" -a -f '/etc/systemid'; then
@@ -3415,7 +3412,6 @@ EOM
*) osname=newsos ;;
esac
;;
- next*) osname=next ;;
nonstop-ux) osname=nonstopux ;;
openbsd) osname=openbsd
osvers="$3"
@@ -8131,7 +8127,6 @@ EOM
'') case "$gccversion" in
'') case "$osname" in
hpux) dflt='+z' ;;
- next) dflt='none' ;;
irix*) dflt='-KPIC' ;;
svr4*|esix*|solaris|nonstopux) dflt='-KPIC' ;;
sunos) dflt='-pic' ;;
@@ -8248,7 +8243,6 @@ EOM
esac
;;
*linux*|irix*|gnu*) dflt="-shared $optimize" ;;
- next) dflt='none' ;;
solaris) # See [perl #66604].
# On Solaris 11, gcc -m64 on amd64
# appears not to understand -G. gcc versions at
@@ -8327,7 +8321,7 @@ EOM
case "$ccdlflags" in
'') case "$osname" in
*linux*|hpux|gnu*) dflt='-Wl,-E' ;;
- next|sunos) dflt='none' ;;
+ sunos) dflt='none' ;;
*) dflt='none' ;;
esac ;;
' ') dflt='none' ;;
@@ -8390,15 +8384,6 @@ $undef)
dflt=y
also='Building a shared libperl is required for dynamic loading to work on your system.'
;;
- next*)
- case "$osvers" in
- 4*) dflt=y
- also='Building a shared libperl is needed for MAB support.'
- ;;
- *) dflt=n
- ;;
- esac
- ;;
*) dflt=n
;;
esac
@@ -8456,10 +8441,6 @@ true)
# I'd prefer to keep the os-specific stuff here to a minimum, and
# rely on figuring it out from the naming of libc.
case "${osname}${osvers}" in
- next4*)
- dflt=libperl.5.$so
- # XXX How handle the --version stuff for MAB?
- ;;
*linux*|gnu*) # ld won't link with a bare -lperl otherwise.
dflt=libperl.$so
;;
@@ -8554,9 +8535,6 @@ if "$useshrplib"; then
bsdos|linux|irix*|dec_osf|gnu*)
xxx="-Wl,-rpath,$shrpdir"
;;
- next)
- # next doesn't like the default...
- ;;
haiku)
# Haiku doesn't like the default, either.
;;
@@ -8823,26 +8801,6 @@ esac
: see if we have to deal with yellow pages, now NIS.
if $test -d /usr/etc/yp || $test -d /etc/yp || $test -d /usr/lib/yp; then
- if $test -f /usr/etc/nibindd; then
- echo " "
- echo "I'm fairly confident you're on a NeXT."
- echo " "
- rp='Do you get the hosts file via NetInfo?'
- dflt=y
- case "$hostcat" in
- nidump*) ;;
- '') ;;
- *) dflt=n;;
- esac
- . ./myread
- case "$ans" in
- y*) hostcat='nidump hosts .';;
- *) case "$hostcat" in
- nidump*) hostcat='';;
- esac
- ;;
- esac
- fi
case "$hostcat" in
nidump*) ;;
*)
@@ -12203,9 +12161,6 @@ $cat >dirfd.c <<EOM
#endif
#if defined(I_DIRENT)
#include <dirent.h>
-#if defined(NeXT) && defined(I_SYS_DIR) /* NeXT needs dirent + sys/dir.h */
-#include <sys/dir.h>
-#endif
#else
#ifdef I_SYS_NDIR
#include <sys/ndir.h>
@@ -18946,7 +18901,7 @@ eval $setvar
: Check if is a multiplatform env
case "$osname" in
-next|darwin) multiarch="$define" ;;
+darwin) multiarch="$define" ;;
esac
case "$multiarch" in
''|[nN]*) multiarch="$undef" ;;
@@ -19187,9 +19142,6 @@ case "$d_closedir" in
#endif
#if defined(I_DIRENT)
#include <dirent.h>
-#if defined(NeXT) && defined(I_SYS_DIR) /* NeXT needs dirent + sys/dir.h */
-#include <sys/dir.h>
-#endif
#else
#ifdef I_SYS_NDIR
#include <sys/ndir.h>
diff --git a/INSTALL b/INSTALL
index 5a5b53af36..93fb5cb41d 100644
--- a/INSTALL
+++ b/INSTALL
@@ -460,7 +460,7 @@ You can elect to build a shared libperl by
To build a shared libperl, the environment variable controlling shared
library search (LD_LIBRARY_PATH in most systems, DYLD_LIBRARY_PATH for
-NeXTSTEP/OPENSTEP/Darwin, LD_LIBRARY_PATH/SHLIB_PATH
+Darwin, LD_LIBRARY_PATH/SHLIB_PATH
for HP-UX, LIBPATH for AIX, PATH for Cygwin) must be set up to include
the Perl build directory because that's where the shared libperl will
be created. Configure arranges makefile to have the correct shared
diff --git a/MANIFEST b/MANIFEST
index 2b30273184..4902e15569 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -3477,7 +3477,6 @@ ext/DynaLoader/dl_dlopen.xs BSD/SunOS4&5 dlopen() style implementation
ext/DynaLoader/dl_dyld.xs NeXT/Apple dyld implementation
ext/DynaLoader/dl_freemint.xs GNU dld style implementation for FreeMINT
ext/DynaLoader/dl_hpux.xs HP-UX implementation
-ext/DynaLoader/dl_next.xs NeXT implementation
ext/DynaLoader/dl_none.xs Stub implementation
ext/DynaLoader/dl_symbian.xs Symbian implementation
ext/DynaLoader/dlutils.c Dynamic loader utilities for dl_*.xs files
@@ -3670,7 +3669,6 @@ ext/POSIX/hints/gnuknetbsd.pl Hint for POSIX for named architecture
ext/POSIX/hints/linux.pl Hint for POSIX for named architecture
ext/POSIX/hints/mint.pl Hint for POSIX for named architecture
ext/POSIX/hints/netbsd.pl Hint for POSIX for named architecture
-ext/POSIX/hints/next_3.pl Hint for POSIX for named architecture
ext/POSIX/hints/openbsd.pl Hint for POSIX for named architecture
ext/POSIX/hints/sunos_4.pl Hint for POSIX for named architecture
ext/POSIX/hints/svr4.pl Hint for POSIX for named architecture
@@ -3944,9 +3942,6 @@ hints/mpc.sh Hints for named architecture
hints/ncr_tower.sh Hints for named architecture
hints/netbsd.sh Hints for named architecture
hints/newsos4.sh Hints for named architecture
-hints/next_3_0.sh Hints for named architecture
-hints/next_3.sh Hints for named architecture
-hints/next_4.sh Hints for named architecture
hints/nonstopux.sh Hints for named architecture
hints/openbsd.sh Hints for named architecture
hints/opus.sh Hints for named architecture
diff --git a/config_h.SH b/config_h.SH
index fcd1c4d1c0..7301ef413c 100755
--- a/config_h.SH
+++ b/config_h.SH
@@ -978,17 +978,8 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
* This symbol holds the hexadecimal constant defined in byteorder,
* in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
* If the compiler supports cross-compiling or multiple-architecture
- * binaries (e.g. on NeXT systems), use compiler-defined macros to
+ * binaries, use compiler-defined macros to
* determine the byte order.
- * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
- * Binaries (MAB) on either big endian or little endian machines.
- * The endian-ness is available at compile-time. This only matters
- * for perl, where the config.h can be generated and installed on
- * one system, and used by a different architecture to build an
- * extension. Older versions of NeXT that might not have
- * defined either *_ENDIAN__ were all on Motorola 680x0 series,
- * so the default case (for NeXT) is big endian to catch them.
- * This might matter for NeXT 3.0.
*/
#if defined(MULTIARCH)
# ifdef __LITTLE_ENDIAN__
@@ -1010,12 +1001,9 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
# endif
# endif
# endif
-# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
-# define BYTEORDER 0x4321
-# endif
#else
#define BYTEORDER 0x$byteorder /* large digits for MSB */
-#endif /* NeXT */
+#endif
/* CHARBITS:
* This symbol contains the size of a char, so that the C preprocessor
diff --git a/ext/DynaLoader/DynaLoader_pm.PL b/ext/DynaLoader/DynaLoader_pm.PL
index 5fb52a2768..f160fa8a88 100644
--- a/ext/DynaLoader/DynaLoader_pm.PL
+++ b/ext/DynaLoader/DynaLoader_pm.PL
@@ -85,7 +85,7 @@ package DynaLoader;
# Tim.Bunce@ig.co.uk, August 1994
BEGIN {
- $VERSION = '1.25';
+ $VERSION = '1.26';
}
use Config;
@@ -578,7 +578,7 @@ anyone wishing to use the DynaLoader directly in an application.
The DynaLoader is designed to be a very simple high-level
interface that is sufficiently general to cover the requirements
-of SunOS, HP-UX, NeXT, Linux, VMS and other platforms.
+of SunOS, HP-UX, Linux, VMS and other platforms.
It is also hoped that the interface will cover the needs of OS/2, NT
etc and also allow pseudo-dynamic linking (using C<ld -A> at runtime).
@@ -796,7 +796,6 @@ current values of @dl_require_symbols and @dl_resolve_using if required.
SunOS: dlopen($filename)
HP-UX: shl_load($filename)
Linux: dld_create_reference(@dl_require_symbols); dld_link($filename)
- NeXT: rld_load($filename, @dl_resolve_using)
VMS: lib$find_image_symbol($filename,$dl_require_symbols[0])
(The dlopen() function is also used by Solaris and some versions of
@@ -833,7 +832,6 @@ Apache and mod_perl built with the APXS mechanism.
SunOS: dlclose($libref)
HP-UX: ???
Linux: ???
- NeXT: ???
VMS: ???
(The dlclose() function is also used by Solaris and some versions of
@@ -869,7 +867,6 @@ be passed to, and understood by, dl_install_xsub().
SunOS: dlsym($libref, $symbol)
HP-UX: shl_findsym($libref, $symbol)
Linux: dld_get_func($symbol) and/or dld_get_symbol($symbol)
- NeXT: rld_lookup("_$symbol")
VMS: lib$find_image_symbol($libref,$symbol)
diff --git a/ext/DynaLoader/dl_next.xs b/ext/DynaLoader/dl_next.xs
deleted file mode 100644
index f1fb1c4637..0000000000
--- a/ext/DynaLoader/dl_next.xs
+++ /dev/null
@@ -1,345 +0,0 @@
-/* dl_next.xs
- *
- * Platform: NeXT NS 3.2
- * Author: Anno Siegel (siegel@zrz.TU-Berlin.DE)
- * Based on: dl_dlopen.xs by Paul Marquess
- * Created: Aug 15th, 1994
- *
- */
-
-/*
- * And Gandalf said: 'Many folk like to know beforehand what is to
- * be set on the table; but those who have laboured to prepare the
- * feast like to keep their secret; for wonder makes the words of
- * praise louder.'
- *
- * [p.970 of _The Lord of the Rings_, VI/v: "The Steward and the King"]
- */
-
-/* Porting notes:
-
-dl_next.xs is itself a port from dl_dlopen.xs by Paul Marquess. It
-should not be used as a base for further ports though it may be used
-as an example for how dl_dlopen.xs can be ported to other platforms.
-
-The method used here is just to supply the sun style dlopen etc.
-functions in terms of NeXTs rld_*. The xs code proper is unchanged
-from Paul's original.
-
-The port could use some streamlining. For one, error handling could
-be simplified.
-
-Anno Siegel
-
-*/
-
-#if NS_TARGET_MAJOR >= 4
-#else
-/* include these before perl headers */
-#include <mach-o/rld.h>
-#include <streams/streams.h>
-#endif
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-#define DL_LOADONCEONLY
-
-typedef struct {
- AV * x_resolve_using;
-} my_cxtx_t; /* this *must* be named my_cxtx_t */
-
-#define DL_CXT_EXTRA /* ask for dl_cxtx to be defined in dlutils.c */
-#include "dlutils.c" /* SaveError() etc */
-
-#define dl_resolve_using (dl_cxtx.x_resolve_using)
-
-static char *dlerror()
-{
- dTHX;
- dMY_CXT;
- return dl_last_error;
-}
-
-int dlclose(handle) /* stub only */
-void *handle;
-{
- return 0;
-}
-
-#if NS_TARGET_MAJOR >= 4
-#import <mach-o/dyld.h>
-
-enum dyldErrorSource
-{
- OFImage,
-};
-
-static void TranslateError
- (const char *path, enum dyldErrorSource type, int number)
-{
- dTHX;
- dMY_CXT;
- char *error;
- unsigned int index;
- static char *OFIErrorStrings[] =
- {
- "%s(%d): Object Image Load Failure\n",
- "%s(%d): Object Image Load Success\n",
- "%s(%d): Not a recognisable object file\n",
- "%s(%d): No valid architecture\n",
- "%s(%d): Object image has an invalid format\n",
- "%s(%d): Invalid access (permissions?)\n",
- "%s(%d): Unknown error code from NSCreateObjectFileImageFromFile\n",
- };
-#define NUM_OFI_ERRORS (sizeof(OFIErrorStrings) / sizeof(OFIErrorStrings[0]))
-
- switch (type)
- {
- case OFImage:
- index = number;
- if (index > NUM_OFI_ERRORS - 1)
- index = NUM_OFI_ERRORS - 1;
- error = Perl_form_nocontext(OFIErrorStrings[index], path, number);
- break;
-
- default:
- error = Perl_form_nocontext("%s(%d): Totally unknown error type %d\n",
- path, number, type);
- break;
- }
- Safefree(dl_last_error);
- dl_last_error = savepv(error);
-}
-
-static char *dlopen(char *path, int mode /* mode is ignored */)
-{
- int dyld_result;
- NSObjectFileImage ofile;
- NSModule handle = NULL;
-
- dyld_result = NSCreateObjectFileImageFromFile(path, &ofile);
- if (dyld_result != NSObjectFileImageSuccess)
- TranslateError(path, OFImage, dyld_result);
- else
- {
- // NSLinkModule will cause the run to abort on any link error's
- // not very friendly but the error recovery functionality is limited.
- handle = NSLinkModule(ofile, path, TRUE);
- }
-
- return handle;
-}
-
-void *
-dlsym(handle, symbol)
-void *handle;
-char *symbol;
-{
- void *addr;
-
- if (NSIsSymbolNameDefined(symbol))
- addr = NSAddressOfSymbol(NSLookupAndBindSymbol(symbol));
- else
- addr = NULL;
-
- return addr;
-}
-
-#else /* NS_TARGET_MAJOR <= 3 */
-
-static NXStream *OpenError(void)
-{
- return NXOpenMemory( (char *) 0, 0, NX_WRITEONLY);
-}
-
-static void TransferError(NXStream *s)
-{
- char *buffer;
- int len, maxlen;
- dTHX;
- dMY_CXT;
-
- if ( dl_last_error ) {
- Safefree(dl_last_error);
- }
- NXGetMemoryBuffer(s, &buffer, &len, &maxlen);
- Newx(dl_last_error, len, char);
- strcpy(dl_last_error, buffer);
-}
-
-static void CloseError(NXStream *s)
-{
- if ( s ) {
- NXCloseMemory( s, NX_FREEBUFFER);
- }
-}
-
-static char *dlopen(char *path, int mode /* mode is ignored */)
-{
- int rld_success;
- NXStream *nxerr;
- I32 i, psize;
- char *result;
- char **p;
- STRLEN n_a;
- dTHX;
- dMY_CXT;
-
- /* Do not load what is already loaded into this process */
- if (hv_fetch(dl_loaded_files, path, strlen(path), 0))
- return path;
-
- nxerr = OpenError();
- psize = AvFILL(dl_resolve_using) + 3;
- p = (char **) safemalloc(psize * sizeof(char*));
- p[0] = path;
- for(i=1; i<psize-1; i++) {
- p[i] = SvPVx(*av_fetch(dl_resolve_using, i-1, TRUE), n_a);
- }
- p[psize-1] = 0;
- rld_success = rld_load(nxerr, (struct mach_header **)0, p,
- (const char *) 0);
- safefree((char*) p);
- if (rld_success) {
- result = path;
- /* prevent multiple loads of same file into same process */
- hv_store(dl_loaded_files, path, strlen(path), &PL_sv_yes, 0);
- } else {
- TransferError(nxerr);
- result = (char*) 0;
- }
- CloseError(nxerr);
- return result;
-}
-
-void *
-dlsym(handle, symbol)
-void *handle;
-char *symbol;
-{
- NXStream *nxerr = OpenError();
- unsigned long symref = 0;
-
- if (!rld_lookup(nxerr, Perl_form_nocontext("_%s", symbol), &symref))
- TransferError(nxerr);
- CloseError(nxerr);
- return (void*) symref;
-}
-
-#endif /* NS_TARGET_MAJOR >= 4 */
-
-
-/* ----- code from dl_dlopen.xs below here ----- */
-
-
-static void
-dl_private_init(pTHX)
-{
- (void)dl_generic_private_init(aTHX);
- {
- dMY_CXT;
- dl_resolve_using = get_av("DynaLoader::dl_resolve_using", GV_ADDMULTI);
- }
-}
-
-MODULE = DynaLoader PACKAGE = DynaLoader
-
-BOOT:
- (void)dl_private_init(aTHX);
-
-
-
-void
-dl_load_file(filename, flags=0)
- char * filename
- int flags
- PREINIT:
- int mode = 1;
- void *retv;
- CODE:
- DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags));
- if (flags & 0x01)
- Perl_warn(aTHX_ "Can't make loaded symbols global on this platform while loading %s",filename);
- retv = dlopen(filename, mode) ;
- DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%x\n", retv));
- ST(0) = sv_newmortal() ;
- if (retv == NULL)
- SaveError(aTHX_ "%s",dlerror()) ;
- else
- sv_setiv( ST(0), PTR2IV(retv) );
-
-
-void
-dl_find_symbol(libhandle, symbolname)
- void * libhandle
- char * symbolname
- PREINIT:
- void *retv;
- CODE:
-#if NS_TARGET_MAJOR >= 4
- symbolname = Perl_form_nocontext("_%s", symbolname);
-#endif
- DLDEBUG(2, PerlIO_printf(Perl_debug_log,
- "dl_find_symbol(handle=%lx, symbol=%s)\n",
- (unsigned long) libhandle, symbolname));
- retv = dlsym(libhandle, symbolname);
- DLDEBUG(2, PerlIO_printf(Perl_debug_log,
- " symbolref = %lx\n", (unsigned long) retv));
- ST(0) = sv_newmortal() ;
- if (retv == NULL)
- SaveError(aTHX_ "%s",dlerror()) ;
- else
- sv_setiv( ST(0), PTR2IV(retv) );
-
-
-void
-dl_undef_symbols()
- CODE:
-
-
-
-# These functions should not need changing on any platform:
-
-void
-dl_install_xsub(perl_name, symref, filename="$Package")
- char * perl_name
- void * symref
- const char * filename
- CODE:
- DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%x)\n",
- perl_name, symref));
- ST(0) = sv_2mortal(newRV((SV*)newXS_flags(perl_name,
- (void(*)(pTHX_ CV *))symref,
- filename, NULL,
- XS_DYNAMIC_FILENAME)));
-
-
-char *
-dl_error()
- CODE:
- dMY_CXT;
- RETVAL = dl_last_error ;
- OUTPUT:
- RETVAL
-
-#if defined(USE_ITHREADS)
-
-void
-CLONE(...)
- CODE:
- MY_CXT_CLONE;
-
- PERL_UNUSED_VAR(items);
-
- /* MY_CXT_CLONE just does a memcpy on the whole structure, so to avoid
- * using Perl variables that belong to another thread, we create our
- * own for this thread.
- */
- MY_CXT.x_dl_last_error = newSVpvn("", 0);
- dl_resolve_using = get_av("DynaLoader::dl_resolve_using", GV_ADDMULTI);
-
-#endif
-
-# end.
diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
index 55ad01a0c4..ca954b720e 100644
--- a/ext/Errno/Errno_pm.PL
+++ b/ext/Errno/Errno_pm.PL
@@ -2,7 +2,7 @@ use ExtUtils::MakeMaker;
use Config;
use strict;
-our $VERSION = "1.20_03";
+our $VERSION = "1.20_04";
my %err = ();
@@ -61,11 +61,7 @@ sub process_file {
warn "Cannot open '$file'";
return;
}
- } elsif ($Config{gccversion} ne ''
- # OpenSTEP has gcc 2.7.2.1 which recognizes but
- # doesn't implement the -dM flag.
- && $^O ne 'openstep' && $^O ne 'next' && $^O ne 'darwin'
- ) {
+ } elsif ($Config{gccversion} ne '' && $^O ne 'darwin' ) {
# With the -dM option, gcc outputs every #define it finds
unless(open(FH,"$Config{cc} -E -dM $Config{cppflags} $file |")) {
warn "Cannot open '$file'";
diff --git a/ext/POSIX/hints/next_3.pl b/ext/POSIX/hints/next_3.pl
deleted file mode 100644
index d90778398b..0000000000
--- a/ext/POSIX/hints/next_3.pl
+++ /dev/null
@@ -1,5 +0,0 @@
-# NeXT *does* have setpgid when we use the -posix flag, but
-# doesn't when we don't. The main perl sources are compiled
-# without -posix, so the hints/next_3.sh hint file tells Configure
-# that d_setpgid=undef.
-$self->{CCFLAGS} = $Config{ccflags} . ' -posix -DHAS_SETPGID' ;
diff --git a/handy.h b/handy.h
index bcdf65058b..b17d7f8750 100644
--- a/handy.h
+++ b/handy.h
@@ -96,19 +96,6 @@ Null SV pointer. (No longer available when C<PERL_CORE> is defined.)
# endif
#endif
-/* The NeXT dynamic loader headers will not build with the bool macro
- So declare them now to clear confusion.
-*/
-#if defined(NeXT) || defined(__NeXT__)
-# undef FALSE
-# undef TRUE
- typedef enum bool { FALSE = 0, TRUE = 1 } bool;
-# define ENUM_BOOL 1
-# ifndef HAS_BOOL
-# define HAS_BOOL 1
-# endif /* !HAS_BOOL */
-#endif /* NeXT || __NeXT__ */
-
#ifndef HAS_BOOL
# ifdef bool
# undef bool
@@ -1337,46 +1324,21 @@ EXTCONST U32 PL_charclass[];
_generic_toLOWER_LC(c, function, cast)))
/* Use the libc versions for these if available. */
-#if defined(HAS_ISASCII) && ! defined(USE_NEXT_CTYPE)
+#if defined(HAS_ISASCII)
# define isASCII_LC(c) (FITS_IN_8_BITS(c) && isascii( (U8) (c)))
#else
# define isASCII_LC(c) isASCII(c)
#endif
-#if defined(HAS_ISBLANK) && ! defined(USE_NEXT_CTYPE)
+#if defined(HAS_ISBLANK)
# define isBLANK_LC(c) _generic_LC(c, _CC_BLANK, isblank)
#else /* Unlike isASCII, varies if in a UTF-8 locale */
# define isBLANK_LC(c) (IN_UTF8_CTYPE_LOCALE) ? isBLANK_L1(c) : isBLANK(c)
#endif
-#ifdef USE_NEXT_CTYPE /* NeXT computers */
-
-# define _LC_CAST unsigned int /* Needed by _generic_LC. NeXT functions
- use this as their input type */
-
-# define isALPHA_LC(c) _generic_LC(c, _CC_ALPHA, NXIsAlpha)
-# define isALPHANUMERIC_LC(c) _generic_LC(c, _CC_ALPHANUMERIC, NXIsAlNum)
-# define isCNTRL_LC(c) _generic_LC(c, _CC_CNTRL, NXIsCntrl)
-# define isDIGIT_LC(c) _generic_LC(c, _CC_DIGIT, NXIsDigit)
-# define isGRAPH_LC(c) _generic_LC(c, _CC_GRAPH, NXIsGraph)
-# define isIDFIRST_LC(c) _generic_LC_underscore(c, _CC_IDFIRST, NXIsAlpha)
-# define isLOWER_LC(c) _generic_LC(c, _CC_LOWER, NXIsLower)
-# define isPRINT_LC(c) _generic_LC(c, _CC_PRINT, NXIsPrint)
-# define isPUNCT_LC(c) _generic_LC(c, _CC_PUNCT, NXIsPunct)
-# define isSPACE_LC(c) _generic_LC(c, _CC_SPACE, NXIsSpace)
-# define isUPPER_LC(c) _generic_LC(c, _CC_UPPER, NXIsUpper)
-# define isWORDCHAR_LC(c) _generic_LC_underscore(c, _CC_WORDCHAR, NXIsAlNum)
-# define isXDIGIT_LC(c) _generic_LC(c, _CC_XDIGIT, NXIsXdigit)
-
-# define toLOWER_LC(c) _generic_toLOWER_LC((c), NXToLower, unsigned int)
-# define toUPPER_LC(c) _generic_toUPPER_LC((c), NXToUpper, unsigned int)
-# define toFOLD_LC(c) _generic_toFOLD_LC((c), NXToLower, unsigned int)
+#define _LC_CAST U8
-#else /* !USE_NEXT_CTYPE */
-
-# define _LC_CAST U8
-
-# ifdef WIN32
+#ifdef WIN32
/* The Windows functions don't bother to follow the POSIX standard, which
* for example says that something can't both be a printable and a control.
* But Windows treats the \t control as a printable, and does such things
@@ -1387,69 +1349,68 @@ EXTCONST U32 PL_charclass[];
* Not all possible weirdnesses are checked for, just the ones that were
* detected on actual Microsoft code pages */
-# define isCNTRL_LC(c) _generic_LC(c, _CC_CNTRL, iscntrl)
-# define isSPACE_LC(c) _generic_LC(c, _CC_SPACE, isspace)
-
-# define isALPHA_LC(c) (_generic_LC(c, _CC_ALPHA, isalpha) && isALPHANUMERIC_LC(c))
-# define isALPHANUMERIC_LC(c) (_generic_LC(c, _CC_ALPHANUMERIC, isalnum) && ! isPUNCT_LC(c))
-# define isDIGIT_LC(c) (_generic_LC(c, _CC_DIGIT, isdigit) && isALPHANUMERIC_LC(c))
-# define isGRAPH_LC(c) (_generic_LC(c, _CC_GRAPH, isgraph) && isPRINT_LC(c))
-# define isIDFIRST_LC(c) (((c) == '_') || (_generic_LC(c, _CC_IDFIRST, isalpha) && ! isPUNCT_LC(c)))
-# define isLOWER_LC(c) (_generic_LC(c, _CC_LOWER, islower) && isALPHA_LC(c))
-# define isPRINT_LC(c) (_generic_LC(c, _CC_PRINT, isprint) && ! isCNTRL_LC(c))
-# define isPUNCT_LC(c) (_generic_LC(c, _CC_PUNCT, ispunct) && ! isCNTRL_LC(c))
-# define isUPPER_LC(c) (_generic_LC(c, _CC_UPPER, isupper) && isALPHA_LC(c))
-# define isWORDCHAR_LC(c) (((c) == '_') || isALPHANUMERIC_LC(c))
-# define isXDIGIT_LC(c) (_generic_LC(c, _CC_XDIGIT, isxdigit) && isALPHANUMERIC_LC(c))
-
-# define toLOWER_LC(c) _generic_toLOWER_LC((c), tolower, U8)
-# define toUPPER_LC(c) _generic_toUPPER_LC((c), toupper, U8)
-# define toFOLD_LC(c) _generic_toFOLD_LC((c), tolower, U8)
-
-# elif defined(CTYPE256) || (!defined(isascii) && !defined(HAS_ISASCII))
+# define isCNTRL_LC(c) _generic_LC(c, _CC_CNTRL, iscntrl)
+# define isSPACE_LC(c) _generic_LC(c, _CC_SPACE, isspace)
+
+# define isALPHA_LC(c) (_generic_LC(c, _CC_ALPHA, isalpha) && isALPHANUMERIC_LC(c))
+# define isALPHANUMERIC_LC(c) (_generic_LC(c, _CC_ALPHANUMERIC, isalnum) && ! isPUNCT_LC(c))
+# define isDIGIT_LC(c) (_generic_LC(c, _CC_DIGIT, isdigit) && isALPHANUMERIC_LC(c))
+# define isGRAPH_LC(c) (_generic_LC(c, _CC_GRAPH, isgraph) && isPRINT_LC(c))
+# define isIDFIRST_LC(c) (((c) == '_') || (_generic_LC(c, _CC_IDFIRST, isalpha) && ! isPUNCT_LC(c)))
+# define isLOWER_LC(c) (_generic_LC(c, _CC_LOWER, islower) && isALPHA_LC(c))
+# define isPRINT_LC(c) (_generic_LC(c, _CC_PRINT, isprint) && ! isCNTRL_LC(c))
+# define isPUNCT_LC(c) (_generic_LC(c, _CC_PUNCT, ispunct) && ! isCNTRL_LC(c))
+# define isUPPER_LC(c) (_generic_LC(c, _CC_UPPER, isupper) && isALPHA_LC(c))
+# define isWORDCHAR_LC(c) (((c) == '_') || isALPHANUMERIC_LC(c))
+# define isXDIGIT_LC(c) (_generic_LC(c, _CC_XDIGIT, isxdigit) && isALPHANUMERIC_LC(c))
+
+# define toLOWER_LC(c) _generic_toLOWER_LC((c), tolower, U8)
+# define toUPPER_LC(c) _generic_toUPPER_LC((c), toupper, U8)
+# define toFOLD_LC(c) _generic_toFOLD_LC((c), tolower, U8)
+
+#elif defined(CTYPE256) || (!defined(isascii) && !defined(HAS_ISASCII))
/* For most other platforms */
-# define isALPHA_LC(c) _generic_LC(c, _CC_ALPHA, isalpha)
-# define isALPHANUMERIC_LC(c) _generic_LC(c, _CC_ALPHANUMERIC, isalnum)
-# define isCNTRL_LC(c) _generic_LC(c, _CC_CNTRL, iscntrl)
-# define isDIGIT_LC(c) _generic_LC(c, _CC_DIGIT, isdigit)
-# define isGRAPH_LC(c) _generic_LC(c, _CC_GRAPH, isgraph)
-# define isIDFIRST_LC(c) _generic_LC_underscore(c, _CC_IDFIRST, isalpha)
-# define isLOWER_LC(c) _generic_LC(c, _CC_LOWER, islower)
-# define isPRINT_LC(c) _generic_LC(c, _CC_PRINT, isprint)
-# define isPUNCT_LC(c) _generic_LC(c, _CC_PUNCT, ispunct)
-# define isSPACE_LC(c) _generic_LC(c, _CC_SPACE, isspace)
-# define isUPPER_LC(c) _generic_LC(c, _CC_UPPER, isupper)
-# define isWORDCHAR_LC(c) _generic_LC_underscore(c, _CC_WORDCHAR, isalnum)
-# define isXDIGIT_LC(c) _generic_LC(c, _CC_XDIGIT, isxdigit)
-
-
-# define toLOWER_LC(c) _generic_toLOWER_LC((c), tolower, U8)
-# define toUPPER_LC(c) _generic_toUPPER_LC((c), toupper, U8)
-# define toFOLD_LC(c) _generic_toFOLD_LC((c), tolower, U8)
-
-# else /* The final fallback position */
-
-# define isALPHA_LC(c) (isascii(c) && isalpha(c))
-# define isALPHANUMERIC_LC(c) (isascii(c) && isalnum(c))
-# define isCNTRL_LC(c) (isascii(c) && iscntrl(c))
-# define isDIGIT_LC(c) (isascii(c) && isdigit(c))
-# define isGRAPH_LC(c) (isascii(c) && isgraph(c))
-# define isIDFIRST_LC(c) (isascii(c) && (isalpha(c) || (c) == '_'))
-# define isLOWER_LC(c) (isascii(c) && islower(c))
-# define isPRINT_LC(c) (isascii(c) && isprint(c))
-# define isPUNCT_LC(c) (isascii(c) && ispunct(c))
-# define isSPACE_LC(c) (isascii(c) && isspace(c))
-# define isUPPER_LC(c) (isascii(c) && isupper(c))
-# define isWORDCHAR_LC(c) (isascii(c) && (isalnum(c) || (c) == '_'))
-# define isXDIGIT_LC(c) (isascii(c) && isxdigit(c))
-
-# define toLOWER_LC(c) (isascii(c) ? tolower(c) : (c))
-# define toUPPER_LC(c) (isascii(c) ? toupper(c) : (c))
-# define toFOLD_LC(c) (isascii(c) ? tolower(c) : (c))
+# define isALPHA_LC(c) _generic_LC(c, _CC_ALPHA, isalpha)
+# define isALPHANUMERIC_LC(c) _generic_LC(c, _CC_ALPHANUMERIC, isalnum)
+# define isCNTRL_LC(c) _generic_LC(c, _CC_CNTRL, iscntrl)
+# define isDIGIT_LC(c) _generic_LC(c, _CC_DIGIT, isdigit)
+# define isGRAPH_LC(c) _generic_LC(c, _CC_GRAPH, isgraph)
+# define isIDFIRST_LC(c) _generic_LC_underscore(c, _CC_IDFIRST, isalpha)
+# define isLOWER_LC(c) _generic_LC(c, _CC_LOWER, islower)
+# define isPRINT_LC(c) _generic_LC(c, _CC_PRINT, isprint)
+# define isPUNCT_LC(c) _generic_LC(c, _CC_PUNCT, ispunct)
+# define isSPACE_LC(c) _generic_LC(c, _CC_SPACE, isspace)
+# define isUPPER_LC(c) _generic_LC(c, _CC_UPPER, isupper)
+# define isWORDCHAR_LC(c) _generic_LC_underscore(c, _CC_WORDCHAR, isalnum)
+# define isXDIGIT_LC(c) _generic_LC(c, _CC_XDIGIT, isxdigit)
+
+
+# define toLOWER_LC(c) _generic_toLOWER_LC((c), tolower, U8)
+# define toUPPER_LC(c) _generic_toUPPER_LC((c), toupper, U8)
+# define toFOLD_LC(c) _generic_toFOLD_LC((c), tolower, U8)
+
+#else /* The final fallback position */
+
+# define isALPHA_LC(c) (isascii(c) && isalpha(c))
+# define isALPHANUMERIC_LC(c) (isascii(c) && isalnum(c))
+# define isCNTRL_LC(c) (isascii(c) && iscntrl(c))
+# define isDIGIT_LC(c) (isascii(c) && isdigit(c))
+# define isGRAPH_LC(c) (isascii(c) && isgraph(c))
+# define isIDFIRST_LC(c) (isascii(c) && (isalpha(c) || (c) == '_'))
+# define isLOWER_LC(c) (isascii(c) && islower(c))
+# define isPRINT_LC(c) (isascii(c) && isprint(c))
+# define isPUNCT_LC(c) (isascii(c) && ispunct(c))
+# define isSPACE_LC(c) (isascii(c) && isspace(c))
+# define isUPPER_LC(c) (isascii(c) && isupper(c))
+# define isWORDCHAR_LC(c) (isascii(c) && (isalnum(c) || (c) == '_'))
+# define isXDIGIT_LC(c) (isascii(c) && isxdigit(c))
+
+# define toLOWER_LC(c) (isascii(c) ? tolower(c) : (c))
+# define toUPPER_LC(c) (isascii(c) ? toupper(c) : (c))
+# define toFOLD_LC(c) (isascii(c) ? tolower(c) : (c))
-# endif
-#endif /* USE_NEXT_CTYPE */
+#endif
#define isIDCONT(c) isWORDCHAR(c)
#define isIDCONT_A(c) isWORDCHAR_A(c)
diff --git a/hints/next_3.sh b/hints/next_3.sh
deleted file mode 100644
index 3dfbcca1ad..0000000000
--- a/hints/next_3.sh
+++ /dev/null
@@ -1,141 +0,0 @@
-# This file has been put together by Anno Siegel <siegel@zrz.TU-Berlin.DE>,
-# Andreas Koenig <k@franz.ww.TU-Berlin.DE> and Gerd Knops <gerti@BITart.com>.
-# Comments, questions, and improvements welcome!
-#
-# These hints work for NeXT 3.2 and 3.3. 3.0 has its own
-# special hint file.
-#
-
-######################################################################
-# THE MALLOC STORY
-######################################################################
-# 1994:
-# the simple program `for ($i=1;$i<38771;$i++){$t{$i}=123}' fails
-# with Larry's malloc on NS 3.2 due to broken sbrk()
-#
-# setting usemymalloc='n' was the solution back then. Later came
-# reports that perl would run unstable on 3.2:
-#
-# 1996:
-# From about perl5.002beta1h perl became unstable on the
-# NeXT. Intermittent coredumps were frequent on 3.2 OS. There were
-# reports, that the developer version of 3.3 didn't have problems, so it
-# seemed pretty obvious that we had to work around an malloc bug in 3.2.
-# This hints file reflects a patch to perl5.002_01 that introduces a
-# home made sbrk routine (remember, NeXT's sbrk _never_ worked). This
-# sbrk makes it possible to run perl with its own malloc. Thanks to
-# Ilya who showed me the way to his sbrk for OS/2!!
-#
-# The whole malloc disaster lead to a failing gdbm test. It is far
-# beyond my understanding, why GDBM_File breaks with the "fix", but in
-# general I consider it better to have a working perl with broken GDBM
-# than no perl at all.
-#
-# So, this hintsfile is using perl's malloc. If you want to turn
-# perl's malloc off, you need to remove '-DUSE_PERL_SBRK'
-# from the ccflags and set usemymalloc to 'n'.
-#
-# 1997:
-# From perl5.003_22 the malloc bug has no impact any more. We can run
-# a perl without a special sbrk. Apparently Chip Salzenberg, the hero
-# of 5.004 anyway, earned another trophy during Australian Open.
-#
-# use the following two lines to enable USE_PERL_SBRK. Try this if you
-# encounter intermittent core dumps:
-#ccflags='-DUSE_NEXT_CTYPE -DUSE_PERL_SBRK'
-#usemymalloc='y'
-# use the following two lines if you have perl5.003_22 or better and
-# do not encounter intermittent core dumps.
-
-ccflags="$ccflags -DUSE_NEXT_CTYPE"
-usemymalloc='n'
-
-######################################################################
-# End of the MALLOC story
-######################################################################
-
-ldflags='-u libsys_s'
-libswanted='dbm gdbm db'
-
-lddlflags='-nostdlib -r'
-# Give cccdlflags an empty value since Configure will detect we are
-# using GNU cc and try to specify -fpic for cccdlflags.
-cccdlflags=' '
-
-######################################################################
-# MAB support
-######################################################################
-# By default we will build for all architectures your development
-# environment supports. If you only want to build for the platform
-# you are on, simply comment or remove the line below.
-#
-# If you want to build for specific architectures, change the line
-# below to something like
-#
-# archs='m68k i386'
-#
-archs=`/bin/lipo -info /usr/lib/libm.a | sed -n 's/^[^:]*:[^:]*: //p'`
-
-#
-# leave the following part alone
-#
-archcount=`echo $archs |wc -w`
-if [ $archcount -gt 1 ]
-then
- for d in $archs
- do
- mabflags="$mabflags -arch $d"
- done
- ccflags="$ccflags $mabflags"
- ldflags="$ldflags $mabflags"
- lddlflags="$lddlflags $mabflags"
- archname='next-fat'
-fi
-######################################################################
-# END MAB support
-######################################################################
-ld='cc'
-
-i_utime='undef'
-groupstype='int'
-direntrytype='struct direct'
-d_strcoll='undef'
-d_uname='define'
-#
-# At least on m68k there are situations when memcmp doesn't behave
-# as expected. So we'll use perl's memcmp.
-#
-d_sanemcmp='undef'
-# setpgid() is in the posix library, but we don't use -posix, so
-# we don't see it. ext/POSIX/POSIX.xs *does* use -posix, so
-# setpgid is still available as POSIX::setpgid.
-# See ext/POSIX/POSIX/hints/next.pl.
-d_setpgid='undef'
-d_setsid='define'
-d_tcgetpgrp='define'
-d_tcsetpgrp='define'
-
-#
-# On some NeXT machines, the timestamp put by ranlib is not correct, and
-# this may cause useless recompiles. Fix that by adding a sleep before
-# running ranlib. The '5' is an empirical number that's "long enough."
-#
-ranlib='sleep 5; /bin/ranlib'
-
-#
-# There where reports that the compiler on HPPA machines
-# fails with the -O flag on pp.c.
-# Compiling pp.c with -O for HPPA machines results in a broken perl.
-# This is true whether we're on an HPPA machine or cross-compiling
-# for one.
-pp_cflags='optimize=""'
-
-# The SysV IPC is optional (ftp://ftp.nluug.nl/pub/comp/next/SysVIPC/)
-# Gerben_Wierda@RnA.nl
-if [ -f /usr/local/lib/libIPC.a ]; then
- libswanted="$libswanted IPC"
- # As of Sep 1998 d_msg wasn't supported in that library,
- # only d_sem and d_shm, but Configure should be able to
- # figure that out. --jhi
- # Note also the next3 ext/IPC/SysV hints file.
-fi
diff --git a/hints/next_3_0.sh b/hints/next_3_0.sh
deleted file mode 100644
index 06d122ac96..0000000000
--- a/hints/next_3_0.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-# This file has been put together by Anno Siegel <siegel@zrz.TU-Berlin.DE>
-# and Andreas Koenig <k@franz.ww.TU-Berlin.DE>. Comments, questions, and
-# improvements welcome!
-
-# This file was modified to work on NS 3.0 by Kevin White
-# <klwhite@magnus.acs.ohio-state.edu>, based on suggestions by Andreas
-# Koenig and Andy Dougherty.
-
-echo With NS 3.0 you won\'t be able to use the POSIX module. >&4
-echo Be aware that some of the tests that are run during \"make test\" >&4
-echo will fail due to the lack of POSIX support on this system. >&4
-echo >&4
-echo Also, if you have the GDBM installed, make sure the header file >&4
-echo is located at a place on the system where the C compiler will >&4
-echo find it. By default, it is placed in /usr/local/include/gdbm.h. >&4
-echo It will not be found there. Try moving it to >&4
-echo /NextDeveloper/Headers/bsd/gdbm.h. >&4
-
-ccflags="$ccflags -DUSE_NEXT_CTYPE"
-POSIX_cflags='ccflags="-posix $ccflags"'
-useposix='undef'
-ldflags="$ldflags -u libsys_s"
-libswanted="$libswanted dbm gdbm db"
-#
-lddlflags='-r'
-# Give cccdlflags an empty value since Configure will detect we are
-# using GNU cc and try to specify -fpic for cccdlflags.
-cccdlflags=' '
-#
-i_utime='undef'
-groupstype='int'
-direntrytype='struct direct'
-d_strcoll='undef'
-# the simple program `for ($i=1;$i<38771;$i++){$t{$i}=123}' fails
-# with Larry's malloc on NS 3.2 due to broken sbrk()
-usemymalloc='n'
-d_uname='define'
-
-# Thanks to Etienne Grossman <etienne@isr.isr.ist.utl.pt> for sending
-# the correct values for perl5.003_11 for the following 4
-# variables. For older version all four were defined.
-d_setsid='undef'
-d_tcgetpgrp='undef'
-d_tcsetpgrp='undef'
-d_setpgid='undef'
-
-#
-# On some NeXT machines, the timestamp put by ranlib is not correct, and
-# this may cause useless recompiles. Fix that by adding a sleep before
-# running ranlib. The '5' is an empirical number that's "long enough."
-# (Thanks to Andreas Koenig <k@franz.ww.tu-berlin.de>)
-ranlib='sleep 5; /bin/ranlib'
-
-# Doesn't support attributes, so we'll set that here.
-d_attribute_format='undef'
-d_attribute_malloc='undef'
-d_attribute_nonnull='undef'
-d_attribute_noreturn='undef'
-d_attribute_pure='undef'
-d_attribute_unused='undef'
-d_attribute_warn_unused_result='undef'
diff --git a/hints/next_4.sh b/hints/next_4.sh
deleted file mode 100644
index d5c8ba7d64..0000000000
--- a/hints/next_4.sh
+++ /dev/null
@@ -1,102 +0,0 @@
-# Posix support has been removed from NextStep
-#
-useposix='undef'
-
-libpth='/lib /usr/lib /usr/local/lib'
-libswanted=' '
-libc='/NextLibrary/Frameworks/System.framework/System'
-
-ldflags="$ldflags -dynamic -prebind"
-lddlflags="$lddlflags -dynamic -bundle -undefined suppress"
-ccflags="$ccflags -dynamic -fno-common -DUSE_NEXT_CTYPE -DUSE_PERL_SBRK"
-cccdlflags='none'
-ld='cc'
-#optimize='-g -O'
-
-######################################################################
-# MAB support
-######################################################################
-# By default we will build for all architectures your development
-# environment supports. If you only want to build for the platform
-# you are on, simply comment or remove the line below.
-#
-# If you want to build for specific architectures, change the line
-# below to something like
-#
-# archs='m68k i386'
-#
-
-# On m68k machines, toke.c cannot be compiled at all for i386 and it can
-# only be compiled for m68k itself without optimization (this is under
-# OPENSTEP 4.2).
-#
-if [ `hostinfo | grep 'NeXT Mach.*:' | sed 's/.*RELEASE_//'` = M68K ]
-then
- echo "Cross compilation is impossible on m68k hardware under OS 4"
- echo "Forcing architecture to m68k only"
- toke_cflags='optimize=""'
- archs='m68k'
-else
- archs=`/bin/lipo -info /usr/lib/libm.a | sed -n 's/^[^:]*:[^:]*: //p'`
-fi
-
-#
-# leave the following part alone
-#
-archcount=`echo $archs |wc -w`
-if [ $archcount -gt 1 ]
-then
- for d in $archs
- do
- mabflags="$mabflags -arch $d"
- done
- ccflags="$ccflags $mabflags"
- ldflags="$ldflags $mabflags"
- lddlflags="$lddlflags $mabflags"
-fi
-######################################################################
-# END MAB support
-######################################################################
-
-useshprlib='true'
-dlext='bundle'
-so='dylib'
-
-#
-# The default prefix would be '/usr/local'. But since many people are
-# likely to have still 3.3 machines on their network, we do not want
-# to overwrite possibly existing 3.3 binaries.
-# You can use Configure -Dprefix=/foo/bar to override this, or simply
-# remove the lines below.
-#
-case "$prefix" in
-'') prefix='/usr/local/OPENSTEP' ;;
-esac
-
-archname='OPENSTEP-Mach'
-
-#
-# At least on m68k there are situations when memcmp doesn't behave
-# as expected. So we'll use perl's memcmp.
-#
-d_sanemcmp='undef'
-
-d_strcoll='undef'
-i_dbm='define'
-i_utime='undef'
-groupstype='int'
-direntrytype='struct direct'
-
-usemymalloc='y'
-clocktype='int'
-
-#
-# On some NeXT machines, the timestamp put by ranlib is not correct, and
-# this may cause useless recompiles. Fix that by adding a sleep before
-# running ranlib. The '5' is an empirical number that's "long enough."
-# (Thanks to Andreas Koenig <k@franz.ww.tu-berlin.de>)
-ranlib='sleep 5; /bin/ranlib'
-
-case "$ldlibpthname" in
-'') ldlibpthname=DYLD_LIBRARY_PATH ;;
-esac
diff --git a/malloc.c b/malloc.c
index 79a8c89107..df5da21869 100644
--- a/malloc.c
+++ b/malloc.c
@@ -2309,7 +2309,7 @@ Perl_dump_mstats(pTHX_ const char *s)
#ifdef USE_PERL_SBRK
-# if defined(NeXT) || defined(__NeXT__) || defined(PURIFY)
+# if defined(PURIFY)
# define PERL_SBRK_VIA_MALLOC
# endif
diff --git a/perl.c b/perl.c
index 24ef155702..30b90cd723 100644
--- a/perl.c
+++ b/perl.c
@@ -306,11 +306,6 @@ perl_construct(pTHXx)
Zero(PL_sv_consts, SV_CONSTS_COUNT, SV*);
-#if defined(__DYNAMIC__) && (defined(NeXT) || defined(__NeXT__))
- _dyld_lookup_and_bind
- ("__environ", (unsigned long *) &environ_pointer, NULL);
-#endif /* environ */
-
#ifndef PERL_MICRO
# ifdef USE_ENVIRON_ARRAY
PL_origenviron = environ;
diff --git a/perl.h b/perl.h
index 4181942abb..d6d9407485 100644
--- a/perl.h
+++ b/perl.h
@@ -689,21 +689,7 @@
# endif
#endif
-#ifdef USE_NEXT_CTYPE
-
-#if NX_CURRENT_COMPILER_RELEASE >= 500
-# include <bsd/ctypes.h>
-#else
-# if NX_CURRENT_COMPILER_RELEASE >= 400
-# include <objc/NXCType.h>
-# else /* NX_CURRENT_COMPILER_RELEASE < 400 */
-# include <appkit/NXCType.h>
-# endif /* NX_CURRENT_COMPILER_RELEASE >= 400 */
-#endif /* NX_CURRENT_COMPILER_RELEASE >= 500 */
-
-#else /* !USE_NEXT_CTYPE */
#include <ctype.h>
-#endif /* USE_NEXT_CTYPE */
#ifdef METHOD /* Defined by OSF/1 v3.0 by ctype.h */
#undef METHOD
@@ -1341,10 +1327,6 @@ EXTERN_C char *crypt(const char *, const char *);
/* Configure already sets Direntry_t */
#if defined(I_DIRENT)
# include <dirent.h>
- /* NeXT needs dirent + sys/dir.h */
-# if defined(I_SYS_DIR) && (defined(NeXT) || defined(__NeXT__))
-# include <sys/dir.h>
-# endif
#else
# ifdef I_SYS_NDIR
# include <sys/ndir.h>
@@ -2698,9 +2680,6 @@ freeing any remaining Perl interpreters.
# else
# ifdef I_MACH_CTHREADS
# include <mach/cthreads.h>
-# if (defined(NeXT) || defined(__NeXT__)) && defined(PERL_POLLUTE_MALLOC)
-# define MUTEX_INIT_CALLS_MALLOC
-# endif
typedef cthread_t perl_os_thread;
typedef mutex_t perl_mutex;
typedef condition_t perl_cond;
@@ -3936,15 +3915,11 @@ END_EXTERN_C
#endif
#ifndef __cplusplus
-# if defined(NeXT) || defined(__NeXT__) /* or whatever catches all NeXTs */
-char *crypt (); /* Maybe more hosts will need the unprototyped version */
-# else
-# if !defined(WIN32) && !defined(VMS)
+# if !defined(WIN32) && !defined(VMS)
#ifndef crypt
char *crypt (const char*, const char*);
#endif
-# endif /* !WIN32 */
-# endif /* !NeXT && !__NeXT__ */
+# endif /* !WIN32 */
# ifndef DONT_DECLARE_STD
# ifndef getenv
char *getenv (const char*);
@@ -4146,19 +4121,9 @@ typedef OP* (*PPADDR_t[]) (pTHX);
typedef bool (*destroyable_proc_t) (pTHX_ SV *sv);
typedef void (*despatch_signals_proc_t) (pTHX);
-/* NeXT has problems with crt0.o globals */
-#if defined(__DYNAMIC__) && \
- (defined(NeXT) || defined(__NeXT__) || defined(PERL_DARWIN))
-# if defined(NeXT) || defined(__NeXT)
-# include <mach-o/dyld.h>
-# define environ (*environ_pointer)
-EXT char *** environ_pointer;
-# else
-# if defined(PERL_DARWIN) && defined(PERL_CORE)
-# include <crt_externs.h> /* for the env array */
-# define environ (*_NSGetEnviron())
-# endif
-# endif
+#if defined(__DYNAMIC__) && defined(PERL_DARWIN) && defined(PERL_CORE)
+# include <crt_externs.h> /* for the env array */
+# define environ (*_NSGetEnviron())
#else
/* VMS and some other platforms don't use the environ array */
# ifdef USE_ENVIRON_ARRAY
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 803b668b2b..808692b95a 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -516,9 +516,12 @@ XXX List any platforms that this version of perl no longer compiles on.
=over 4
-=item XXX-some-platform
+=item NeXTSTEP/OPENSTEP
-XXX
+NeXTSTEP was proprietary OS bundled with NeXT's workstations in the early
+to mid 90's; OPENSTEP was an API specification that provided a NeXTSTEP-like
+environment on a non-NeXTSTEP system. Both are now long dead, so support
+for building Perl on them has been removed.
=back
diff --git a/pp_sys.c b/pp_sys.c
index 74ee0722e8..e30433fc0f 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -179,10 +179,6 @@ static const char zero_but_true[ZBTLEN + 1] = "0 but true";
# include <sys/access.h>
#endif
-#if defined(HAS_FCNTL) && defined(F_SETFD) && !defined(FD_CLOEXEC)
-# define FD_CLOEXEC 1 /* NeXT needs this */
-#endif
-
#include "reentr.h"
#ifdef __Lynx__
@@ -1155,7 +1151,7 @@ PP(pp_sselect)
/* If SELECT_MIN_BITS is greater than one we most probably will want
* to align the sizes with SELECT_MIN_BITS/8 because for example
* in many little-endian (Intel, Alpha) systems (Linux, OS/2, Digital
- * UNIX, Solaris, NeXT, Darwin) the smallest quantum select() operates
+ * UNIX, Solaris, Darwin) the smallest quantum select() operates
* on (sets/tests/clears bits) is 32 bits. */
growsize = maxlen + (SELECT_MIN_BITS/8 - (maxlen % (SELECT_MIN_BITS/8)));
# endif
diff --git a/uconfig.h b/uconfig.h
index 6707d66fad..39a1e58448 100644
--- a/uconfig.h
+++ b/uconfig.h
@@ -943,17 +943,8 @@
* This symbol holds the hexadecimal constant defined in byteorder,
* in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
* If the compiler supports cross-compiling or multiple-architecture
- * binaries (e.g. on NeXT systems), use compiler-defined macros to
+ * binaries, use compiler-defined macros to
* determine the byte order.
- * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
- * Binaries (MAB) on either big endian or little endian machines.
- * The endian-ness is available at compile-time. This only matters
- * for perl, where the config.h can be generated and installed on
- * one system, and used by a different architecture to build an
- * extension. Older versions of NeXT that might not have
- * defined either *_ENDIAN__ were all on Motorola 680x0 series,
- * so the default case (for NeXT) is big endian to catch them.
- * This might matter for NeXT 3.0.
*/
#if defined(MULTIARCH)
# ifdef __LITTLE_ENDIAN__
@@ -975,12 +966,9 @@
# endif
# endif
# endif
-# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
-# define BYTEORDER 0x4321
-# endif
#else
#define BYTEORDER 0x1234 /* large digits for MSB */
-#endif /* NeXT */
+#endif
/* CHARBITS:
* This symbol contains the size of a char, so that the C preprocessor
@@ -4755,6 +4743,6 @@
#endif
/* Generated from:
- * 611edf01f1919fa67b739fd66ee8691021498ca8029accb0ecd74d6352d4570c config_h.SH
+ * 31ce7cefcb0f86eaa5c45e7b007073a86b0a7ec8367f1f489e0839f2033a90fc config_h.SH
* d4c6d7b05a17c792e1a29260fa58783614c7895971bc5a3ab830a39303a2be03 uconfig.sh
* ex: set ro: */
diff --git a/util.c b/util.c
index fca71321f3..6b09db499d 100644
--- a/util.c
+++ b/util.c
@@ -67,10 +67,6 @@ int putenv(char *);
#define FLUSH
-#if defined(HAS_FCNTL) && defined(F_SETFD) && !defined(FD_CLOEXEC)
-# define FD_CLOEXEC 1 /* NeXT needs this */
-#endif
-
/* NOTE: Do not call the next three routines directly. Use the macros
* in handy.h, so that we can easily redefine everything to do tracking of
* allocated hunks back to the original New to track down any memory leaks.