Skip to content

Instantly share code, notes, and snippets.

@koudelka
Created May 12, 2010 18:58
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save koudelka/398996 to your computer and use it in GitHub Desktop.
Save koudelka/398996 to your computer and use it in GitHub Desktop.
--- a/src/configure.in
+++ b/src/configure.in
@@ -993,11 +993,17 @@ AC_ARG_ENABLE(rubyinterp,
AC_MSG_RESULT($enable_rubyinterp)
if test "$enable_rubyinterp" = "yes"; then
AC_MSG_CHECKING(--with-ruby-command argument)
+ dnl If a ruby command was provided, set RUBY_CMD to the name of the binary and RUBY_PATH to its directory
AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)],
- RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD),
- RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD))
+ RUBY_PATH=`echo "$withval" | sed 's/\(.*\)\/\([[[^/]]]*\)$/\1/'`; RUBY_CMD=`echo "$withval" | sed 's/.*\/\([[[^/]]]*\)$/\1/'`; AC_MSG_RESULT($RUBY_CMD),
+ RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD)
+ )
+ if test $RUBY_PATH != $RUBY_CMD; then
+ AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD, "", $RUBY_PATH)
+ else
+ AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD)
+ fi
AC_SUBST(vi_cv_path_ruby)
- AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD)
if test "X$vi_cv_path_ruby" != "X"; then
AC_MSG_CHECKING(Ruby version)
if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
@@ -1022,20 +1028,24 @@ if test "$enable_rubyinterp" = "yes"; then
librubyarg="$rubyhdrdir/$librubyarg"
else
rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["libdir"]])'`
- if test -d "/System/Library/Frameworks/Ruby.framework"; then
- dnl On Mac OS X it is safer to just use the -framework flag
- RUBY_LIBS="-framework Ruby"
- dnl Don't include the -I flag when -framework is set
- RUBY_CFLAGS=
- librubyarg=
- elif test -f "$rubylibdir/$librubyarg"; then
- librubyarg="$rubylibdir/$librubyarg"
- elif test "$librubyarg" = "libruby.a"; then
- dnl required on Mac OS 10.3 where libruby.a doesn't exist
- librubyarg="-lruby"
- else
- librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{Config.expand(Config::CONFIG[\"libdir\"])}')"`
- fi
+ if test $RUBY_PATH != $RUBY_CMD; then
+ librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, '') << %' -L#{Config.expand(Config::CONFIG[\"libdir\"])}'"`
+ else
+ if test -d "/System/Library/Frameworks/Ruby.framework"; then
+ dnl On Mac OS X it is safer to just use the -framework flag
+ RUBY_LIBS="-framework Ruby"
+ dnl Don't include the -I flag when -framework is set
+ RUBY_CFLAGS=
+ librubyarg=
+ elif test -f "$rubylibdir/$librubyarg"; then
+ librubyarg="$rubylibdir/$librubyarg"
+ elif test "$librubyarg" = "libruby.a"; then
+ dnl required on Mac OS 10.3 where libruby.a doesn't exist
+ librubyarg="-lruby"
+ else
+ librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, '') << %' -L#{Config.expand(Config::CONFIG[\"lib
+ fi
+ fi
fi
if test "X$librubyarg" != "X"; then
@charlietanksley
Copy link

Great. Thanks again. When you said the patch would be applied to the primary repo, did you mean that rvm ought to work with MacVim by default in the near future?

@mattsoutherden
Copy link

Ah, so does this patch only make MacVim work when specifying an RVM Ruby from the --with-ruby-command configure args?

I was hoping that when I start MacVim using the 'mvim' command, that Vim would pick up the current RVM Ruby from the environment. Is that not so?

@jsmestad
Copy link

jsmestad commented Aug 7, 2010

Have the same question as mattshoutherden

@koudelka
Copy link
Author

koudelka commented Aug 7, 2010

mattsoutherden is right, this is only a patch to make the configure args work correctly.

As far as I know, It doesn't provide for switching ruby executables at runtime. If you need that functionality, it might be worth experimenting with passing a symlink to the configure script, then changing where it points at runtime.

Copy link

ghost commented Apr 16, 2011

Does this applies just fine for Vim 7.3.161? Or does it needs to be updated?

@koudelka
Copy link
Author

A similar patch was rolled into the main MacVim repo a while back, try there.

@danchoi
Copy link

danchoi commented Jul 5, 2011

Someone pointed me to this gist, but I have no idea what problem this Gist is supposed to solve. Can someone fill me in?

@koudelka
Copy link
Author

koudelka commented Jul 5, 2011

This is an old patch for macvim to get ruby working properly, an equivalent patch has been rolled into the project, afaik.

@danchoi
Copy link

danchoi commented Jul 5, 2011 via email

@koudelka
Copy link
Author

koudelka commented Jul 5, 2011

I'm not sure, the Command-T plugin used it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment