Patch 7.4a.029
Problem:    Can't build with MzScheme on Ubuntu 13.04.
Solution:   Add configure check for the "ffi" library.
Files:      src/configure.in, src/auto/configure


*** ../vim-7.4a.028/src/configure.in    2013-07-12 20:07:17.000000000 +0200
--- src/configure.in    2013-07-17 18:52:12.000000000 +0200
***************
*** 702,713 ****
        AC_MSG_RESULT(not needed)
      fi
  
      MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
        -DMZSCHEME_COLLECTS='\"${SCHEME_COLLECTS}collects\"'"
!     MZSCHEME_SRC="if_mzsch.c"
!     MZSCHEME_OBJ="objects/if_mzsch.o"
!     MZSCHEME_PRO="if_mzsch.pro"
!     AC_DEFINE(FEAT_MZSCHEME)
    fi
    AC_SUBST(MZSCHEME_SRC)
    AC_SUBST(MZSCHEME_OBJ)
--- 702,735 ----
        AC_MSG_RESULT(not needed)
      fi
  
+     dnl On Ubuntu this fixes "undefined reference to symbol 'ffi_type_void'".
+     AC_CHECK_LIB(ffi, ffi_type_void, [MZSCHEME_LIBS="$MZSCHEME_LIBS -lffi"])
+ 
      MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
        -DMZSCHEME_COLLECTS='\"${SCHEME_COLLECTS}collects\"'"
! 
!     dnl Test that we can compile a simple program with these CFLAGS and LIBS.
!     AC_MSG_CHECKING([if compile and link flags for MzScheme are sane])
!     cflags_save=$CFLAGS
!     libs_save=$LIBS
!     CFLAGS="$CFLAGS $MZSCHEME_CFLAGS"
!     LIBS="$LIBS $MZSCHEME_LIBS"
!     AC_TRY_LINK(,[ ],
!          AC_MSG_RESULT(yes); mzs_ok=yes,
!          AC_MSG_RESULT(no: MZSCHEME DISABLED); mzs_ok=no)
!     CFLAGS=$cflags_save
!     LIBS=$libs_save
!     if test $mzs_ok = yes; then
!       MZSCHEME_SRC="if_mzsch.c"
!       MZSCHEME_OBJ="objects/if_mzsch.o"
!       MZSCHEME_PRO="if_mzsch.pro"
!       AC_DEFINE(FEAT_MZSCHEME)
!     else
!       MZSCHEME_CFLAGS=
!       MZSCHEME_LIBS=
!       MZSCHEME_EXTRA=
!       MZSCHEME_MZC=
!     fi
    fi
    AC_SUBST(MZSCHEME_SRC)
    AC_SUBST(MZSCHEME_OBJ)
*** ../vim-7.4a.028/src/auto/configure  2013-07-12 20:07:17.000000000 +0200
--- src/auto/configure  2013-07-17 18:52:16.000000000 +0200
***************
*** 5014,5026 ****
  $as_echo "not needed" >&6; }
      fi
  
      MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
        -DMZSCHEME_COLLECTS='\"${SCHEME_COLLECTS}collects\"'"
-     MZSCHEME_SRC="if_mzsch.c"
-     MZSCHEME_OBJ="objects/if_mzsch.o"
-     MZSCHEME_PRO="if_mzsch.pro"
-     $as_echo "#define FEAT_MZSCHEME 1" >>confdefs.h
  
    fi
  
  
--- 5014,5103 ----
  $as_echo "not needed" >&6; }
      fi
  
+         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ffi_type_void 
in -lffi" >&5
+ $as_echo_n "checking for ffi_type_void in -lffi... " >&6; }
+ if test "${ac_cv_lib_ffi_ffi_type_void+set}" = set; then :
+   $as_echo_n "(cached) " >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lffi  $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
+ /* Override any GCC internal prototype to avoid an error.
+    Use char because int might match the return type of a GCC
+    builtin and then its argument prototype would still apply.  */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ char ffi_type_void ();
+ int
+ main ()
+ {
+ return ffi_type_void ();
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+   ac_cv_lib_ffi_ffi_type_void=yes
+ else
+   ac_cv_lib_ffi_ffi_type_void=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 
$ac_cv_lib_ffi_ffi_type_void" >&5
+ $as_echo "$ac_cv_lib_ffi_ffi_type_void" >&6; }
+ if test "x$ac_cv_lib_ffi_ffi_type_void" = x""yes; then :
+   MZSCHEME_LIBS="$MZSCHEME_LIBS -lffi"
+ fi
+ 
+ 
      MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
        -DMZSCHEME_COLLECTS='\"${SCHEME_COLLECTS}collects\"'"
  
+         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compile and link 
flags for MzScheme are sane" >&5
+ $as_echo_n "checking if compile and link flags for MzScheme are sane... " 
>&6; }
+     cflags_save=$CFLAGS
+     libs_save=$LIBS
+     CFLAGS="$CFLAGS $MZSCHEME_CFLAGS"
+     LIBS="$LIBS $MZSCHEME_LIBS"
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
+ int
+ main ()
+ {
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }; mzs_ok=yes
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no: MZSCHEME DISABLED" >&5
+ $as_echo "no: MZSCHEME DISABLED" >&6; }; mzs_ok=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+     CFLAGS=$cflags_save
+     LIBS=$libs_save
+     if test $mzs_ok = yes; then
+       MZSCHEME_SRC="if_mzsch.c"
+       MZSCHEME_OBJ="objects/if_mzsch.o"
+       MZSCHEME_PRO="if_mzsch.pro"
+       $as_echo "#define FEAT_MZSCHEME 1" >>confdefs.h
+ 
+     else
+       MZSCHEME_CFLAGS=
+       MZSCHEME_LIBS=
+       MZSCHEME_EXTRA=
+       MZSCHEME_MZC=
+     fi
    fi
  
  
*** ../vim-7.4a.028/src/version.c       2013-07-17 17:35:07.000000000 +0200
--- src/version.c       2013-07-17 18:56:32.000000000 +0200
***************
*** 729,730 ****
--- 729,732 ----
  {   /* Add new patch number below this line */
+ /**/
+     29,
  /**/

-- 
Engineers understand that their appearance only bothers other people and
therefore it is not worth optimizing.
                                (Scott Adams - The Dilbert principle)

 /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Raspunde prin e-mail lui