diff options
| Commit | 1d7dc2c166de587581766f701ad071e5da7c3eec (patch) | |
|---|---|---|
| Author | 2020-10-06 11:39:58 +0300 | |
| Committer | 2020-10-06 11:39:58 +0300 | |
| Files | 3b022445897fc6278e0e011dbc18b9b04020103c /spasm | |
| IPL-1d7dc2c166de587581766f701ad071e5da7c3eec.tar IPL-1d7dc2c166de587581766f701ad071e5da7c3eec.tar.gz IPL-1d7dc2c166de587581766f701ad071e5da7c3eec.zip | ||
| Parent | d4758752cb0b76c1a4e87d7e2a211bc5ad53bd0d (diff) | |
| Parent | 6f5cc33f6de1e2bf7dbee5e205ff5c53b47eea0e (diff) | |
Merge branch 'feature/32bit' into master
19 files changed, 885 insertions, 80 deletions
| -rw-r--r-- | spasm/solution/spasm.make | 86 | ||||
| -rw-r--r-- | spasm/solution/spasm.vcxproj | 129 | ||||
| -rw-r--r-- | spasm/solution/spasm.vcxproj.filters | 2 | ||||
| -rw-r--r-- | spasm/solution/spasm.vcxproj.user | 10 | ||||
| -rw-r--r-- | spasm/solution/spasm_lib.make | 96 | ||||
| -rw-r--r-- | spasm/solution/spasm_lib.vcxproj | 137 | ||||
| -rw-r--r-- | spasm/solution/spasm_lib.vcxproj.filters | 14 | ||||
| -rw-r--r-- | spasm/solution/sprt.make | 86 | ||||
| -rw-r--r-- | spasm/solution/sprt.vcxproj | 125 | ||||
| -rw-r--r-- | spasm/solution/sprt.vcxproj.filters | 2 | ||||
| -rw-r--r-- | spasm/solution/sprt.vcxproj.user | 10 | ||||
| -rw-r--r-- | spasm/solution/sprun.make | 86 | ||||
| -rw-r--r-- | spasm/solution/sprun.vcxproj | 129 | ||||
| -rw-r--r-- | spasm/solution/sprun.vcxproj.filters | 2 | ||||
| -rw-r--r-- | spasm/solution/sprun.vcxproj.user | 10 | ||||
| -rw-r--r-- | spasm/src/asm/lexer.cpp | 4 | ||||
| -rw-r--r-- | spasm/src/asm/lexer.re | 4 | ||||
| -rw-r--r-- | spasm/src/spasm.cpp | 8 | ||||
| -rw-r--r-- | spasm/src/value.hpp | 25 |
diff --git a/spasm/solution/spasm.make b/spasm/solution/spasm.make index 6c081cc..af6a577 100644 --- a/spasm/solution/spasm.make +++ b/spasm/solution/spasm.make @@ -1,6 +1,6 @@ # GNU Make project makefile autogenerated by GENie ifndef config - config=debug64 + config=debug endif ifndef verbose @@ -42,6 +42,70 @@ endif MAKEFILE = spasm.make +ifeq ($(config),debug) + OBJDIR = ../../JSImpl/build/obj/Debug/Debug/spasm + TARGETDIR = ../../JSImpl/build/bin/Debug + TARGET = $(TARGETDIR)/spasm + DEFINES += -D_SCL_SECURE_NO_WARNINGS + ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) -L"../../JSImpl/build/bin/Debug" + LIBDEPS += ../../JSImpl/build/bin/Debug/libspasm_lib.a + LDDEPS += ../../JSImpl/build/bin/Debug/libspasm_lib.a + LDRESP = + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) + OBJRESP = + OBJECTS := \ + $(OBJDIR)/src/asm/main.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + +ifeq ($(config),release) + OBJDIR = ../../JSImpl/build/obj/Release/Release/spasm + TARGETDIR = ../../JSImpl/build/bin/Release + TARGET = $(TARGETDIR)/spasm + DEFINES += -D_SCL_SECURE_NO_WARNINGS + ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) -L"../../JSImpl/build/bin/Release" + LIBDEPS += ../../JSImpl/build/bin/Release/libspasm_lib.a + LDDEPS += ../../JSImpl/build/bin/Release/libspasm_lib.a + LDRESP = + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) + OBJRESP = + OBJECTS := \ + $(OBJDIR)/src/asm/main.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + ifeq ($(config),debug64) OBJDIR = ../../JSImpl/build/obj/Debug/x64/Debug/spasm TARGETDIR = ../../JSImpl/build/bin/Debug @@ -55,11 +119,14 @@ ifeq ($(config),debug64) ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 -std=c++14 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"../../JSImpl/build/bin/Debug" -m64 + LIBDEPS += ../../JSImpl/build/bin/Debug/libspasm_lib.a LDDEPS += ../../JSImpl/build/bin/Debug/libspasm_lib.a + LDRESP = LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) + OBJRESP = OBJECTS := \ $(OBJDIR)/src/asm/main.o \ @@ -84,11 +151,14 @@ ifeq ($(config),release64) ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 -std=c++14 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"../../JSImpl/build/bin/Release" -m64 + LIBDEPS += ../../JSImpl/build/bin/Release/libspasm_lib.a LDDEPS += ../../JSImpl/build/bin/Release/libspasm_lib.a + LDRESP = LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) + OBJRESP = OBJECTS := \ $(OBJDIR)/src/asm/main.o \ @@ -111,7 +181,7 @@ RESOURCES := \ all: $(OBJDIRS) $(TARGETDIR) prebuild prelink $(TARGET) @: -$(TARGET): $(GCH) $(OBJECTS) $(LDDEPS) $(EXTERNAL_LIBS) $(RESOURCES) | $(TARGETDIR) $(OBJDIRS) +$(TARGET): $(GCH) $(OBJECTS) $(LIBDEPS) $(EXTERNAL_LIBS) $(RESOURCES) $(OBJRESP) $(LDRESP) | $(TARGETDIR) $(OBJDIRS) @echo Linking spasm $(SILENT) $(LINKCMD) $(POSTBUILDCMDS) @@ -150,6 +220,18 @@ $(GCH_OBJC): $(PCH) $(MAKEFILE) | $(OBJDIR) $(SILENT) $(CXX) $(ALL_OBJCPPFLAGS) -x objective-c++-header $(DEFINES) $(INCLUDES) -o "$@" -c "$<" endif +ifneq (,$(OBJRESP)) +$(OBJRESP): $(OBJECTS) | $(TARGETDIR) $(OBJDIRS) + $(SILENT) echo $^ + $(SILENT) echo $^ > $@ +endif + +ifneq (,$(LDRESP)) +$(LDRESP): $(LDDEPS) | $(TARGETDIR) $(OBJDIRS) + $(SILENT) echo $^ + $(SILENT) echo $^ > $@ +endif + $(OBJDIR)/src/asm/main.o: ../src/asm/main.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm @echo $(notdir $<) $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" diff --git a/spasm/solution/spasm.vcxproj b/spasm/solution/spasm.vcxproj index b0b5718..58407b4 100644 --- a/spasm/solution/spasm.vcxproj +++ b/spasm/solution/spasm.vcxproj @@ -1,10 +1,18 @@ <?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
@@ -13,32 +21,62 @@ <PropertyGroup Label="Globals">
<ProjectGuid>{69185F10-D52C-87C1-9EAE-2A210A8283F2}</ProjectGuid>
<RootNamespace>spasm</RootNamespace>
- <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
- <PreferredToolArchitecture>x64</PreferredToolArchitecture>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
- <PreferredToolArchitecture>x64</PreferredToolArchitecture>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <OutDir>..\..\JSImpl\build\bin\Debug\</OutDir>
+ <IntDir>..\..\JSImpl\build\obj\Debug\Debug\spasm\</IntDir>
+ <TargetName>spasm</TargetName>
+ <TargetExt>.exe</TargetExt>
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\..\JSImpl\build\bin\Debug\</OutDir>
<IntDir>..\..\JSImpl\build\obj\Debug\x64\Debug\spasm\</IntDir>
@@ -46,6 +84,13 @@ <TargetExt>.exe</TargetExt>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>..\..\JSImpl\build\bin\Release\</OutDir>
+ <IntDir>..\..\JSImpl\build\obj\Release\Release\spasm\</IntDir>
+ <TargetName>spasm</TargetName>
+ <TargetExt>.exe</TargetExt>
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>..\..\JSImpl\build\bin\Release\</OutDir>
<IntDir>..\..\JSImpl\build\obj\Release\x64\Release\spasm\</IntDir>
@@ -53,21 +98,53 @@ <TargetExt>.exe</TargetExt>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <PrecompiledHeader></PrecompiledHeader>
+ <WarningLevel>Level4</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(IntDir)spasm.compile.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)spasm.pdb</ProgramDatabaseFile>
+ <AdditionalLibraryDirectories>;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <OutputFile>$(OutDir)spasm.exe</OutputFile>
+ <EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
<FunctionLevelLinking>true</FunctionLevelLinking>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader></PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<ProgramDataBaseFileName>$(IntDir)spasm.compile.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -76,26 +153,61 @@ <SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)spasm.pdb</ProgramDatabaseFile>
+ <AdditionalLibraryDirectories>;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<OutputFile>$(OutDir)spasm.exe</OutputFile>
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<StringPooling>true</StringPooling>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <PrecompiledHeader></PrecompiledHeader>
+ <WarningLevel>Level4</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(IntDir)spasm.compile.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)spasm.pdb</ProgramDatabaseFile>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <OutputFile>$(OutDir)spasm.exe</OutputFile>
+ <EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
+ <Optimization>MaxSpeed</Optimization>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader></PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ProgramDataBaseFileName>$(IntDir)spasm.compile.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -106,6 +218,7 @@ <ProgramDatabaseFile>$(OutDir)spasm.pdb</ProgramDatabaseFile>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<OutputFile>$(OutDir)spasm.exe</OutputFile>
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
<TargetMachine>MachineX64</TargetMachine>
diff --git a/spasm/solution/spasm.vcxproj.filters b/spasm/solution/spasm.vcxproj.filters index a9d3fb8..d75f1a8 100644 --- a/spasm/solution/spasm.vcxproj.filters +++ b/spasm/solution/spasm.vcxproj.filters @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{2DAB880B-99B4-887C-2230-9F7C8E38947C}</UniqueIdentifier>
diff --git a/spasm/solution/spasm.vcxproj.user b/spasm/solution/spasm.vcxproj.user index 99820f1..f927c73 100644 --- a/spasm/solution/spasm.vcxproj.user +++ b/spasm/solution/spasm.vcxproj.user @@ -1,9 +1,17 @@ <?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+ <LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+ <LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
diff --git a/spasm/solution/spasm_lib.make b/spasm/solution/spasm_lib.make index 94b4322..9c25a78 100644 --- a/spasm/solution/spasm_lib.make +++ b/spasm/solution/spasm_lib.make @@ -1,6 +1,6 @@ # GNU Make project makefile autogenerated by GENie ifndef config - config=debug64 + config=debug endif ifndef verbose @@ -42,6 +42,80 @@ endif MAKEFILE = spasm_lib.make +ifeq ($(config),debug) + OBJDIR = ../../JSImpl/build/obj/Debug/Debug/spasm_lib + TARGETDIR = ../../JSImpl/build/bin/Debug + TARGET = $(TARGETDIR)/libspasm_lib.a + DEFINES += -D_SCL_SECURE_NO_WARNINGS + ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) + LIBDEPS += + LDDEPS += + LDRESP = + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(AR) -rcs $(TARGET) + OBJRESP = + OBJECTS := \ + $(OBJDIR)/src/asm/assembler.o \ + $(OBJDIR)/src/asm/bytecode.o \ + $(OBJDIR)/src/asm/lexer.o \ + $(OBJDIR)/src/asm/symbol.o \ + $(OBJDIR)/src/asm/token.o \ + $(OBJDIR)/src/asm/tokenizer.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + +ifeq ($(config),release) + OBJDIR = ../../JSImpl/build/obj/Release/Release/spasm_lib + TARGETDIR = ../../JSImpl/build/bin/Release + TARGET = $(TARGETDIR)/libspasm_lib.a + DEFINES += -D_SCL_SECURE_NO_WARNINGS + ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) + LIBDEPS += + LDDEPS += + LDRESP = + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(AR) -rcs $(TARGET) + OBJRESP = + OBJECTS := \ + $(OBJDIR)/src/asm/assembler.o \ + $(OBJDIR)/src/asm/bytecode.o \ + $(OBJDIR)/src/asm/lexer.o \ + $(OBJDIR)/src/asm/symbol.o \ + $(OBJDIR)/src/asm/token.o \ + $(OBJDIR)/src/asm/tokenizer.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + ifeq ($(config),debug64) OBJDIR = ../../JSImpl/build/obj/Debug/x64/Debug/spasm_lib TARGETDIR = ../../JSImpl/build/bin/Debug @@ -55,11 +129,14 @@ ifeq ($(config),debug64) ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 -std=c++14 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -m64 + LIBDEPS += LDDEPS += + LDRESP = LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(AR) -rcs $(TARGET) + OBJRESP = OBJECTS := \ $(OBJDIR)/src/asm/assembler.o \ $(OBJDIR)/src/asm/bytecode.o \ @@ -89,11 +166,14 @@ ifeq ($(config),release64) ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 -std=c++14 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -m64 + LIBDEPS += LDDEPS += + LDRESP = LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(AR) -rcs $(TARGET) + OBJRESP = OBJECTS := \ $(OBJDIR)/src/asm/assembler.o \ $(OBJDIR)/src/asm/bytecode.o \ @@ -121,7 +201,7 @@ RESOURCES := \ all: $(OBJDIRS) $(TARGETDIR) prebuild prelink $(TARGET) @: -$(TARGET): $(GCH) $(OBJECTS) $(LDDEPS) $(EXTERNAL_LIBS) $(RESOURCES) | $(TARGETDIR) $(OBJDIRS) +$(TARGET): $(GCH) $(OBJECTS) $(LIBDEPS) $(EXTERNAL_LIBS) $(RESOURCES) $(OBJRESP) $(LDRESP) | $(TARGETDIR) $(OBJDIRS) @echo Archiving spasm_lib ifeq (posix,$(SHELLTYPE)) $(SILENT) rm -f $(TARGET) @@ -165,6 +245,18 @@ $(GCH_OBJC): $(PCH) $(MAKEFILE) | $(OBJDIR) $(SILENT) $(CXX) $(ALL_OBJCPPFLAGS) -x objective-c++-header $(DEFINES) $(INCLUDES) -o "$@" -c "$<" endif +ifneq (,$(OBJRESP)) +$(OBJRESP): $(OBJECTS) | $(TARGETDIR) $(OBJDIRS) + $(SILENT) echo $^ + $(SILENT) echo $^ > $@ +endif + +ifneq (,$(LDRESP)) +$(LDRESP): $(LDDEPS) | $(TARGETDIR) $(OBJDIRS) + $(SILENT) echo $^ + $(SILENT) echo $^ > $@ +endif + $(OBJDIR)/src/asm/assembler.o: ../src/asm/assembler.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src/asm @echo $(notdir $<) $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" diff --git a/spasm/solution/spasm_lib.vcxproj b/spasm/solution/spasm_lib.vcxproj index bf3908e..71e58a7 100644 --- a/spasm/solution/spasm_lib.vcxproj +++ b/spasm/solution/spasm_lib.vcxproj @@ -1,10 +1,18 @@ <?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
@@ -13,59 +21,126 @@ <PropertyGroup Label="Globals">
<ProjectGuid>{3F16CDE1-AB80-8158-F4BE-32FE60685FAD}</ProjectGuid>
<RootNamespace>spasm_lib</RootNamespace>
- <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
- <PreferredToolArchitecture>x64</PreferredToolArchitecture>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
- <PreferredToolArchitecture>x64</PreferredToolArchitecture>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <OutDir>..\..\JSImpl\build\bin\Debug\</OutDir>
+ <IntDir>..\..\JSImpl\build\obj\Debug\Debug\spasm_lib\</IntDir>
+ <TargetName>spasm_lib</TargetName>
+ <TargetExt>.lib</TargetExt>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\..\JSImpl\build\bin\Debug\</OutDir>
<IntDir>..\..\JSImpl\build\obj\Debug\x64\Debug\spasm_lib\</IntDir>
<TargetName>spasm_lib</TargetName>
<TargetExt>.lib</TargetExt>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>..\..\JSImpl\build\bin\Release\</OutDir>
+ <IntDir>..\..\JSImpl\build\obj\Release\Release\spasm_lib\</IntDir>
+ <TargetName>spasm_lib</TargetName>
+ <TargetExt>.lib</TargetExt>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>..\..\JSImpl\build\bin\Release\</OutDir>
<IntDir>..\..\JSImpl\build\obj\Release\x64\Release\spasm_lib\</IntDir>
<TargetName>spasm_lib</TargetName>
<TargetExt>.lib</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <PrecompiledHeader></PrecompiledHeader>
+ <WarningLevel>Level4</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(OutDir)spasm_lib.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ <Lib>
+ <OutputFile>$(OutDir)spasm_lib.lib</OutputFile>
+ </Lib>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)spasm_lib.pdb</ProgramDatabaseFile>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
<FunctionLevelLinking>true</FunctionLevelLinking>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader></PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<ProgramDataBaseFileName>$(OutDir)spasm_lib.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -80,21 +155,55 @@ <ProgramDatabaseFile>$(OutDir)spasm_lib.pdb</ProgramDatabaseFile>
</Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<StringPooling>true</StringPooling>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <PrecompiledHeader></PrecompiledHeader>
+ <WarningLevel>Level4</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(OutDir)spasm_lib.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ <Lib>
+ <OutputFile>$(OutDir)spasm_lib.lib</OutputFile>
+ </Lib>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)spasm_lib.pdb</ProgramDatabaseFile>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
+ <Optimization>MaxSpeed</Optimization>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader></PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ProgramDataBaseFileName>$(OutDir)spasm_lib.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -112,18 +221,18 @@ </Link>
</ItemDefinitionGroup>
<ItemGroup>
- <ClCompile Include="..\src\asm\assembler.cpp">
- </ClCompile>
<ClCompile Include="..\src\asm\bytecode.cpp">
</ClCompile>
- <ClCompile Include="..\src\asm\lexer.cpp">
- </ClCompile>
<ClCompile Include="..\src\asm\symbol.cpp">
</ClCompile>
- <ClCompile Include="..\src\asm\token.cpp">
- </ClCompile>
<ClCompile Include="..\src\asm\tokenizer.cpp">
</ClCompile>
+ <ClCompile Include="..\src\asm\assembler.cpp">
+ </ClCompile>
+ <ClCompile Include="..\src\asm\lexer.cpp">
+ </ClCompile>
+ <ClCompile Include="..\src\asm\token.cpp">
+ </ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
diff --git a/spasm/solution/spasm_lib.vcxproj.filters b/spasm/solution/spasm_lib.vcxproj.filters index 6415708..c82311e 100644 --- a/spasm/solution/spasm_lib.vcxproj.filters +++ b/spasm/solution/spasm_lib.vcxproj.filters @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{2DAB880B-99B4-887C-2230-9F7C8E38947C}</UniqueIdentifier>
@@ -9,22 +9,22 @@ </Filter>
</ItemGroup>
<ItemGroup>
- <ClCompile Include="..\src\asm\assembler.cpp">
+ <ClCompile Include="..\src\asm\bytecode.cpp">
<Filter>src\asm</Filter>
</ClCompile>
- <ClCompile Include="..\src\asm\bytecode.cpp">
+ <ClCompile Include="..\src\asm\symbol.cpp">
<Filter>src\asm</Filter>
</ClCompile>
- <ClCompile Include="..\src\asm\lexer.cpp">
+ <ClCompile Include="..\src\asm\tokenizer.cpp">
<Filter>src\asm</Filter>
</ClCompile>
- <ClCompile Include="..\src\asm\symbol.cpp">
+ <ClCompile Include="..\src\asm\assembler.cpp">
<Filter>src\asm</Filter>
</ClCompile>
- <ClCompile Include="..\src\asm\token.cpp">
+ <ClCompile Include="..\src\asm\lexer.cpp">
<Filter>src\asm</Filter>
</ClCompile>
- <ClCompile Include="..\src\asm\tokenizer.cpp">
+ <ClCompile Include="..\src\asm\token.cpp">
<Filter>src\asm</Filter>
</ClCompile>
</ItemGroup>
diff --git a/spasm/solution/sprt.make b/spasm/solution/sprt.make index 10f5b52..6c9b995 100644 --- a/spasm/solution/sprt.make +++ b/spasm/solution/sprt.make @@ -1,6 +1,6 @@ # GNU Make project makefile autogenerated by GENie ifndef config - config=debug64 + config=debug endif ifndef verbose @@ -42,6 +42,70 @@ endif MAKEFILE = sprt.make +ifeq ($(config),debug) + OBJDIR = ../../JSImpl/build/obj/Debug/Debug/sprt + TARGETDIR = ../../JSImpl/build/bin/Debug + TARGET = $(TARGETDIR)/libsprt.a + DEFINES += -D_SCL_SECURE_NO_WARNINGS + ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) + LIBDEPS += + LDDEPS += + LDRESP = + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(AR) -rcs $(TARGET) + OBJRESP = + OBJECTS := \ + $(OBJDIR)/src/spasm.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + +ifeq ($(config),release) + OBJDIR = ../../JSImpl/build/obj/Release/Release/sprt + TARGETDIR = ../../JSImpl/build/bin/Release + TARGET = $(TARGETDIR)/libsprt.a + DEFINES += -D_SCL_SECURE_NO_WARNINGS + ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) + LIBDEPS += + LDDEPS += + LDRESP = + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(AR) -rcs $(TARGET) + OBJRESP = + OBJECTS := \ + $(OBJDIR)/src/spasm.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + ifeq ($(config),debug64) OBJDIR = ../../JSImpl/build/obj/Debug/x64/Debug/sprt TARGETDIR = ../../JSImpl/build/bin/Debug @@ -55,11 +119,14 @@ ifeq ($(config),debug64) ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 -std=c++14 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -m64 + LIBDEPS += LDDEPS += + LDRESP = LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(AR) -rcs $(TARGET) + OBJRESP = OBJECTS := \ $(OBJDIR)/src/spasm.o \ @@ -84,11 +151,14 @@ ifeq ($(config),release64) ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 -std=c++14 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -m64 + LIBDEPS += LDDEPS += + LDRESP = LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(AR) -rcs $(TARGET) + OBJRESP = OBJECTS := \ $(OBJDIR)/src/spasm.o \ @@ -111,7 +181,7 @@ RESOURCES := \ all: $(OBJDIRS) $(TARGETDIR) prebuild prelink $(TARGET) @: -$(TARGET): $(GCH) $(OBJECTS) $(LDDEPS) $(EXTERNAL_LIBS) $(RESOURCES) | $(TARGETDIR) $(OBJDIRS) +$(TARGET): $(GCH) $(OBJECTS) $(LIBDEPS) $(EXTERNAL_LIBS) $(RESOURCES) $(OBJRESP) $(LDRESP) | $(TARGETDIR) $(OBJDIRS) @echo Archiving sprt ifeq (posix,$(SHELLTYPE)) $(SILENT) rm -f $(TARGET) @@ -155,6 +225,18 @@ $(GCH_OBJC): $(PCH) $(MAKEFILE) | $(OBJDIR) $(SILENT) $(CXX) $(ALL_OBJCPPFLAGS) -x objective-c++-header $(DEFINES) $(INCLUDES) -o "$@" -c "$<" endif +ifneq (,$(OBJRESP)) +$(OBJRESP): $(OBJECTS) | $(TARGETDIR) $(OBJDIRS) + $(SILENT) echo $^ + $(SILENT) echo $^ > $@ +endif + +ifneq (,$(LDRESP)) +$(LDRESP): $(LDDEPS) | $(TARGETDIR) $(OBJDIRS) + $(SILENT) echo $^ + $(SILENT) echo $^ > $@ +endif + $(OBJDIR)/src/spasm.o: ../src/spasm.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src @echo $(notdir $<) $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" diff --git a/spasm/solution/sprt.vcxproj b/spasm/solution/sprt.vcxproj index bd7f6c0..55cd65f 100644 --- a/spasm/solution/sprt.vcxproj +++ b/spasm/solution/sprt.vcxproj @@ -1,10 +1,18 @@ <?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
@@ -13,59 +21,126 @@ <PropertyGroup Label="Globals">
<ProjectGuid>{AE0A9E7C-9A41-9F0D-432E-85102F441B0F}</ProjectGuid>
<RootNamespace>sprt</RootNamespace>
- <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
- <PreferredToolArchitecture>x64</PreferredToolArchitecture>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
- <PreferredToolArchitecture>x64</PreferredToolArchitecture>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <OutDir>..\..\JSImpl\build\bin\Debug\</OutDir>
+ <IntDir>..\..\JSImpl\build\obj\Debug\Debug\sprt\</IntDir>
+ <TargetName>sprt</TargetName>
+ <TargetExt>.lib</TargetExt>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\..\JSImpl\build\bin\Debug\</OutDir>
<IntDir>..\..\JSImpl\build\obj\Debug\x64\Debug\sprt\</IntDir>
<TargetName>sprt</TargetName>
<TargetExt>.lib</TargetExt>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>..\..\JSImpl\build\bin\Release\</OutDir>
+ <IntDir>..\..\JSImpl\build\obj\Release\Release\sprt\</IntDir>
+ <TargetName>sprt</TargetName>
+ <TargetExt>.lib</TargetExt>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>..\..\JSImpl\build\bin\Release\</OutDir>
<IntDir>..\..\JSImpl\build\obj\Release\x64\Release\sprt\</IntDir>
<TargetName>sprt</TargetName>
<TargetExt>.lib</TargetExt>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <PrecompiledHeader></PrecompiledHeader>
+ <WarningLevel>Level4</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(OutDir)sprt.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ <Lib>
+ <OutputFile>$(OutDir)sprt.lib</OutputFile>
+ </Lib>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)sprt.pdb</ProgramDatabaseFile>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
<FunctionLevelLinking>true</FunctionLevelLinking>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader></PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<ProgramDataBaseFileName>$(OutDir)sprt.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -80,21 +155,55 @@ <ProgramDatabaseFile>$(OutDir)sprt.pdb</ProgramDatabaseFile>
</Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<StringPooling>true</StringPooling>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <PrecompiledHeader></PrecompiledHeader>
+ <WarningLevel>Level4</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(OutDir)sprt.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ <Lib>
+ <OutputFile>$(OutDir)sprt.lib</OutputFile>
+ </Lib>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)sprt.pdb</ProgramDatabaseFile>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
+ <Optimization>MaxSpeed</Optimization>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader></PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ProgramDataBaseFileName>$(OutDir)sprt.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/spasm/solution/sprt.vcxproj.filters b/spasm/solution/sprt.vcxproj.filters index d9f8e3a..51bfc92 100644 --- a/spasm/solution/sprt.vcxproj.filters +++ b/spasm/solution/sprt.vcxproj.filters @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{2DAB880B-99B4-887C-2230-9F7C8E38947C}</UniqueIdentifier>
diff --git a/spasm/solution/sprt.vcxproj.user b/spasm/solution/sprt.vcxproj.user index 99820f1..f927c73 100644 --- a/spasm/solution/sprt.vcxproj.user +++ b/spasm/solution/sprt.vcxproj.user @@ -1,9 +1,17 @@ <?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+ <LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+ <LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
diff --git a/spasm/solution/sprun.make b/spasm/solution/sprun.make index 58b7320..60e73eb 100644 --- a/spasm/solution/sprun.make +++ b/spasm/solution/sprun.make @@ -1,6 +1,6 @@ # GNU Make project makefile autogenerated by GENie ifndef config - config=debug64 + config=debug endif ifndef verbose @@ -42,6 +42,70 @@ endif MAKEFILE = sprun.make +ifeq ($(config),debug) + OBJDIR = ../../JSImpl/build/obj/Debug/Debug/sprun + TARGETDIR = ../../JSImpl/build/bin/Debug + TARGET = $(TARGETDIR)/sprun + DEFINES += -D_SCL_SECURE_NO_WARNINGS + ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) -L"../../JSImpl/build/bin/Debug" + LIBDEPS += ../../JSImpl/build/bin/Debug/libsprt.a + LDDEPS += ../../JSImpl/build/bin/Debug/libsprt.a + LDRESP = + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) + OBJRESP = + OBJECTS := \ + $(OBJDIR)/src/main.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + +ifeq ($(config),release) + OBJDIR = ../../JSImpl/build/obj/Release/Release/sprun + TARGETDIR = ../../JSImpl/build/bin/Release + TARGET = $(TARGETDIR)/sprun + DEFINES += -D_SCL_SECURE_NO_WARNINGS + ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP -MP $(DEFINES) $(INCLUDES) + ALL_ASMFLAGS += $(ASMFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_CXXFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -std=c++14 + ALL_OBJCFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 + ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -std=c++14 + ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) + ALL_LDFLAGS += $(LDFLAGS) -L"../../JSImpl/build/bin/Release" + LIBDEPS += ../../JSImpl/build/bin/Release/libsprt.a + LDDEPS += ../../JSImpl/build/bin/Release/libsprt.a + LDRESP = + LIBS += $(LDDEPS) + EXTERNAL_LIBS += + LINKOBJS = $(OBJECTS) + LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) + OBJRESP = + OBJECTS := \ + $(OBJDIR)/src/main.o \ + + define PREBUILDCMDS + endef + define PRELINKCMDS + endef + define POSTBUILDCMDS + endef +endif + ifeq ($(config),debug64) OBJDIR = ../../JSImpl/build/obj/Debug/x64/Debug/sprun TARGETDIR = ../../JSImpl/build/bin/Debug @@ -55,11 +119,14 @@ ifeq ($(config),debug64) ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -m64 -std=c++14 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"../../JSImpl/build/bin/Debug" -m64 + LIBDEPS += ../../JSImpl/build/bin/Debug/libsprt.a LDDEPS += ../../JSImpl/build/bin/Debug/libsprt.a + LDRESP = LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) + OBJRESP = OBJECTS := \ $(OBJDIR)/src/main.o \ @@ -84,11 +151,14 @@ ifeq ($(config),release64) ALL_OBJCPPFLAGS += $(CXXFLAGS) $(CFLAGS) $(ALL_CPPFLAGS) $(ARCH) -Werror -Wall -Wextra -g -O3 -m64 -std=c++14 ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) ALL_LDFLAGS += $(LDFLAGS) -L"../../JSImpl/build/bin/Release" -m64 + LIBDEPS += ../../JSImpl/build/bin/Release/libsprt.a LDDEPS += ../../JSImpl/build/bin/Release/libsprt.a + LDRESP = LIBS += $(LDDEPS) EXTERNAL_LIBS += LINKOBJS = $(OBJECTS) LINKCMD = $(CXX) -o $(TARGET) $(LINKOBJS) $(RESOURCES) $(ARCH) $(ALL_LDFLAGS) $(LIBS) + OBJRESP = OBJECTS := \ $(OBJDIR)/src/main.o \ @@ -111,7 +181,7 @@ RESOURCES := \ all: $(OBJDIRS) $(TARGETDIR) prebuild prelink $(TARGET) @: -$(TARGET): $(GCH) $(OBJECTS) $(LDDEPS) $(EXTERNAL_LIBS) $(RESOURCES) | $(TARGETDIR) $(OBJDIRS) +$(TARGET): $(GCH) $(OBJECTS) $(LIBDEPS) $(EXTERNAL_LIBS) $(RESOURCES) $(OBJRESP) $(LDRESP) | $(TARGETDIR) $(OBJDIRS) @echo Linking sprun $(SILENT) $(LINKCMD) $(POSTBUILDCMDS) @@ -150,6 +220,18 @@ $(GCH_OBJC): $(PCH) $(MAKEFILE) | $(OBJDIR) $(SILENT) $(CXX) $(ALL_OBJCPPFLAGS) -x objective-c++-header $(DEFINES) $(INCLUDES) -o "$@" -c "$<" endif +ifneq (,$(OBJRESP)) +$(OBJRESP): $(OBJECTS) | $(TARGETDIR) $(OBJDIRS) + $(SILENT) echo $^ + $(SILENT) echo $^ > $@ +endif + +ifneq (,$(LDRESP)) +$(LDRESP): $(LDDEPS) | $(TARGETDIR) $(OBJDIRS) + $(SILENT) echo $^ + $(SILENT) echo $^ > $@ +endif + $(OBJDIR)/src/main.o: ../src/main.cpp $(GCH) $(MAKEFILE) | $(OBJDIR)/src @echo $(notdir $<) $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -c "$<" diff --git a/spasm/solution/sprun.vcxproj b/spasm/solution/sprun.vcxproj index ee6678e..10bb330 100644 --- a/spasm/solution/sprun.vcxproj +++ b/spasm/solution/sprun.vcxproj @@ -1,10 +1,18 @@ <?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
@@ -13,32 +21,62 @@ <PropertyGroup Label="Globals">
<ProjectGuid>{FD605F10-6975-87C1-32F7-2A219ECA83F2}</ProjectGuid>
<RootNamespace>sprun</RootNamespace>
- <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
- <PreferredToolArchitecture>x64</PreferredToolArchitecture>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <VCProjectVersion>16.0</VCProjectVersion>
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
- <PreferredToolArchitecture>x64</PreferredToolArchitecture>
+ <PlatformToolset>v142</PlatformToolset>
+ <DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <OutDir>..\..\JSImpl\build\bin\Debug\</OutDir>
+ <IntDir>..\..\JSImpl\build\obj\Debug\Debug\sprun\</IntDir>
+ <TargetName>sprun</TargetName>
+ <TargetExt>.exe</TargetExt>
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\..\JSImpl\build\bin\Debug\</OutDir>
<IntDir>..\..\JSImpl\build\obj\Debug\x64\Debug\sprun\</IntDir>
@@ -46,6 +84,13 @@ <TargetExt>.exe</TargetExt>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>..\..\JSImpl\build\bin\Release\</OutDir>
+ <IntDir>..\..\JSImpl\build\obj\Release\Release\sprun\</IntDir>
+ <TargetName>sprun</TargetName>
+ <TargetExt>.exe</TargetExt>
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>..\..\JSImpl\build\bin\Release\</OutDir>
<IntDir>..\..\JSImpl\build\obj\Release\x64\Release\sprun\</IntDir>
@@ -53,21 +98,53 @@ <TargetExt>.exe</TargetExt>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <PrecompiledHeader></PrecompiledHeader>
+ <WarningLevel>Level4</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(IntDir)sprun.compile.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)sprun.pdb</ProgramDatabaseFile>
+ <AdditionalLibraryDirectories>;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <OutputFile>$(OutDir)sprun.exe</OutputFile>
+ <EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
<FunctionLevelLinking>true</FunctionLevelLinking>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader></PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<ProgramDataBaseFileName>$(IntDir)sprun.compile.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -76,26 +153,61 @@ <SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)sprun.pdb</ProgramDatabaseFile>
+ <AdditionalLibraryDirectories>;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<OutputFile>$(OutDir)sprun.exe</OutputFile>
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<StringPooling>true</StringPooling>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <PrecompiledHeader></PrecompiledHeader>
+ <WarningLevel>Level4</WarningLevel>
+ <TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(IntDir)sprun.compile.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(OutDir)sprun.pdb</ProgramDatabaseFile>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <OutputFile>$(OutDir)sprun.exe</OutputFile>
+ <EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
+ <Optimization>MaxSpeed</Optimization>
+ <PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader></PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
+ <LanguageStandard>stdcpp14</LanguageStandard>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ProgramDataBaseFileName>$(IntDir)sprun.compile.pdb</ProgramDataBaseFileName>
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -106,6 +218,7 @@ <ProgramDatabaseFile>$(OutDir)sprun.pdb</ProgramDatabaseFile>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<OutputFile>$(OutDir)sprun.exe</OutputFile>
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
<TargetMachine>MachineX64</TargetMachine>
diff --git a/spasm/solution/sprun.vcxproj.filters b/spasm/solution/sprun.vcxproj.filters index daeea8c..a140a04 100644 --- a/spasm/solution/sprun.vcxproj.filters +++ b/spasm/solution/sprun.vcxproj.filters @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{2DAB880B-99B4-887C-2230-9F7C8E38947C}</UniqueIdentifier>
diff --git a/spasm/solution/sprun.vcxproj.user b/spasm/solution/sprun.vcxproj.user index 99820f1..f927c73 100644 --- a/spasm/solution/sprun.vcxproj.user +++ b/spasm/solution/sprun.vcxproj.user @@ -1,9 +1,17 @@ <?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+ <LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+ <LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerCommandArguments></LocalDebuggerCommandArguments>
diff --git a/spasm/src/asm/lexer.cpp b/spasm/src/asm/lexer.cpp index 996762c..fd522ee 100644 --- a/spasm/src/asm/lexer.cpp +++ b/spasm/src/asm/lexer.cpp @@ -3082,7 +3082,7 @@ void Lexer::read(size_t nbytes) file->read(old_limit, limit - old_limit); if (file->eof()) { - size_t bytes = file->gcount(); + auto bytes = file->gcount(); std::fill(old_limit + bytes, limit, '\0'); } } @@ -3092,7 +3092,7 @@ void Lexer::buffer_init() file->read(buffer, buffer_size); if (file->eof()) { - size_t bytes = file->gcount(); + auto bytes = file->gcount(); std::fill(buffer + bytes, buffer + buffer_size, '\0'); } diff --git a/spasm/src/asm/lexer.re b/spasm/src/asm/lexer.re index bdf792d..7de620d 100644 --- a/spasm/src/asm/lexer.re +++ b/spasm/src/asm/lexer.re @@ -339,7 +339,7 @@ void Lexer::read (size_t nbytes) file->read (old_limit, limit - old_limit); if (file->eof ()) { - size_t bytes = file->gcount (); + auto bytes = file->gcount (); std::fill (old_limit + bytes, limit, '\0'); } } @@ -348,7 +348,7 @@ void Lexer::buffer_init () { file->read (buffer, buffer_size); if (file->eof ()) { - size_t bytes = file->gcount (); + auto bytes = file->gcount (); std::fill (buffer + bytes, buffer + buffer_size, '\0'); } diff --git a/spasm/src/spasm.cpp b/spasm/src/spasm.cpp index 6a62c90..94086a6 100644 --- a/spasm/src/spasm.cpp +++ b/spasm/src/spasm.cpp @@ -331,7 +331,7 @@ void Spasm::gotrue(reg_t a0, reg_t a1) { if (get_local(a0)) { - m_PC = a1; + go(a1); } } @@ -344,7 +344,7 @@ void Spasm::gofalse(reg_t a0, reg_t a1) { if (!get_local(a0)) { - m_PC = a1; + go(a1); } } @@ -354,7 +354,7 @@ void Spasm::gofalse(reg_t a0, reg_t a1) */ void Spasm::go(reg_t a0) { - m_PC = a0; + m_PC = PC_t(a0); } /*! @@ -507,7 +507,7 @@ int64_t Spasm::read_integer(size_t size) data_t Spasm::read_string(size_t size) { - const auto length = read_integer(size); + const auto length = size_t(read_integer(size)); const auto s = reinterpret_cast<const char*>(&m_ByteCode[m_PC]); m_PC += length; const auto value = m_Strings.Get(s, length); diff --git a/spasm/src/value.hpp b/spasm/src/value.hpp index d86c0ef..725d48c 100644 --- a/spasm/src/value.hpp +++ b/spasm/src/value.hpp @@ -25,39 +25,38 @@ struct Value explicit Value(double v) { m_value.as_double = v; } - explicit Value(bool v) : Value(ValueType::Boolean, (size_t)v) {} + explicit Value(bool v) : Value(ValueType::Boolean, (uint64_t)v) {} - Value(ValueType tag, size_t payload) + Value(ValueType tag, uint64_t payload) { assert(tag != ValueType::Number && "Zero tag is plain double"); assert(!(payload >> 48) && "Use only pointers to the heap."); m_value.as_pointer.pointer = payload; - m_value.as_pointer.tag = size_t(tag); + m_value.as_pointer.tag = uint64_t(tag); m_value.as_pointer.nan = 0x1fff; } - Value(ValueType tag, void* pointer) : Value(tag, (size_t)pointer) {} + Value(ValueType tag, void* pointer) : Value(tag, (uint64_t)pointer) {} struct NanPointer { - size_t pointer : 48; - size_t tag : 3; - size_t nan : 13; + uint64_t pointer : 48; + uint64_t tag : 3; + uint64_t nan : 13; }; struct CheckType { - size_t payload : 48; - size_t check : 16; + uint64_t payload : 48; + uint64_t check : 16; }; union { double as_double; NanPointer as_pointer; CheckType to_check; - size_t as_int64; + uint64_t as_int64; } m_value; - static_assert(sizeof(size_t) == 8, "unsupported arch"); static_assert(sizeof(double) == 8, "unsupported arch"); bool is_double() const { return m_value.to_check.check <= 0xFFF8; } @@ -76,7 +75,7 @@ struct Value void* get_pointer() const { - return (void*)(size_t)m_value.as_pointer.pointer; + return (void*)(uint64_t)m_value.as_pointer.pointer; } bool get_boolean() const @@ -173,4 +172,4 @@ inline Value operator!=(const Value& lhs, const Value& rhs) return Value(lhs.get_double() != rhs.get_double()); } -} // namespace Spasm
\ No newline at end of file +} // namespace Spasm |
