@@ -856,6 +856,22 @@ if test "$GCC" = yes; then
856856 for oflag in -fno-fast-math; do
857857 RUBY_TRY_CFLAGS($oflag, [RUBY_APPEND_OPTION(optflags, $oflag)])
858858 done
859+ AS_CASE(["$target"],
860+ [*-darwin*], [
861+ # doesn't seem necessary on Mac OS X
862+ ],
863+ [[i[4-6]86*]], [
864+ RUBY_TRY_CFLAGS(-msse2 -mfpmath=sse, [
865+ RUBY_APPEND_OPTION(XCFLAGS, -msse2 -mfpmath=sse)
866+ ])
867+ AS_CASE(["$XCFLAGS"],
868+ [[*-msse2*]], [
869+ RUBY_TRY_CFLAGS(-mstackrealign, [
870+ RUBY_APPEND_OPTION(XCFLAGS, -mstackrealign)
871+ ])
872+ ])
873+ ]
874+ )
859875fi
860876
861877AC_ARG_WITH(opt-dir,
@@ -864,17 +880,11 @@ AC_ARG_WITH(opt-dir,
864880 [
865881 val=`echo "$PATH_SEPARATOR$withval" | sed "s|$PATH_SEPARATOR\([[^$PATH_SEPARATOR]*]\)| -I\1/include|g;s/^ //"`
866882 CPPFLAGS="$CPPFLAGS $val"
867- val=`IFS="$PATH_SEPARATOR"
868- for dir in $withval; do
869- echo x ${LIBPATHFLAG} ${RPATHFLAG} |
870- sed "s/^x *//;s${IFS}"'%1\\$-s'"${IFS}${dir}/lib${IFS}g;s${IFS}%s${IFS}${dir}/lib${IFS}g"
871- done | tr '\012' ' '`
883+ val=`echo "$PATH_SEPARATOR$withval" | sed "s|$PATH_SEPARATOR\([[^$PATH_SEPARATOR]*]\)| -L\1/lib|g;s/^ //"`
884+ LDFLAGS="$LDFLAGS $val"
872885 LDFLAGS_OPTDIR="$val"
873- test x"${LDFLAGS}" = x || LDFLAGS="$LDFLAGS "
874- LDFLAGS="$LDFLAGS$val"
875- test x"${DLDFLAGS}" = x || DLDFLAGS="$DLDFLAGS "
876- DLDFLAGS="$DLDFLAGS$val"
877- ])
886+ OPT_DIR="$withval"
887+ ], [OPT_DIR=])
878888
879889test -z "${ac_env_CFLAGS_set}" -a -n "${cflags+set}" && eval CFLAGS="\"$cflags $ARCH_FLAG\""
880890test -z "${ac_env_CXXFLAGS_set}" -a -n "${cxxflags+set}" && eval CXXFLAGS="\"$cxxflags $ARCH_FLAG\""
@@ -888,6 +898,7 @@ AC_ARG_WITH(winnt-ver,
888898AS_CASE(["$target_os"],
889899[mingw*], [
890900 RUBY_APPEND_OPTION(CPPFLAGS, -D_WIN32_WINNT=$with_winnt_ver)
901+ RUBY_APPEND_OPTION(CPPFLAGS, -D__MINGW_USE_VC2005_COMPAT)
891902])
892903
893904AS_CASE(["$target_os"],
@@ -1040,6 +1051,7 @@ main()
10401051 if test x"$ac_cv_type_NET_LUID" = xyes; then
10411052 AC_DEFINE(HAVE_TYPE_NET_LUID, 1)
10421053 fi
1054+ AC_CHECK_FUNCS(_gmtime64_s)
10431055 AC_LIBOBJ([langinfo])
10441056 ],
10451057[os2-emx*], [ LIBS="-lm $LIBS"
@@ -2437,7 +2449,7 @@ if test x"$enable_pthread" = xyes; then
24372449 pthread_get_stackaddr_np pthread_get_stacksize_np \
24382450 thr_stksegment pthread_stackseg_np pthread_getthrds_np \
24392451 pthread_cond_init pthread_condattr_setclock pthread_condattr_init \
2440- pthread_sigmask)
2452+ pthread_sigmask pthread_setname_np )
24412453 if test "${host_os}" = "nacl"; then
24422454 ac_cv_func_pthread_attr_init=no
24432455 else
@@ -2657,7 +2669,7 @@ if test "$with_dln_a_out" != yes; then
26572669 : ${LDSHARED='$(CC) -shared'}
26582670 if test "$rb_cv_binary_elf" = yes; then
26592671 LDFLAGS="$LDFLAGS -rdynamic"
2660- DLDFLAGS="$DLDFLAGS "'-Wl,-soname,$(.TARGET) '
2672+ DLDFLAGS="$DLDFLAGS "'-Wl,-soname,$@ '
26612673 else
26622674 test "$GCC" = yes && test "$rb_cv_prog_gnu_ld" = yes || LDSHARED='$(LD) -Bshareable'
26632675 fi
@@ -2760,6 +2772,21 @@ AC_SUBST(RPATHFLAG)
27602772AC_SUBST(LIBPATHENV, "${LIBPATHENV-LD_LIBRARY_PATH}")
27612773AC_SUBST(TRY_LINK)
27622774
2775+ if test "x$OPT_DIR" != x; then
2776+ pat=`echo "${LDFLAGS_OPTDIR}" | sed ['s/[][\\.*|]/\\\\&/']`
2777+ LDFLAGS=`echo "${LDFLAGS}" | sed "s| ${pat}||"`
2778+ val=`IFS="$PATH_SEPARATOR"
2779+ for dir in $OPT_DIR; do
2780+ echo x ${LIBPATHFLAG} ${RPATHFLAG} |
2781+ sed "s/^x *//;s${IFS}"'%1\\$-s'"${IFS}${dir}/lib${IFS}g;s${IFS}%s${IFS}${dir}/lib${IFS}g"
2782+ done | tr '\012' ' '`
2783+ test x"${LDFLAGS}" = x || LDFLAGS="$LDFLAGS "
2784+ LDFLAGS="$LDFLAGS$val"
2785+ test x"${DLDFLAGS}" = x || DLDFLAGS="$DLDFLAGS "
2786+ DLDFLAGS="$DLDFLAGS$val"
2787+ LDFLAGS_OPTDIR="$val"
2788+ fi
2789+
27632790AS_CASE(["$target_cpu-$target_os"],
27642791[*-darwin*], [
27652792 AC_CHECK_HEADERS([execinfo.h])
0 commit comments