Mercurial > vim
comparison src/configure.in @ 7786:0ee0c7729f28 v7.4.1190
commit https://github.com/vim/vim/commit/ba59ddbd3642d02614acbe52694e3e8a78c0e9d3
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jan 28 15:34:25 2016 +0100
patch 7.4.1190
Problem: On OSX the default flag for dlopen() is different.
Solution: Add RTLD_LOCAL in the configure check. (sv99, closes https://github.com/vim/vim/issues/604)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 28 Jan 2016 15:45:05 +0100 |
parents | 3a1b60f5e89b |
children | cf744110897d |
comparison
equal
deleted
inserted
replaced
7785:9420058dfec6 | 7786:0ee0c7729f28 |
---|---|
1217 vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}" | 1217 vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}" |
1218 dnl remove -ltermcap, it can conflict with an earlier -lncurses | 1218 dnl remove -ltermcap, it can conflict with an earlier -lncurses |
1219 vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//` | 1219 vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//` |
1220 fi | 1220 fi |
1221 ]) | 1221 ]) |
1222 AC_CACHE_VAL(vi_cv_dll_name_python, | 1222 AC_CACHE_CHECK(Python's dll name,vi_cv_dll_name_python, |
1223 [ | 1223 [ |
1224 if test "X$python_DLLLIBRARY" != "X"; then | 1224 if test "X$python_DLLLIBRARY" != "X"; then |
1225 vi_cv_dll_name_python="$python_DLLLIBRARY" | 1225 vi_cv_dll_name_python="$python_DLLLIBRARY" |
1226 else | 1226 else |
1227 vi_cv_dll_name_python="$python_INSTSONAME" | 1227 vi_cv_dll_name_python="$python_INSTSONAME" |
1426 vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}" | 1426 vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}" |
1427 dnl remove -ltermcap, it can conflict with an earlier -lncurses | 1427 dnl remove -ltermcap, it can conflict with an earlier -lncurses |
1428 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//` | 1428 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//` |
1429 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//` | 1429 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//` |
1430 ]) | 1430 ]) |
1431 AC_CACHE_VAL(vi_cv_dll_name_python3, | 1431 AC_CACHE_CHECK(Python3's dll name,vi_cv_dll_name_python3, |
1432 [ | 1432 [ |
1433 if test "X$python3_DLLLIBRARY" != "X"; then | 1433 if test "X$python3_DLLLIBRARY" != "X"; then |
1434 vi_cv_dll_name_python3="$python3_DLLLIBRARY" | 1434 vi_cv_dll_name_python3="$python3_DLLLIBRARY" |
1435 else | 1435 else |
1436 vi_cv_dll_name_python3="$python3_INSTSONAME" | 1436 vi_cv_dll_name_python3="$python3_INSTSONAME" |
1538 */ | 1538 */ |
1539 | 1539 |
1540 int no_rtl_global_needed_for(char *python_instsoname, char *prefix) | 1540 int no_rtl_global_needed_for(char *python_instsoname, char *prefix) |
1541 { | 1541 { |
1542 int needed = 0; | 1542 int needed = 0; |
1543 void* pylib = dlopen(python_instsoname, RTLD_LAZY); | 1543 void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL); |
1544 if (pylib != 0) | 1544 if (pylib != 0) |
1545 { | 1545 { |
1546 void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome"); | 1546 void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome"); |
1547 void (*init)(void) = dlsym(pylib, "Py_Initialize"); | 1547 void (*init)(void) = dlsym(pylib, "Py_Initialize"); |
1548 int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); | 1548 int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); |
1584 */ | 1584 */ |
1585 | 1585 |
1586 int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix) | 1586 int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix) |
1587 { | 1587 { |
1588 int needed = 0; | 1588 int needed = 0; |
1589 void* pylib = dlopen(python_instsoname, RTLD_LAZY); | 1589 void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL); |
1590 if (pylib != 0) | 1590 if (pylib != 0) |
1591 { | 1591 { |
1592 void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome"); | 1592 void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome"); |
1593 void (*init)(void) = dlsym(pylib, "Py_Initialize"); | 1593 void (*init)(void) = dlsym(pylib, "Py_Initialize"); |
1594 int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); | 1594 int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); |