From 76f392cbf1d7b1e1af8e5a310f7fdb44aa97d256 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Thu, 15 May 2025 12:09:59 +0200 Subject: [PATCH] [wip] msvc: update a makefile and specify /std:c11 minimal standard MSVC does not allow for specifying /std:c99 so we need c11. We don't rely on the default standard because it does not allow for static struct initializers. --- msvc/Makefile | 2 +- msvc/c/Makefile | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/msvc/Makefile b/msvc/Makefile index df234ea68..9b637837d 100755 --- a/msvc/Makefile +++ b/msvc/Makefile @@ -137,7 +137,7 @@ GCFLAGS = nodebug=1 CLIBS = $(CLIBS) DbgHelp.lib !endif -CFLAGS = /EHsc /DGC_DLL /DGC_BUILD /nologo /wd4068 /wd4715 /wd4716 /D_CRT_SECURE_NO_DEPRECATE $(CFLAGS_CONFIG) +CFLAGS = /EHsc /DGC_DLL /DGC_BUILD /nologo /wd4068 /wd4715 /wd4716 /D_CRT_SECURE_NO_DEPRECATE /std:c11 $(CFLAGS_CONFIG) LDFLAGS = /link /incremental:no /nologo $(LDFLAGS_CONFIG) /STACK:$(ECL_DEFAULT_C_STACK_SIZE) diff --git a/msvc/c/Makefile b/msvc/c/Makefile index bee8cd2b1..f32e5ba6a 100755 --- a/msvc/c/Makefile +++ b/msvc/c/Makefile @@ -47,7 +47,7 @@ ECL_USE_DBGHELP_FLAG=0 # Programs used by "make": # CC = cl -CFLAGS = -c $(ECL_CFLAGS) -DECL_BUILD -DECL_API="__declspec(dllexport)" -I./ -I../ -I../ecl -I$(srcdir) -I$(srcdir)/unicode +CFLAGS = -c $(ECL_CFLAGS) /std:c11 -DECL_BUILD -DECL_API="__declspec(dllexport)" -I./ -I../ -I../ecl -I$(srcdir) -I$(srcdir)/unicode SHELL = /bin/sh RM = del @@ -79,6 +79,9 @@ HFILES = ..\ecl\config.h ..\ecl\config-internal.h ..\ecl\atomic_ops.h \ $(HDIR)\cache.h $(HDIR)\stack-resize.h \ $(HDIR)\ecl_atomics.h +NUCL_OBJS = boot.obj call.obj jump.obj atomic.obj process.obj memory.obj \ + module.obj stacks.obj + CLOS_OBJS = cache.obj accessor.obj instance.obj gfun.obj NUM_OBJS = number.obj num_pred.obj num_arith.obj num_co.obj num_log.obj num_rand.obj \ @@ -112,7 +115,7 @@ OBJS = main.obj symbol.obj package.obj cons.obj list.obj apply.obj eval.obj \ backq.obj stacks.obj time.obj unixint.obj mapfun.obj multival.obj hash.obj \ format.obj pathname.obj structure.obj load.obj unixfsys.obj unixsys.obj \ serialize.obj atomic.obj process.obj \ - big.obj alloc_2.obj tcp.obj \ + big.obj mem_gc.obj tcp.obj \ $(BOOT_OBJS) $(NUM_OBJS) $(WRITER_OBJS) $(READER_OBJS) $(STREAM_OBJS) \ $(CLOS_OBJS) $(FFI_OBJS) $(THREADS_OBJ) $(ECL_UCD_OBJ) $(ECL_SSE_OBJ)