Use "Mac OS X" for 10.0-10.7, "OS X" for 10.8-10.11, "macOS" for 10.12+.
In the configure script check, direct the user to the Mac App Store to
update the OS on 10.8 and later, instead of Software Update.
The OBJC compiler variable is not used anywhere in base, not even in the
suffix rule for compiling '.m' source files. As there are no Objective-C
source files, completely remove this rule.
You can't tell whether configure.cxx_stdlib was overridden by a port if
it was not recorded at install time. This creates a problem for users
upgrading from versions of MacPorts that did not record it: rev-upgrade
will think that ports that do override it are broken, because they do
not follow the global cxx_stdlib setting.
Therefore, to ease the transition, keep a list of ports that are known
to override the setting, and when upgrading base, set the flag in the
registry for those ports if it is currently null.
Closes: https://trac.macports.org/ticket/56326
Move all implementations that are meant for older systems to their own
directory in order to be able to reuse the objects without copying *.c
files around.
Include an implementation of getline for old systems that do not provide
it in their libc. On macOS, getline should be available as of 10.7 Lion.
This implementation is based on NetBSD's nbcompat library:
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/pkgtools/libnbcompat/
- GNU sed has supported -E for a long time. In addition, `-E` has been
POSIX since 2012. http://austingroupbugs.net/view.php?id=528#c1112
- readlink has been in POSIX even longer. Removal of this check breaks
macOS 10.3 and lower.
This is already broken in configure
```
31 10.0*|10.1|10.1.*|10.2*|10.3*)
32 AC_MSG_ERROR([This version of Mac OS X is not supported
```
- While here, change autogen.sh to use autoreconf
Fixes compilation warnings:
darwintrace.c:330:12: warning: 'OSAtomicCompareAndSwapPtr' is deprecated:
first deprecated in macOS 10.12 - Use atomic_compare_exchange_strong_explicit(memory_order_relaxed)
from <stdatomic.h> instead [-Wdeprecated-declarations]
After removal of cflib and tclobjc, there is no code requiring
a Objective-C runtime or oundation libraries in base anymore.
The autoconf macros PTHREAD_LIBS or PTHREAD_CFLAGS are not used and have
no other references in the configure script. Therefore this is now also
unused code and can safely be removed.
Extract the vendor tarballs in order to avoid significant increases of
the repository size on updates. Rename the configure functionality from
MP_CONFIG_TARBALL to MP_CONFIG_SUBDIR.
Update vendor source versions: Tcl 8.5.19, tcllib 1.18