diff --git a/appveyor.yml b/appveyor.yml index 11b0aebe2..bb1e12123 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -42,7 +42,7 @@ install: build_script: - set PSDKDir=C:\Program Files\Microsoft SDKs\Windows\v7.1 - - call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /win7 /x64 /Release + - call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /xp /x64 /Release - set WIXDIR="c:\Program Files (x86)\Windows Installer XML v3.5" # We're not doing any codesigning in the Appveyor build yet. - SET CODESIGN_PKT=0000000000000000 diff --git a/include/config.h.w32 b/include/config.h.w32 index c3a06b2c6..8033476c3 100644 --- a/include/config.h.w32 +++ b/include/config.h.w32 @@ -905,17 +905,6 @@ static const char *const rcsid[] = { (const char *)rcsid, "@(#)" msg } /* Define if you have the function `strtok_r'. */ /* #define HAVE_STRTOK_R 1 */ -#if defined(__has_include) -# if __has_include() -# define HAVE_UCRT 1 -# endif -#endif - -#ifdef HAVE_UCRT -#define HAVE_STRTOLL 1 -#define HAVE_STRTOULL 1 -#endif - /* Define to 1 if the system has the type `struct addrinfo'. */ #define HAVE_STRUCT_ADDRINFO 1 diff --git a/lib/roken/roken.h.in b/lib/roken/roken.h.in index 79bac4fec..e1aa6b7b6 100644 --- a/lib/roken/roken.h.in +++ b/lib/roken/roken.h.in @@ -356,16 +356,7 @@ ROKEN_CPP_START #define fsync _commit -#define timezone _timezone - -#define tzname _tzname - -#define _PIPE_BUFFER_SZ 8192 -#define pipe(fds) _pipe((fds), _PIPE_BUFFER_SZ, O_BINARY); - -#define ftruncate(fd, sz) _chsize((fd), (sz)) - -#if !defined(HAVE_UCRT) +/* The MSVC implementation of snprintf is not C99 compliant. */ #define snprintf rk_snprintf #define vsnprintf rk_vsnprintf #define vasnprintf rk_vasnprintf @@ -373,6 +364,11 @@ ROKEN_CPP_START #define asnprintf rk_asnprintf #define asprintf rk_asprintf +#define _PIPE_BUFFER_SZ 8192 +#define pipe(fds) _pipe((fds), _PIPE_BUFFER_SZ, O_BINARY); + +#define ftruncate(fd, sz) _chsize((fd), (sz)) + ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL rk_snprintf (char *str, size_t sz, const char *format, ...); @@ -390,7 +386,6 @@ rk_vasnprintf (char **ret, size_t max_sz, const char *format, va_list args); ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL rk_vsnprintf (char *str, size_t sz, const char *format, va_list args); -#endif /* !defined(HAVE_UCRT) */ /* missing stat.h predicates */ diff --git a/lib/roken/strtoll.c b/lib/roken/strtoll.c index 96c1b2509..0d895d54a 100644 --- a/lib/roken/strtoll.c +++ b/lib/roken/strtoll.c @@ -38,8 +38,6 @@ #include "roken.h" -#ifndef HAVE_STRTOLL - /* #include */ #include @@ -152,4 +150,3 @@ noconv: *endptr = (char *)(any ? s - 1 : nptr); return ret; } -#endif /* !HAVE_STRTOLL */ diff --git a/lib/roken/strtoull.c b/lib/roken/strtoull.c index 0516e18f9..94530e574 100644 --- a/lib/roken/strtoull.c +++ b/lib/roken/strtoull.c @@ -38,8 +38,6 @@ #include "roken.h" -#ifndef HAVE_STRTOULL - /* #include */ #include @@ -126,4 +124,3 @@ noconv: *endptr = (char *)(any ? s - 1 : nptr); return (acc); } -#endif /* !HAVE_STRTOULL */ diff --git a/packages/windows/installer/NTMakefile b/packages/windows/installer/NTMakefile index 2923e649b..ad63ae04f 100644 --- a/packages/windows/installer/NTMakefile +++ b/packages/windows/installer/NTMakefile @@ -133,13 +133,7 @@ clean:: ###################################################################### # Runtime modules -!if [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==19 -VCVER=VC2019 -!elseif [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==18 -VCVER=VC2018 -!elseif [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==17 -VCVER=VC2017 -!elseif [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==16 +!if [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==16 VCVER=VC100 !elseif [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==15 VCVER=VC90 @@ -170,27 +164,22 @@ MMDIR=$(SystemDrive)\Program Files (x86)\Common Files\Merge Modules !endif !endif -# -# Don't specify a runtime module when the Universal C Runtime -# is available. -# -!if "$(APPVER)"=="10.0" -RUNTIMEMODULE32="" -RUNTIMEMODULE64="" -!else -! if exist("$(MMDIR)") +!if exist("$(MMDIR)") + RUNTIMEMODULE32="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x86.msm" -! if "$(VCVER)"=="VC90" || "$(VCVER)"=="VC80" -RUNTIMEMODULE64="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x86_x64.msm" -! else +!if "$(VCVER)"=="VC100" RUNTIMEMODULE64="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x64.msm" -! endif -! else +!else +RUNTIMEMODULE64="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x86_x64.msm" +!endif + +!else RUNTIMEMODULE32="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.x86_msm.msm" RUNTIMEMODULE64="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.x64_msm.msm" -! endif + !endif + ###################################################################### # Heimdal installer diff --git a/packages/windows/installer/heimdal-installer.wxs b/packages/windows/installer/heimdal-installer.wxs index a7f7f3d22..0b6000d1b 100644 --- a/packages/windows/installer/heimdal-installer.wxs +++ b/packages/windows/installer/heimdal-installer.wxs @@ -99,10 +99,9 @@ - - - + + @@ -128,10 +127,9 @@ - - - + + @@ -372,12 +370,12 @@ - + - + @@ -395,7 +393,7 @@ - + diff --git a/windows/NTMakefile.sdk b/windows/NTMakefile.sdk deleted file mode 100644 index e46f00171..000000000 --- a/windows/NTMakefile.sdk +++ /dev/null @@ -1,110 +0,0 @@ -######################################################################## -# -# Copyright (c) 2021, PADL Software Pty Ltd. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# - Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# - Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN if ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# - -!if !defined(CPU) || "$(CPU)" == "" -CPU =AMD64 -!endif - -!if "$(CPU)" == "X86" || "$(CPU)" == "x86" -CPU =i386 -!endif - -!if !defined(APPVER) -APPVER =5.01 -!endif - -!if "$(APPVER)" == "5.0" -NMAKE_WINVER=0x0500 -!elseif "$(APPVER)" == "5.01" -NMAKE_WINVER=0x0501 -!elseif "$(APPVER)" == "5.02" -NMAKE_WINVER=0x0502 -!elseif "$(APPVER)" == "6.0" -NMAKE_WINVER=0x0600 -!elseif "$(APPVER)" == "6.1" -NMAKE_WINVER=0x0601 -!elseif "$(APPVER)" == "10.0" -NMAKE_WINVER=0x0A00 -!endif - -cc = cl -link = link -implib = lib - -cflags = -c -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -GS -W4 -cflags = $(cflags) -DWIN32 -D_WIN32 -!if "$(CPU)" == "AMD64" || "$(CPU)" == "ARM64" -cflags = $(cflags) -DWIN64 -D_WIN64 -!endif -cflags = $(cflags) -D_WINNT -D_WIN32_WINNT=$(NMAKE_WINVER) -cflags = $(cflags) -DNTDDI_VERSION=$(NMAKE_WINVER)0000 -cflags = $(cflags) -D_WIN32_IE=$(NMAKE_WINVER) -DWINVER=$(NMAKE_WINVER) - -!ifdef NODEBUG -cdebug = -Ox -DNDEBUG -!else -cdebug = -Zi -Od -DDEBUG -!endif - -cvarsmt = -D_MT -cvarsdll = -D_MT -D_DLL -!ifndef NODEBUG -cvarsmt = $(cvarsmt) -MTd -cvarsdll = $(cvarsdll) -MDd -!endif -cvars = $(cvarsmt) - -lflags = $(lflags) /INCREMENTAL:NO /NOLOGO -!ifdef NODEBUG -ldebug = /RELEASE -!else -ldebug = /DEBUG /DEBUGTYPE:cv -!endif - -!if "$(CPU)" == "i386" -dllentry = _DllMainCRTStartup@12 -!else -dllentry = _DllMainCRTStartup -!endif - -conlflags = $(lflags) -subsystem:console,$(APPVER) -guilflags = $(lflags) -subsystem:windows,$(APPVER) -dlllflags = $(lflags) -entry:$(dllentry) -dll - -baselibs = kernel32.lib ws2_32.lib mswsock.lib advapi32.lib -conlibs = $(baselibs) -conlibsmt = $(baselibs) -conlibsdll = $(baselibs) - -winlibs = $(baselibs) user32.lib gdi32.lib comdlg32.lib winspool.lib -guilibs = $(winlibs) -guilibsmt = $(winlibs) -guilibsdll = $(winlibs) diff --git a/windows/NTMakefile.w32 b/windows/NTMakefile.w32 index 9af3e47a6..47df51042 100644 --- a/windows/NTMakefile.w32 +++ b/windows/NTMakefile.w32 @@ -39,7 +39,7 @@ prep:: all:: prep -!include "NTMakefile.sdk" +!include !ifdef NODEBUG BUILD=rel