--- configure.in.orig 2018-03-18 14:15:27 UTC +++ configure.in @@ -633,7 +633,7 @@ AC_DEFUN([RUBY_DTRACE_AVAILABLE], [AC_CACHE_CHECK(whether dtrace USDT is available, rb_cv_dtrace_available, [ echo "provider conftest{ probe fire(); };" > conftest_provider.d - if $DTRACE -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null; then + if $DTRACE -xnolibs -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null; then AC_TRY_COMPILE([@%:@include "conftest_provider.h"], [CONFTEST_FIRE();], [ # DTrace is available on the system rb_cv_dtrace_available=yes @@ -657,13 +657,13 @@ AC_DEFUN([RUBY_DTRACE_POSTPROCESS], probe fire(); }; _PROBES - $DTRACE -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null && + $DTRACE -xnolibs -h -o conftest_provider.h -s conftest_provider.d >/dev/null 2>/dev/null && : }; then AC_TRY_COMPILE([@%:@include "conftest_provider.h"], [CONFTEST_FIRE();], [ if { cp -p conftest.${ac_objext} conftest.${ac_objext}.save && - $DTRACE -G -s conftest_provider.d conftest.${ac_objext} 2>/dev/null && + $DTRACE -xnolibs -G -s conftest_provider.d conftest.${ac_objext} 2>/dev/null && : }; then if cmp -s conftest.o conftest.${ac_objext}.save; then @@ -1290,10 +1290,10 @@ main() ], [ LIBS="-lm $LIBS"]) -AC_CHECK_LIB(crypt, crypt) # glibc (GNU/Linux, GNU/Hurd, GNU/kFreeBSD) -AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/Solaris and SYSV -AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX -AC_CHECK_LIB(socket, shutdown) # SunOS/Solaris +AC_SEARCH_LIBS(crypt, crypt) # glibc (GNU/Linux, GNU/Hurd, GNU/kFreeBSD) +AC_SEARCH_LIBS(dlopen, dl) # Dynamic linking for SunOS/Solaris and SYSV +AC_SEARCH_LIBS(shl_load, dld) # Dynamic linking for HP-UX +AC_SEARCH_LIBS(shutdown, socket) # SunOS/Solaris dnl Checks for header files. AC_HEADER_DIRENT @@ -2450,7 +2450,7 @@ if test "$ac_cv_func_qsort_r" != no; the AC_CACHE_CHECK(whether qsort_r is GNU version, rb_cv_gnu_qsort_r, [AC_TRY_COMPILE([ @%:@include -void qsort_r(void *base, size_t nmemb, size_t size, +void (qsort_r)(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *, void *), void *arg); ],[ ], @@ -2460,7 +2460,7 @@ void qsort_r(void *base, size_t nmemb, s AC_CACHE_CHECK(whether qsort_r is BSD version, rb_cv_bsd_qsort_r, [AC_TRY_COMPILE([ @%:@include -void qsort_r(void *base, size_t nmemb, size_t size, +void (qsort_r)(void *base, size_t nmemb, size_t size, void *arg, int (*compar)(void *, const void *, const void *)); ],[ ], [rb_cv_bsd_qsort_r=yes], @@ -2549,7 +2549,7 @@ main(int argc, char **argv) if test x"$ac_cv_func_clock_gettime" != xyes; then # glibc 2.17 moves clock_* functions from librt to the main C library. # http://sourceware.org/ml/libc-announce/2012/msg00001.html - AC_CHECK_LIB(rt, clock_gettime) + AC_SEARCH_LIBS(clock_gettime, rt) if test x"$ac_cv_lib_rt_clock_gettime" = xyes; then AC_DEFINE(HAVE_CLOCK_GETTIME, 1) fi @@ -2956,7 +2956,7 @@ else fi if test x"$enable_pthread" = xyes; then - for pthread_lib in thr pthread pthreads c c_r root; do + for pthread_lib in pthread thr pthreads c c_r root; do AC_CHECK_LIB($pthread_lib, pthread_kill, rb_with_pthread=yes, rb_with_pthread=no) if test "$rb_with_pthread" = "yes"; then break; fi @@ -2970,6 +2970,7 @@ if test x"$enable_pthread" = xyes; then [c], [], [root], [], [c_r], [MAINLIBS="-pthread $MAINLIBS"], + [pthread], [MAINLIBS="-pthread $MAINLIBS"], [AS_CASE(["$target_os"], [openbsd*|mirbsd*], [LIBS="-pthread $LIBS"], [LIBS="-l$pthread_lib $LIBS"])]) @@ -3278,7 +3279,6 @@ if test "$with_dln_a_out" != yes; then : ${LDSHARED='$(CC) -shared'} if test "$rb_cv_binary_elf" = yes; then LDFLAGS="$LDFLAGS -rdynamic" - DLDFLAGS="$DLDFLAGS "'-Wl,-soname,$@' else test "$GCC" = yes && test "$rb_cv_prog_gnu_ld" = yes || LDSHARED='$(LD) -Bshareable' fi @@ -3751,6 +3751,7 @@ AS_CASE("$enable_shared", [yes], [ [freebsd*|dragonfly*], [ SOLIBS='$(LIBS)' LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)' + LIBRUBY_DLDFLAGS='-Wl,-soname,$(LIBRUBY_SO)' if test "$rb_cv_binary_elf" != "yes" ; then LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)" LIBRUBY_ALIASES=''