<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>