diff --git a/src/configure b/src/configure index ca2c573fa6..648f704dbf 100755 --- a/src/configure +++ b/src/configure @@ -11016,8 +11016,17 @@ if test "${enable_shared}" = "yes" ; then STATIC_AR="${LTDIR}/libtool --mode=link $CC -o" ARFLAGS="" RANLIB=":" - MZLINKER="${LTDIR}/libtool --mode=link $CC${need_gcc_static_libgcc} -rpath ${absprefix}/lib" - MREDLINKER="${LTDIR}/libtool --mode=link $CXX${need_gcc_static_libgcc} -rpath ${absprefix}/lib" + exes="xxxxxxxx" + exes="${exes}${exes}" + exes="${exes}${exes}" + exes="${exes}${exes}" + exes="${exes}${exes}" + exes="${exes}${exes}" + exes="${exes}${exes}" + exes="${exes}${exes}" + padding="padding$exes" + MZLINKER="${LTDIR}/libtool --mode=link $CC${need_gcc_static_libgcc} -rpath ${absprefix}/lib -rpath ${absprefix}/lib/${padding}" + MREDLINKER="${LTDIR}/libtool --mode=link $CXX${need_gcc_static_libgcc} -rpath ${absprefix}/lib -rpath ${absprefix}/lib/${padding}" PLAIN_CC="$CC" CC="${LTDIR}/libtool --mode=compile $CC" CXX="${LTDIR}/libtool --mode=compile $CXX" diff --git a/src/mzscheme/configure.ac b/src/mzscheme/configure.ac index dd39fec7cd..e1f0a246de 100644 --- a/src/mzscheme/configure.ac +++ b/src/mzscheme/configure.ac @@ -982,8 +982,17 @@ if test "${enable_shared}" = "yes" ; then STATIC_AR="${LTDIR}/libtool --mode=link $CC -o" ARFLAGS="" RANLIB=":" - MZLINKER="${LTDIR}/libtool --mode=link $CC${need_gcc_static_libgcc} -rpath ${absprefix}/lib" - MREDLINKER="${LTDIR}/libtool --mode=link $CXX${need_gcc_static_libgcc} -rpath ${absprefix}/lib" + exes="xxxxxxxx" + exes="${exes}${exes}" + exes="${exes}${exes}" + exes="${exes}${exes}" + exes="${exes}${exes}" + exes="${exes}${exes}" + exes="${exes}${exes}" + exes="${exes}${exes}" + padding="padding$exes" + MZLINKER="${LTDIR}/libtool --mode=link $CC${need_gcc_static_libgcc} -rpath ${absprefix}/lib -rpath ${absprefix}/lib/${padding}" + MREDLINKER="${LTDIR}/libtool --mode=link $CXX${need_gcc_static_libgcc} -rpath ${absprefix}/lib -rpath ${absprefix}/lib/${padding}" PLAIN_CC="$CC" CC="${LTDIR}/libtool --mode=compile $CC" CXX="${LTDIR}/libtool --mode=compile $CXX" diff --git a/src/mzscheme/include/mzscheme.exp b/src/mzscheme/include/mzscheme.exp index 18a4b38485..4c02b775dc 100644 --- a/src/mzscheme/include/mzscheme.exp +++ b/src/mzscheme/include/mzscheme.exp @@ -17,6 +17,7 @@ scheme_inherit_cells scheme_current_break_cell scheme_current_thread scheme_fuel_counter +scheme_get_current_thread scheme_start_atomic scheme_end_atomic scheme_end_atomic_no_swap diff --git a/src/mzscheme/include/mzscheme3m.exp b/src/mzscheme/include/mzscheme3m.exp index 5c050a2443..2d54543e29 100644 --- a/src/mzscheme/include/mzscheme3m.exp +++ b/src/mzscheme/include/mzscheme3m.exp @@ -17,6 +17,7 @@ scheme_inherit_cells scheme_current_break_cell scheme_current_thread scheme_fuel_counter +scheme_get_current_thread scheme_start_atomic scheme_end_atomic scheme_end_atomic_no_swap diff --git a/src/mzscheme/include/mzwin.def b/src/mzscheme/include/mzwin.def index 064b5d90ac..9ac7f0cf00 100644 --- a/src/mzscheme/include/mzwin.def +++ b/src/mzscheme/include/mzwin.def @@ -19,6 +19,7 @@ EXPORTS scheme_current_break_cell scheme_current_thread DATA scheme_fuel_counter DATA + scheme_get_current_thread scheme_start_atomic scheme_end_atomic scheme_end_atomic_no_swap diff --git a/src/mzscheme/src/schemex.h b/src/mzscheme/src/schemex.h index c41789430d..a8474c54fa 100644 --- a/src/mzscheme/src/schemex.h +++ b/src/mzscheme/src/schemex.h @@ -60,6 +60,7 @@ volatile int scheme_fuel_counter; Scheme_Thread **scheme_current_thread_ptr; volatile int *scheme_fuel_counter_ptr; #endif +Scheme_Thread *(*scheme_get_current_thread)(); void (*scheme_start_atomic)(void); void (*scheme_end_atomic)(void); void (*scheme_end_atomic_no_swap)(void); diff --git a/src/mzscheme/src/schemex.inc b/src/mzscheme/src/schemex.inc index 678759840d..1f9794f519 100644 --- a/src/mzscheme/src/schemex.inc +++ b/src/mzscheme/src/schemex.inc @@ -25,6 +25,7 @@ scheme_extension_table->scheme_current_thread_ptr = scheme_current_thread_ptr; scheme_extension_table->scheme_fuel_counter_ptr = scheme_fuel_counter_ptr; #endif + scheme_extension_table->scheme_get_current_thread = scheme_get_current_thread; scheme_extension_table->scheme_start_atomic = scheme_start_atomic; scheme_extension_table->scheme_end_atomic = scheme_end_atomic; scheme_extension_table->scheme_end_atomic_no_swap = scheme_end_atomic_no_swap; diff --git a/src/mzscheme/src/schemexm.h b/src/mzscheme/src/schemexm.h index f546fbf41a..74f41823d9 100644 --- a/src/mzscheme/src/schemexm.h +++ b/src/mzscheme/src/schemexm.h @@ -25,6 +25,7 @@ #define scheme_current_thread_ptr (scheme_extension_table->scheme_current_thread_ptr) #define scheme_fuel_counter_ptr (scheme_extension_table->scheme_fuel_counter_ptr) #endif +#define scheme_get_current_thread (scheme_extension_table->scheme_get_current_thread) #define scheme_start_atomic (scheme_extension_table->scheme_start_atomic) #define scheme_end_atomic (scheme_extension_table->scheme_end_atomic) #define scheme_end_atomic_no_swap (scheme_extension_table->scheme_end_atomic_no_swap)