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

</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/1010bab0f42cdee1a72e6b86c976d9394a7227f6">https://github.com/macports/macports-legacy-support/commit/1010bab0f42cdee1a72e6b86c976d9394a7227f6</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 1010bab0f42cdee1a72e6b86c976d9394a7227f6
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Fri Nov 15 19:17:21 2024 -0800

<span style='display:block; white-space:pre;color:#404040;'>    Add tool to create temporary tool Makefile.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This creates a simple Makefile for C programs, with architecture(s)
</span><span style='display:block; white-space:pre;color:#404040;'>    derived from macports.conf.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'>    Makefile has proper architectures with all options on all platforms.
</span>---
 tools/archsetup.sh | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tools/archsetup.sh b/tools/archsetup.sh
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..bbf67da
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tools/archsetup.sh
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,76 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#! /bin/bash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Tool to create temporary simple "C" Makefile for misc tools, based on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# the architecture settings in macports.conf.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Usage is: archsetup.sh [-m32|-m64|-unv] [<output dir>]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Options modify the architecture specification.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DIR=$(dirname "$0")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+OPT=""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+case "$1" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  "-m32" | "-m64" | "-unv" )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    OPT="$1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    shift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if [ "$1" != "" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  DEST="$1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  DEST="$DIR"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PREFIX="/opt/local/"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CONF="$PREFIX/etc/macports/macports.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+OUT="Makefile"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+BUILD_ARCH="$(grep '^build_arch' $CONF | awk '{print $2}')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+UNV_ARCHS="$(grep '^universal_archs' $CONF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             | sed 's|universal_archs[[:blank:]]*||')"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+case "$OPT" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  "-m32" )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    case "$BUILD_ARCH" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      "ppc64" )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ARCHS="ppc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      "x86_64" )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ARCHS="i386"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      * )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ARCHS="$BUILD_ARCH"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  "-m64" )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    case "$BUILD_ARCH" in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      "ppc" | "ppc7400" )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ARCHS="ppc64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      "i386" )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ARCHS="x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      * )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ARCHS="$BUILD_ARCH"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  "-unv" )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ARCHS="$UNV_ARCHS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ARCHS="$BUILD_ARCH"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if [ "$CC" == "" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  CC="cc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ARCHFLAGS="$(for a in $ARCHS; do echo -n ' -arch' $a; done)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CCCMD=$'\t'"$CC$ARCHFLAGS \$^ -o \$@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cat >"$DEST/$OUT" <<EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+%: %.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+$CCCMD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+EOF
</span></pre><pre style='margin:0'>

</pre>