Skip to content

Commit 1f8d903

Browse files
authored
Merge pull request #1137 from ychin/fix-travis-ci-x86-only-configure-with-macarchs
Fix Travis CI to only build x86_64, and fix --with-macarchs flag
2 parents 3123f01 + db650bb commit 1f8d903

3 files changed

Lines changed: 24 additions & 3 deletions

File tree

.travis.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ env:
1818
vi_cv_dll_name_python3=/usr/local/Frameworks/Python.framework/Versions/3.9/Python
1919
vi_cv_dll_name_ruby=/usr/local/opt/ruby/lib/libruby.dylib
2020
VIMCMD=src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
21-
CONFOPT="--with-features=huge --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-gui=macvim"
21+
MACVIM_BIN=src/MacVim/build/Release/MacVim.app/Contents/MacOS/MacVim
22+
CONFOPT="--with-features=huge --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-gui=macvim --with-macarchs=x86_64"
2223
BASH_SILENCE_DEPRECATION_WARNING=1
2324

2425
_anchors:
@@ -85,6 +86,10 @@ script:
8586
# Make sure there isn't any dynamic linkage to third-party dependencies in the built binary, as we should only use
8687
# static linkage to avoid dependency hell. Test that all those dylib's are in /usr/lib which is bundled with macOS and not third-party.
8788
- (! otool -L ${VIMCMD} | grep '\.dylib\s' | grep -v '^\s*/usr/lib/')
89+
# Make sure we are building x86_64 only. arm64 builds don't work properly now, so we don't want to accidentally build
90+
# it as it will get prioritized by Apple Silicon Macs.
91+
- (lipo -archs ${VIMCMD} | grep '^x86_64$')
92+
- (lipo -archs ${MACVIM_BIN} | grep '^x86_64$')
8893
- echo -en "travis_fold:end:smoketest\\r\\033[0K"
8994

9095
# Run standard test suites.

src/auto/configure

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4758,7 +4758,15 @@ fi
47584758
$as_echo_n "checking if architectures are supported... " >&6; }
47594759
save_cflags="$CFLAGS"
47604760
save_ldflags="$LDFLAGS"
4761-
archflags=`echo "$ARCHS" | sed -e 's/[[:<:]]/-arch /g'`
4761+
4762+
# Apple's sed is supposed to treat [[:<:]] as word beginning, but seems
4763+
# like that broke some time ago and means *any* word character (but
4764+
# [[:>:]] still seems to work as word end).
4765+
# Use a more convoluted regex in order to properly to split the archs by
4766+
# word and prefix each with "-arch" to pass to the compiler.
4767+
#archflags=`echo "$ARCHS" | sed -e 's/[[[:<:]]]/-arch /g'`
4768+
archflags=`echo "$ARCHS" | sed 's/[[:>:]][ ][ ]*[[:<:]]/ -arch /g' | sed 's/^/-arch /g'`
4769+
47624770
CFLAGS="$CFLAGS $archflags"
47634771
LDFLAGS="$LDFLAGS $archflags"
47644772
cat confdefs.h - <<_ACEOF >conftest.$ac_ext

src/configure.ac

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,15 @@ if test "`(uname) 2>/dev/null`" = Darwin; then
273273
AC_MSG_CHECKING(if architectures are supported)
274274
save_cflags="$CFLAGS"
275275
save_ldflags="$LDFLAGS"
276-
archflags=`echo "$ARCHS" | sed -e 's/[[[:<:]]]/-arch /g'`
276+
277+
# Apple's sed is supposed to treat [[:<:]] as word beginning, but seems
278+
# like that broke some time ago and means *any* word character (but
279+
# [[:>:]] still seems to work as word end).
280+
# Use a more convoluted regex in order to properly to split the archs by
281+
# word and prefix each with "-arch" to pass to the compiler.
282+
#archflags=`echo "$ARCHS" | sed -e 's/[[[:<:]]]/-arch /g'`
283+
archflags=`echo "$ARCHS" | sed 's/[[[:>:]]][[ ]][[ ]]*[[[:<:]]]/ -arch /g' | sed 's/^/-arch /g'`
284+
277285
CFLAGS="$CFLAGS $archflags"
278286
LDFLAGS="$LDFLAGS $archflags"
279287
AC_TRY_LINK([ ], [ ],

0 commit comments

Comments
 (0)