<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-legacy-support.
</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/e16eb7d479842e25f950c959be8d6793b971c874">https://github.com/macports/macports-legacy-support/commit/e16eb7d479842e25f950c959be8d6793b971c874</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit e16eb7d479842e25f950c959be8d6793b971c874
</span>Author: Mihai Moldovan <ionic@ionic.de>
AuthorDate: Tue Mar 19 06:34:54 2019 +0100
<span style='display:block; white-space:pre;color:#404040;'> README.md: rework as table, minor fixes.
</span>---
README.md | 141 ++++++++++++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 110 insertions(+), 31 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/README.md b/README.md
</span><span style='display:block; white-space:pre;color:#808080;'>index 4259c7c..3e66116 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/README.md
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/README.md
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# MacPorts Support for legacy OSX versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# MacPorts Support for Legacy OSX Versions
</span>
Installs a number of wrapper headers around system headers that add
functionality missing in various older OSX releases.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,35 +8,115 @@ the missing features and then forward include the original header.
</span> So using these headers instead of the originals should be transparent.
Missing functions are compiled into a library that must also be linked
<span style='display:block; white-space:pre;background:#ffe0e0;'>-into any builds using the wrapped headers. This is handled in [MacPorts](https://github.com/macports)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-via the legacysupport PortGroup.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+into any builds using the wrapped headers. This is handled in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[MacPorts](https://github.com/macports) via the `legacysupport` PortGroup.
</span>
Wrapped headers are:
<span style='display:block; white-space:pre;background:#ffe0e0;'>- - cmath : Adds the same functions as those provided by the herein math.h, in namespace std:: .
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - dirent.h : Adds `fdopendir` missing in OSX10.9 and older
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - math.h : Adds declaration of various `long long` methods missing in OSX10.6 and older, GCC 8 and older.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - pthread.h : Adds PTHREAD_RWLOCK_INITIALIZER for OSX10.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - stdio.h : Adds `getline` and `getdelim` functions missing in OSX10.6 and older.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - stdlib.h : Adds `posix_memalign` functional replacement,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- and wraps `realpath` to accept a NULL buffer argument,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- both for OSX10.5 and older. Adds `arc4random_uniform` and `arc4random_buf` missing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- on OSX10.6 and older.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - string.h : Adds `strnlen`, `strndup` and `memmem` functions missing in OSX10.6 and older.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - time.h : Adds `clock_gettime` function missing in OSX10.11 and older.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - wchar.h : Adds functions `wcsdup`, `wcsnlen`, `wcpcpy`, `wcpncpy`,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- `wcscasecmp`, `wcsncasecmp` missing in OSX10.6 and older.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - xlocale/\_wchar.h : Adds functions `wcscasecmp_l`, `wcsncasecmp_l`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- missing in OSX10.6 and older.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - sys/fcntl.h : Adds missing `O_CLOEXEC`, `AT_FDCWD`, `AT_EACCESS`, `AT_SYMLINK_NOFOLLOW`,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : `AT_SYMLINK_FOLLOW`, and `AT_REMOVEDIR` definitions as required.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - sys/fcntl.h : Adds `openat` function missing in OSX10.9 and older.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - sys/mman.h : Adds missing `MAP_ANONYMOUS` definition as required.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - sys/stdio.h : Adds `renameat` function missing in OSX10.9 and older.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - sys/stat.h : Adds `fchmodat`, `fstatat`, and `mkdirat` functions missing in OSX10.9 and older.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : Adds "lchmod", missing in OSX10.4.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - sys/unistd.h : Adds `getattrlistat`, `readlinkat`, `faccessat`, `fchownat`, `linkat`, `symlinkat`,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- and `unlinkat` functions missing in OSX10.9 and older.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Also wraps `sysconf` on OSX10.4 to support `_SC_NPROCESSORS_CONF`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- and `_SC_NPROCESSORS_ONLN`.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<table>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <th>Header File</th>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <th>Feature</th>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <th>Max Version Needing Feature</th>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td><code>cmath</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds the same functions as those provided by the herein <code>math.h</code>,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ in namespace <code>std::</code>.</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>see <code>math.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td><code>dirent.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>fdopendir</code> function</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.9</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td><code>math.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds declaration of various <code>long long</code> methods</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.6, GCC 8</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td><code>pthread.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>PTHREAD_RWLOCK_INITIALIZER</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.4</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td><code>stdio.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>getline</code> and <code>getdelim</code> functions</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.6</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td rowspan="2"><code>stdlib.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>posix_memalign</code> functional replacement, and wraps <code>realpath</code>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ to accept a <code>NULL</code> buffer argument</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.5</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>arc4random_uniform</code> and <code>arc4random_buf</code> functions</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.6</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td><code>string.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>strnlen</code>, <code>strndup</code> and <code>memmem</code> functions</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.6</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td><code>time.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>clock_gettime</code> function</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.11</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td><code>wchar.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>wcsdup</code>, <code>wcsnlen</code>, <code>wcpcpy</code>,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <code>wcpncpy</code>, <code>wcscasecmp</code>, and <code>wcsncasecmp</code>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ functions</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.6</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td><code>xlocale/_wchar.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>wcscasecmp_l</code>, <code>wcsncasecmp_l</code> functions</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.6</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td rowspan="2"><code>sys/fcntl.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds missing <code>O_CLOEXEC</code>, <code>AT_FDCWD</code>, <code>AT_EACCESS</code>,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <code>AT_SYMLINK_NOFOLLOW</code>, <code>AT_SYMLINK_FOLLOW</code>, and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <code>AT_REMOVEDIR</code> definitions</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>as required (?)</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>openat</code> function</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.9</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td><code>sys/mman.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds missing <code>MAP_ANONYMOUS</code> definition</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>as required (?)</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td><code>sys/stdio.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>renameat</code> function</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.9</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td rowspan="2"><code>sys/stat.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>fchmodat</code>, <code>fstatat</code>, and <code>mkdirat</code> functions</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.9</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>lchmod</code> function</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.4</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td rowspan="2"><code>sys/unistd.h</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>getattrlistat</code>, <code>readlinkat</code>, <code>faccessat</code>,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <code>fchownat</code>, <code>linkat</code>, <code>symlinkat</code>,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ and <code>unlinkat</code> functions</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.9</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Wraps <code>sysconf</code> to support <code>_SC_NPROCESSORS_CONF</code> and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <code>_SC_NPROCESSORS_ONLN</code></td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>OSX10.4</td>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+</table>
</span></pre><pre style='margin:0'>
</pre>