<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-legacy-support.

</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/9f937e76762adfb0cb9a770f64154cc9668b841a">https://github.com/macports/macports-legacy-support/commit/9f937e76762adfb0cb9a770f64154cc9668b841a</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 9f937e76762adfb0cb9a770f64154cc9668b841a
</span>Author: Mihai Moldovan <ionic@ionic.de>
AuthorDate: Sat Dec 7 12:37:13 2019 +0100

<span style='display:block; white-space:pre;color:#404040;'>    README.md: add general build instructions and document the new special variables PLATFORM and FORCE_ARCH.
</span>---
 README.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

<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 8ad1092..d67c20e 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,7 @@
</span> # MacPorts Support for Legacy OSX Versions
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+## Features
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>@@ -130,3 +132,56 @@ Wrapped headers are:
</span>     <td>OSX10.10</td>
   </tr>
 </table>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+## Building
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This project does currently *not* use a configuration phase.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Instead, configuration is supposed to take place by overriding the main
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+`Makefile`'s variables, either via environment variables, command line
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+parameters to the `make` call itself or modification of the main `Makefile`.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+`GNU make` is a hard build dependency.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Most variables contain paths to various tools. Unless explicitly stated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+otherwise, both system (BSD-derived) and `GNU coreutils` variants should work,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+with a preference for the native system tools.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+### Special variables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#### `PLATFORM`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Major Darwin (not [Mac] OS X/macOS!) version to target against.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This is typically detected automatically, but can also be overridden manually
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to test builds for other OS versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Some symbols must be built multiple times. Each variant will use a different
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+data layout and have a special postfix appended to it. The data layouts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported and needed depend upon the architecture and (target) OS version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#### `FORCE_ARCH`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Exactly one single architecture to build for.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Older versions of `lipo` do not support the `-archs` flag, so automatic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+architecture detection via binary/object file inspection will *not* be possible
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+on older platforms.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In order to avoid an additional dependency, and, arguably more importantly, a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+circular dependency with the `cctools` port providing newer `lipo` versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+within `MacPorts`, this variable was introduced. It disables the automatic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+architecture detection feature and instead hardcodes the contained value as the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+target architecture.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Within `MacPorts`, we use it in universal (multi-architecture) builds with one
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pass per architecture. Eventually, the `MacPorts` system/`muniversal` PortGroup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+will merge the resulting binaries into one fat/universal binary automatically.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+**This variable takes one single value only. It is not a list.**
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If your `lipo` binary is new enough and supports the `-archs` flag, you will
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+*not* need to use this variable. Instead, directly build the software
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+universally in one pass via the usual `-arch` compiler flags. The
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+autodetection, split and merge features will then handle the different
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+architectures automatically.
</span></pre><pre style='margin:0'>

</pre>