| From a75a88113ad8b46cb82be6a75de750d2407bf2fa Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= |
| <alexey.pawlow@gmail.com> |
| Date: Thu, 17 Jun 2021 18:51:44 +0530 |
| Subject: [PATCH 035/N] cross darwin feature |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| Co-authored-by: Алексей <alexey.pawlow@gmail.com> |
| --- |
| configure.ac | 54 +++++++++++++++++++++++++++++++++++++++++++++++----- |
| 1 file changed, 49 insertions(+), 5 deletions(-) |
| |
| diff --git a/configure.ac b/configure.ac |
| index fc287de..453b80f 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -398,6 +398,7 @@ if test -z "$MACHDEP" |
| then |
| # avoid using uname for cross builds |
| if test "$cross_compiling" = yes; then |
| + ac_sys_release= |
| # ac_sys_system and ac_sys_release are used for setting |
| # a lot of different things including 'define_xopen_source' |
| # in the case statement below. |
| @@ -411,6 +412,27 @@ then |
| *-*-cygwin*) |
| ac_sys_system=Cygwin |
| ;; |
| + *-*-darwin*) |
| + ac_sys_system=Darwin |
| + ac_sys_release=$(echo $host | sed -n 's/.*-[^0-9]\+\([0-9]\+\)/\1/p') |
| + if test -z "$ac_sys_release"; then |
| + # A reasonable default. |
| + ac_sys_release=11 |
| + fi |
| + # Use the last released version number for old versions. |
| + if test "$ac_sys_release" = "9" ; then |
| + ac_sys_release=9.8 |
| + elif test "$ac_sys_release" = "10" ; then |
| + ac_sys_release=10.8 |
| + elif test "$ac_sys_release" = "11" ; then |
| + ac_sys_release=11.4.0 |
| + elif test "$ac_sys_release" = "12" ; then |
| + ac_sys_release=12.0.0 |
| + else |
| + # ..and .0.0 for unknown versions. |
| + ac_sys_release=${ac_sys_release}.0.0 |
| + fi |
| + ;; |
| *-*-vxworks*) |
| ac_sys_system=VxWorks |
| ;; |
| @@ -419,7 +441,6 @@ then |
| MACHDEP="unknown" |
| AC_MSG_ERROR([cross build not supported for $host]) |
| esac |
| - ac_sys_release= |
| else |
| ac_sys_system=`uname -s` |
| if test "$ac_sys_system" = "AIX" \ |
| @@ -466,6 +487,9 @@ if test "$cross_compiling" = yes; then |
| *-*-mingw*) |
| _host_cpu= |
| ;; |
| + *-*-darwin*) |
| + _host_cpu= |
| + ;; |
| *) |
| # for now, limit cross builds to known configurations |
| MACHDEP="unknown" |
| @@ -1662,6 +1686,26 @@ AC_SUBST(BASECFLAGS) |
| AC_SUBST(CFLAGS_NODIST) |
| AC_SUBST(LDFLAGS_NODIST) |
| |
| +if test "x$cross_compiling" = xyes; then |
| + function cross_arch |
| + { |
| + case $host in |
| + x86_64*darwin*) |
| + echo i386 |
| + ;; |
| + x86_64*) |
| + echo x86_64 |
| + ;; |
| + *) |
| + echo i386 |
| + ;; |
| + esac |
| + } |
| + ARCH_PROG=cross_arch |
| +else |
| + ARCH_PROG=/usr/bin/arch |
| +fi |
| + |
| # The -arch flags for universal builds on macOS |
| UNIVERSAL_ARCH_FLAGS= |
| AC_SUBST(UNIVERSAL_ARCH_FLAGS) |
| @@ -2040,7 +2084,7 @@ yes) |
| ;; |
| esac |
| else |
| - if test `/usr/bin/arch` = "i386" |
| + if test "$($ARCH_PROG)" = "i386" |
| then |
| # 10.4 was the first release to support Intel archs |
| cur_target="10.4" |
| @@ -2606,7 +2650,7 @@ case $ac_sys_system/$ac_sys_release in |
| if test "${enable_universalsdk}"; then |
| : |
| else |
| - LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only `/usr/bin/arch`" |
| + LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only $($ARCH_PROG)" |
| fi |
| LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' |
| LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';; |
| @@ -2631,7 +2675,7 @@ case $ac_sys_system/$ac_sys_release in |
| ]])],[ac_osx_32bit=yes],[ac_osx_32bit=no],[ac_osx_32bit=yes]) |
| |
| if test "${ac_osx_32bit}" = "yes"; then |
| - case `/usr/bin/arch` in |
| + case $($ARCH_PROG) in |
| i386) |
| MACOSX_DEFAULT_ARCH="i386" |
| ;; |
| @@ -2643,7 +2687,7 @@ case $ac_sys_system/$ac_sys_release in |
| ;; |
| esac |
| else |
| - case `/usr/bin/arch` in |
| + case $($ARCH_PROG) in |
| i386) |
| MACOSX_DEFAULT_ARCH="x86_64" |
| ;; |
| -- |
| 2.32.0 |
| |