]> granicus.if.org Git - vim/commitdiff
patch 7.4.1190 v7.4.1190
authorBram Moolenaar <Bram@vim.org>
Thu, 28 Jan 2016 14:34:25 +0000 (15:34 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 28 Jan 2016 14:34:25 +0000 (15:34 +0100)
Problem:    On OSX the default flag for dlopen() is different.
Solution:   Add RTLD_LOCAL in the configure check. (sv99, closes #604)

src/auto/configure
src/configure.in
src/version.c

index dfe46cae052e575304bd3ecd79a17feb88366aac..8dfecaf285534cd65a2d58bf53ce24120d7d1877 100755 (executable)
@@ -5991,7 +5991,9 @@ eof
 
 fi
 
-       if ${vi_cv_dll_name_python+:} false; then :
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's dll name" >&5
+$as_echo_n "checking Python's dll name... " >&6; }
+if ${vi_cv_dll_name_python+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -6002,7 +6004,8 @@ else
          fi
 
 fi
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_dll_name_python" >&5
+$as_echo "$vi_cv_dll_name_python" >&6; }
 
        PYTHON_LIBS="${vi_cv_path_python_plibs}"
        if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
@@ -6320,7 +6323,9 @@ eof
 
 fi
 
-       if ${vi_cv_dll_name_python3+:} false; then :
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python3's dll name" >&5
+$as_echo_n "checking Python3's dll name... " >&6; }
+if ${vi_cv_dll_name_python3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -6331,7 +6336,8 @@ else
          fi
 
 fi
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_dll_name_python3" >&5
+$as_echo "$vi_cv_dll_name_python3" >&6; }
 
         PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
         if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
@@ -6473,7 +6479,7 @@ else
     int no_rtl_global_needed_for(char *python_instsoname, char *prefix)
     {
       int needed = 0;
-      void* pylib = dlopen(python_instsoname, RTLD_LAZY);
+      void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL);
       if (pylib != 0)
       {
           void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome");
@@ -6539,7 +6545,7 @@ else
     int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix)
     {
       int needed = 0;
-      void* pylib = dlopen(python_instsoname, RTLD_LAZY);
+      void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL);
       if (pylib != 0)
       {
           void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome");
index e9ffa7bb19263afbf08160c10e597d265a699864..ffa0b2ded1ac746e05d2ac67eea59dbc71128a4f 100644 (file)
@@ -1219,7 +1219,7 @@ eof
              vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
            fi
        ])
-       AC_CACHE_VAL(vi_cv_dll_name_python,
+       AC_CACHE_CHECK(Python's dll name,vi_cv_dll_name_python,
        [
          if test "X$python_DLLLIBRARY" != "X"; then
            vi_cv_dll_name_python="$python_DLLLIBRARY"
@@ -1428,7 +1428,7 @@ eof
            vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
            vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
        ])
-       AC_CACHE_VAL(vi_cv_dll_name_python3,
+       AC_CACHE_CHECK(Python3's dll name,vi_cv_dll_name_python3,
        [
          if test "X$python3_DLLLIBRARY" != "X"; then
            vi_cv_dll_name_python3="$python3_DLLLIBRARY"
@@ -1540,7 +1540,7 @@ if test "$python_ok" = yes && test "$python3_ok" = yes; then
     int no_rtl_global_needed_for(char *python_instsoname, char *prefix)
     {
       int needed = 0;
-      void* pylib = dlopen(python_instsoname, RTLD_LAZY);
+      void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL);
       if (pylib != 0)
       {
           void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome");
@@ -1586,7 +1586,7 @@ if test "$python_ok" = yes && test "$python3_ok" = yes; then
     int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix)
     {
       int needed = 0;
-      void* pylib = dlopen(python_instsoname, RTLD_LAZY);
+      void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL);
       if (pylib != 0)
       {
           void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome");
index 338cb7a9a1696f73a7ff2149feee9e4e113e2c09..287bc93f910bd3c9b79fbe12d8bf430265745585 100644 (file)
@@ -746,6 +746,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1190,
 /**/
     1189,
 /**/