diff --git a/msvc/Makefile b/msvc/Makefile index a40d7bc10..685f60179 100644 --- a/msvc/Makefile +++ b/msvc/Makefile @@ -52,10 +52,12 @@ TAR_DIR = %%CD%%\ecl-$(ECL_VERSION) # CC = cl -CFLAGS = -MD -DGC_NOT_DLL -nologo +MFLAGS = -MD +CFLAGS = -DGC_NOT_DLL -nologo LIBS = eclgc.lib eclgmp.lib user32.lib ws2_32.lib -LDFLAGS = -MD +LDFLAGS = SHARED_LDFLAGS = -LD +GCFLAGS = nodebug=1 RM = del RMDIR = rmdir /Q /S MKDIR = mkdir @@ -95,9 +97,11 @@ DEF = ecl.def # Enable debug information # !if "$(ECL_DEBUG)" != "" -CFLAGS = $(CFLAGS) -Zi -LDFLAGS = $(LDFLAGS) -Zi +CFLAGS = -Zi $(CFLAGS) +LDFLAGS = -Zi $(LDFLAGS) SHARED_LDFLAGS = -LDd +MFLAGS = -MDd +GCFLAGS = !endif # Additional configuration for thread support @@ -134,6 +138,9 @@ ECL_FEATURES = (cons :wants-clx $(ECL_FEATURES)) !MESSAGE $(ECL_MODULES) !MESSAGE $(ECL_FEATURES) +CFLAGS = $(MFLAGS) $(CFLAGS) +LDFLAGS = $(MFLAGS) $(LDFLAGS) + # Build rules # all: $(TARGETS) doc ecl-config.bat @@ -245,7 +252,7 @@ eclmin.lib: eclgmp.lib eclgc.lib lsp/config.lsp cd .. eclgc.lib: cd gc - $(MAKE) nodebug=1 "ECL_THREADS = $(ECL_THREADS)" gc.lib + $(MAKE) $(GCFLAGS) "ECL_THREADS = $(ECL_THREADS)" "MFLAGS = $(MFLAGS)" gc.lib $(CP) gc.lib ..\eclgc.lib cd .. for %h in (gc.h gc_local_alloc.h gc_pthread_redirects.h \ @@ -253,7 +260,7 @@ eclgc.lib: do $(CP) $(srcdir)\gc\include\%h h\%h eclgmp.lib: cd gmp - $(MAKE) "MPN_TYPE = $(GMP_TYPE)" + $(MAKE) "MPN_TYPE = $(GMP_TYPE)" "MFLAGS = $(MFLAGS)" $(CP) gmp.lib ..\eclgmp.lib $(CP) gmp.h ..\h\gmp.h cd .. diff --git a/msvc/Makefile.msvc6 b/msvc/Makefile.msvc6 index 11312eda5..7399806a4 100644 --- a/msvc/Makefile.msvc6 +++ b/msvc/Makefile.msvc6 @@ -79,7 +79,7 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/gc/mkinstalldirs SUBDIR = c gc gmp LIBRARIES = LSP_LIBRARIES = cmp.fas clx.fas sockets.fas sysfun.lsp -TARGETS = ecl$(EXE) +TARGETS = ecl2$(EXE) DEF = ecl.def # Additional configuration for thread support diff --git a/msvc/c/Makefile b/msvc/c/Makefile index f4b76e607..ce6948243 100644 --- a/msvc/c/Makefile +++ b/msvc/c/Makefile @@ -16,7 +16,7 @@ THREADS_FLAGS= # TRUE_CC = cl CC = cl -CFLAGS = -c $(ECL_CFLAGS) -I./ -I$(srcdir) -I$(HDIR) -I../h -I$(top_srcdir)/gc/include -DHAVE_ISATTY $(THREADS_FLAGS) +CFLAGS = -c $(ECL_CFLAGS) -I./ -I$(srcdir) -I$(HDIR) -I../h -I$(top_srcdir)/gc/include $(THREADS_FLAGS) # -Wall -W -Wfloat-equal -Wundef -Wendif-labels -Wpointer-arith -Wcast-align \ # -Wwrite-strings -Wconversion -Wsign-compare -Wmissing-prototypes -Wredundant-decls \ # -Wunreachable-code -Winline diff --git a/msvc/ecl-threads.def b/msvc/ecl-threads.def index e8151bf67..a0cb27eac 100755 --- a/msvc/ecl-threads.def +++ b/msvc/ecl-threads.def @@ -1392,7 +1392,7 @@ EXPORTS cl_slot_value ; clos\combin.lsp - clos_simple_code_walker + ;clos_simple_code_walker cl_method_combination_error cl_invalid_method_error diff --git a/msvc/ecl.def b/msvc/ecl.def index 9fd0e7b58..ac3dedcc1 100644 --- a/msvc/ecl.def +++ b/msvc/ecl.def @@ -1369,7 +1369,7 @@ EXPORTS cl_slot_value ; clos\combin.lsp - clos_simple_code_walker + ;clos_simple_code_walker cl_method_combination_error cl_invalid_method_error diff --git a/msvc/gc/Makefile b/msvc/gc/Makefile index 733d667a3..401ab2976 100644 --- a/msvc/gc/Makefile +++ b/msvc/gc/Makefile @@ -15,15 +15,17 @@ THREADS_OBJ= THREADS_FLAGS= !endif +MFLAGS = /MD + OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj obj_map.obj blacklst.obj finalize.obj new_hblk.obj dbg_mlc.obj malloc.obj stubborn.obj dyn_load.obj typd_mlc.obj ptr_chck.obj gc_cpp.obj mallocx.obj $(THREADS_OBJ) all: gctest.exe cord\de.exe test_cpp.exe {$(srcdir)}.c{}.obj: - $(cc) $(cdebug) $(cflags) $(cvarsdll) -I$(srcdir)\include -DSILENT -DALL_INTERIOR_POINTERS -D__STDC__ -DGC_NOT_DLL $(THREADS_FLAGS) $< /Fo$*.obj + $(cc) $(MFLAGS) $(cdebug) $(cflags) $(cvars) -I$(srcdir)\include -DSILENT -DALL_INTERIOR_POINTERS -D__STDC__ -DGC_NOT_DLL $(THREADS_FLAGS) $< /Fo$*.obj .cpp.obj: - $(cc) /MD $(cdebug) $(cflags) $(cvarsdll) -I$(srcdir)\include -DSILENT -DALL_INTERIOR_POINTERS -DGC_NOT_DLL $(THREADS_FLAGS) $*.CPP /Fo$*.obj + $(cc) $(MFLAGS) $(cdebug) $(cflags) $(cvars) -I$(srcdir)\include -DSILENT -DALL_INTERIOR_POINTERS -DGC_NOT_DLL $(THREADS_FLAGS) $*.CPP /Fo$*.obj $(OBJS) tests\test.obj: $(srcdir)\include\private\gc_priv.h $(srcdir)\include\private\gc_hdrs.h $(srcdir)\include\gc.h $(srcdir)\include\private\gcconfig.h $(srcdir)\include\private\gc_locks.h $(srcdir)\include\private\gc_pmark.h $(srcdir)\include\gc_mark.h diff --git a/msvc/gmp/Makefile b/msvc/gmp/Makefile index 462e93220..0e4e3f450 100644 --- a/msvc/gmp/Makefile +++ b/msvc/gmp/Makefile @@ -566,7 +566,8 @@ mpn_p4.lib: msvc-build $(MPN_P4_OBJS) gmp.lib: mpn_$(MPN_TYPE).lib $(GMP_ALL_OBJS) link -lib /NOLOGO /OUT:$@ *.obj mpf\*.obj mpz\*.obj mpq\*.obj $(PRINTF_OBJS) $(SCANF_OBJS) mpn_$(MPN_TYPE).lib -CFLAGS = /nologo /MD /W3 /GX /I "." /I $(srcdir) /I "$(srcdir)\mpn\generic" /D "WIN32" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "_MBCS" +MFLAGS = /MD +CFLAGS = /nologo $(MFLAGS) /W3 /GX /I "." /I $(srcdir) /I "$(srcdir)\mpn\generic" /D "WIN32" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "_MBCS" {$(srcdir)\mpn\generic}.c{mpn\generic}.obj: cl -c $(CFLAGS) /Fo$@ $? diff --git a/msvc/h/config.h.msvc6 b/msvc/h/config.h.msvc6 index 5e0b6cb83..976cf0be3 100644 --- a/msvc/h/config.h.msvc6 +++ b/msvc/h/config.h.msvc6 @@ -25,6 +25,9 @@ #define ECL_DYNAMIC_VV #endif +/* Use GNU Multiple Precision library for bignums */ +#define WITH_GMP 1 + /* Userland threads? */ /* #undef ECL_THREADS */ @@ -186,6 +189,10 @@ typedef unsigned int cl_hashkey; /* #undef HAVE_MACH_O_DYLD_H */ /* POSIX signals */ /* #undef HAVE_SIGPROCMASK */ +/* isatty() checks whether a file is connected to a */ +#define HAVE_ISATTY 1 +/* compiler understands long long */ +#define HAVE_LONG_LONG 1 /* what characters are used to mark beginning of new line */ #define ECL_NEWLINE_IS_CRLF 1