Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ env:
vi_cv_dll_name_python3=/usr/local/Frameworks/Python.framework/Versions/3.9/Python
vi_cv_dll_name_ruby=/usr/local/opt/ruby/lib/libruby.dylib
VIMCMD=src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
CONFOPT="--with-features=huge --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-gui=macvim"
MACVIM_BIN=src/MacVim/build/Release/MacVim.app/Contents/MacOS/MacVim
CONFOPT="--with-features=huge --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-gui=macvim --with-macarchs=x86_64"
BASH_SILENCE_DEPRECATION_WARNING=1

_anchors:
Expand Down Expand Up @@ -85,6 +86,10 @@ script:
# Make sure there isn't any dynamic linkage to third-party dependencies in the built binary, as we should only use
# 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.
- (! otool -L ${VIMCMD} | grep '\.dylib\s' | grep -v '^\s*/usr/lib/')
# Make sure we are building x86_64 only. arm64 builds don't work properly now, so we don't want to accidentally build
# it as it will get prioritized by Apple Silicon Macs.
- (lipo -archs ${VIMCMD} | grep '^x86_64$')
- (lipo -archs ${MACVIM_BIN} | grep '^x86_64$')
- echo -en "travis_fold:end:smoketest\\r\\033[0K"

# Run standard test suites.
Expand Down
10 changes: 9 additions & 1 deletion src/auto/configure
Original file line number Diff line number Diff line change
Expand Up @@ -4758,7 +4758,15 @@ fi
$as_echo_n "checking if architectures are supported... " >&6; }
save_cflags="$CFLAGS"
save_ldflags="$LDFLAGS"
archflags=`echo "$ARCHS" | sed -e 's/[[:<:]]/-arch /g'`

# Apple's sed is supposed to treat [[:<:]] as word beginning, but seems
# like that broke some time ago and means *any* word character (but
# [[:>:]] still seems to work as word end).
# Use a more convoluted regex in order to properly to split the archs by
# word and prefix each with "-arch" to pass to the compiler.
#archflags=`echo "$ARCHS" | sed -e 's/[[[:<:]]]/-arch /g'`
archflags=`echo "$ARCHS" | sed 's/[[:>:]][ ][ ]*[[:<:]]/ -arch /g' | sed 's/^/-arch /g'`

CFLAGS="$CFLAGS $archflags"
LDFLAGS="$LDFLAGS $archflags"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
Expand Down
10 changes: 9 additions & 1 deletion src/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,15 @@ if test "`(uname) 2>/dev/null`" = Darwin; then
AC_MSG_CHECKING(if architectures are supported)
save_cflags="$CFLAGS"
save_ldflags="$LDFLAGS"
archflags=`echo "$ARCHS" | sed -e 's/[[[:<:]]]/-arch /g'`

# Apple's sed is supposed to treat [[:<:]] as word beginning, but seems
# like that broke some time ago and means *any* word character (but
# [[:>:]] still seems to work as word end).
# Use a more convoluted regex in order to properly to split the archs by
# word and prefix each with "-arch" to pass to the compiler.
#archflags=`echo "$ARCHS" | sed -e 's/[[[:<:]]]/-arch /g'`
archflags=`echo "$ARCHS" | sed 's/[[[:>:]]][[ ]][[ ]]*[[[:<:]]]/ -arch /g' | sed 's/^/-arch /g'`

CFLAGS="$CFLAGS $archflags"
LDFLAGS="$LDFLAGS $archflags"
AC_TRY_LINK([ ], [ ],
Expand Down