mingw32: make no-futures, no-places build work

This commit is contained in:
Matthew Flatt 2012-12-20 15:57:02 -07:00
parent 8d5a069d41
commit 0c91930965
3 changed files with 11 additions and 2 deletions

View File

@ -609,6 +609,9 @@
[(and (tok? e)
(eq? (tok-n e) 'XFORM_GC_VARIABLE_STACK_THROUGH_FUNCTION))
'function]
[(and (tok? e)
(eq? (tok-n e) 'XFORM_GC_VARIABLE_STACK_THROUGH_DIRECT_FUNCTION))
'direct-function]
[(braces? e) (loop (seq->list (seq-in e)))]
[else #f]))
e-raw)))
@ -631,7 +634,8 @@
"#define GC_VARIABLE_STACK ((&scheme_thread_locals)->GC_variable_stack_)\n"]
[else "#define GC_VARIABLE_STACK GC_variable_stack\n"]))
(if gc-variable-stack-through-funcs?
(if (or gc-variable-stack-through-funcs?
(eq? gc-var-stack-mode 'direct-function))
(begin
(printf "#define GET_GC_VARIABLE_STACK() GC_get_variable_stack()\n")
(printf "#define SET_GC_VARIABLE_STACK(v) GC_set_variable_stack(v)\n"))
@ -1643,6 +1647,7 @@
(and (pair? e)
(or (eq? 'XFORM_GC_VARIABLE_STACK_THROUGH_GETSPECIFIC (tok-n (car e)))
(eq? 'XFORM_GC_VARIABLE_STACK_THROUGH_FUNCTION (tok-n (car e)))
(eq? 'XFORM_GC_VARIABLE_STACK_THROUGH_DIRECT_FUNCTION (tok-n (car e)))
(eq? 'XFORM_GC_VARIABLE_STACK_THROUGH_THREAD_LOCAL (tok-n (car e))))))
(define (access-modifier? e)

View File

@ -51,6 +51,10 @@
# define DONT_LOAD_INIT_FILE
#endif
#if defined(MZ_XFORM) && defined(__MINGW32__) && !defined(USE_THREAD_LOCAL)
XFORM_GC_VARIABLE_STACK_THROUGH_DIRECT_FUNCTION;
#endif
#ifdef MZ_XFORM
START_XFORM_SUSPEND;
#endif

View File

@ -540,7 +540,7 @@ THREAD_LOCAL_DECL(extern volatile int scheme_fuel_counter);
THREAD_LOCAL_DECL(extern Scheme_Thread *scheme_main_thread);
#if defined(MZ_USE_PLACES) || defined(MZ_USE_FUTURES) || defined(USE_PTHREAD_THREAD_TIMER)
#if defined(MZ_USE_PLACES) || defined(MZ_USE_FUTURES) || defined(USE_PTHREAD_THREAD_TIMER) || defined(WINDOWS_FILE_HANDLES)
# define MZ_USE_MZRT
#endif