Hi,
I am curious about why don't you provide an arm64 version of homebrew to your developers.
To install arm64 homebrew in xcodecloud requires to compile packages from source. After 35 minutes still running ci_scripts/ci_post_clone.sh to install some packages:
arm-brew install coreutils
arm-brew install bash awk grep cat
arm-brew install make
arm-brew install gnu-tar gzip bzip2 xz
arm-brew install automake autoconf m4 libtool
arm-brew install llvm
arm-brew install perl perl-build pod2man python3 meson ninja sqlite libtasn1 openssl libiconv gettext
Further I need continues integration to build universal binaries and libraries. Maybe run the integration test suite, too.
I think xcodecloud should provide arm64 and x86_64 versions of homebrew. Please consider this change.
Hi, I choose the occasion to improve my build system. So that I have one makefile per dependency.
The point is, you have to deal with the situation that xcodecloud can provide you either x86_64 or arm64 runner.
Detect architecture as usual, this is from <glib.mk> file which is included in main <makefile>:
glib: gettext
ifeq ("$(shell arch)", "arm64")
ifeq ("$(wildcard ${STAMPSDIR}/glib-arm64.stamp)","")
$(MAKE) glib-arm64
mkdir -p ${STAMPSDIR} && touch ${STAMPSDIR}/glib-arm64.stamp
endif
else
ifeq ("$(wildcard ${STAMPSDIR}/glib-x86_64.stamp)","")
$(MAKE) glib-x86_64
mkdir -p ${STAMPSDIR} && touch ${STAMPSDIR}/glib-x86_64.stamp
endif
endif
I still can build universal binaries, but won't do so if environment variable ${CI_XCODE_CLOUD} is present.
by Joël