Add a new shader-versioning infrastructure capable of handling multiple profiles, desktop/ES, many versions, features coming and going in different versions across different profiles, and extensions.
NB: *Use* of this infrastructure is so far only skeletal.
Fixed a few typos and minor issues along the way.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@19951 e7fa87d3-cd2b-0410-9028-fcbf551c1848
diff --git a/glslang.vcxproj b/glslang.vcxproj
new file mode 100644
index 0000000..555ddf1
--- /dev/null
+++ b/glslang.vcxproj
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.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="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>glslang</ProjectName>
+ <ProjectGuid>{3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </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)'=='Debug|Win32'" 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>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">glslang\UserM_Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">glslang\UserM_Debug\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">UserM_Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">UserM_Release\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>glslang;glslang\MachineIndependent;glslang\OSDependent\Windows;OGLCompilersDLL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_DEBUG;WIN32;_CONSOLE;_USRDLL;TEST_EXPORTS;GENERIC_COMPILER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
+ <BrowseInformation>
+ </BrowseInformation>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <CallingConvention>FastCall</CallingConvention>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <SuppressStartupBanner>false</SuppressStartupBanner>
+ <IgnoreSpecificDefaultLibraries>libcmtd.lib;libcd.lib;libcmt.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>UserM_Debug/glslang.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>UserM_Debug/generic/glslang.lib</ImportLibrary>
+ <OutputFile>$(IntDir)$(TargetName)$(TargetExt)</OutputFile>
+ </Link>
+ <Midl>
+ <TypeLibraryName>UserM_Debug/generic/glslang.tlb</TypeLibraryName>
+ </Midl>
+ <PostBuildEvent>
+ <Message>copy dll</Message>
+ <Command>del Test\$(TargetName)$(TargetExt)
+xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test</Command>
+ </PostBuildEvent>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0809</Culture>
+ </ResourceCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <OmitFramePointers>true</OmitFramePointers>
+ <AdditionalIncludeDirectories>glslang;glslang\MachineIndependent;glslang\OSDependent\Windows;OGLCompilersDLL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>NDEBUG;WIN32;_CONSOLE;_USRDLL;TEST_EXPORTS;GENERIC_COMPILER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <MinimalRebuild>false</MinimalRebuild>
+ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <BufferSecurityCheck>true</BufferSecurityCheck>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>UserM_Release/</AssemblerListingLocation>
+ <ObjectFileName>UserM_Release/</ObjectFileName>
+ <ProgramDataBaseFileName>UserM_Release/glslang</ProgramDataBaseFileName>
+ <BrowseInformation>
+ </BrowseInformation>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <CallingConvention>FastCall</CallingConvention>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>UserM_Release/generic/glslang.dll</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <IgnoreSpecificDefaultLibraries>libcmtd.lib;libcd.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>UserM_Release/generic/glslang.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <ImportLibrary>UserM_Release/generic/glslang.lib</ImportLibrary>
+ </Link>
+ <Midl>
+ <TypeLibraryName>UserM_Release/generic/glslang.tlb</TypeLibraryName>
+ </Midl>
+ <PostBuildEvent>
+ <Message>copy dll</Message>
+ <Command>xcopy /y UserM_Release\generic\glslang.* StandAlone</Command>
+ </PostBuildEvent>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0809</Culture>
+ </ResourceCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="glslang\MachineIndependent\gen_glslang.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\glslang_tab.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\InfoSink.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\Initialize.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\Versions.cpp" />
+ <ClCompile Include="OGLCompilersDLL\InitializeDll.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\IntermTraverse.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\Intermediate.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\ParseHelper.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\PoolAlloc.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\QualifierAlive.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\RemoveTree.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\ShaderLang.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\SymbolTable.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\intermOut.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\parseConst.cpp" />
+ <ClCompile Include="glslang\MachineIndependent\preprocessor\atom.c" />
+ <ClCompile Include="glslang\MachineIndependent\preprocessor\cpp.c" />
+ <ClCompile Include="glslang\MachineIndependent\preprocessor\cppstruct.c" />
+ <ClCompile Include="glslang\MachineIndependent\preprocessor\memory.c" />
+ <ClCompile Include="glslang\MachineIndependent\preprocessor\scanner.c" />
+ <ClCompile Include="glslang\MachineIndependent\preprocessor\symbols.c" />
+ <ClCompile Include="glslang\MachineIndependent\preprocessor\tokens.c" />
+ <ClCompile Include="glslang\GenericCodeGen\CodeGen.cpp" />
+ <ClCompile Include="glslang\GenericCodeGen\Link.cpp" />
+ <ClCompile Include="glslang\OSDependent\Windows\main.cpp" />
+ <ClCompile Include="glslang\OSDependent\Windows\ossource.cpp" />
+ <ClCompile Include="glslang\OSDependent\Linux\ossource.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="glslang\MachineIndependent\glslang_tab.cpp.h" />
+ <ClInclude Include="glslang\MachineIndependent\Initialize.h" />
+ <ClInclude Include="glslang\MachineIndependent\MMap.h" />
+ <ClInclude Include="glslang\MachineIndependent\ParseHelper.h" />
+ <ClInclude Include="glslang\MachineIndependent\QualifierAlive.h" />
+ <ClInclude Include="glslang\MachineIndependent\RemoveTree.h" />
+ <ClInclude Include="glslang\MachineIndependent\localintermediate.h" />
+ <ClInclude Include="glslang\MachineIndependent\preprocessor\atom.h" />
+ <ClInclude Include="glslang\MachineIndependent\preprocessor\compile.h" />
+ <ClInclude Include="glslang\MachineIndependent\preprocessor\cpp.h" />
+ <ClInclude Include="glslang\MachineIndependent\preprocessor\memory.h" />
+ <ClInclude Include="glslang\MachineIndependent\preprocessor\parser.h" />
+ <ClInclude Include="glslang\MachineIndependent\preprocessor\preprocess.h" />
+ <ClInclude Include="glslang\MachineIndependent\preprocessor\scanner.h" />
+ <ClInclude Include="glslang\MachineIndependent\preprocessor\slglobals.h" />
+ <ClInclude Include="glslang\MachineIndependent\preprocessor\symbols.h" />
+ <ClInclude Include="glslang\MachineIndependent\preprocessor\tokens.h" />
+ <ClInclude Include="glslang\Include\BaseTypes.h" />
+ <ClInclude Include="glslang\Include\Common.h" />
+ <ClInclude Include="glslang\Include\ConstantUnion.h" />
+ <ClInclude Include="glslang\Include\InfoSink.h" />
+ <ClInclude Include="glslang\MachineIndependent\Versions.h" />
+ <ClInclude Include="OGLCompilersDLL\InitializeDll.h" />
+ <ClInclude Include="glslang\Include\InitializeGlobals.h" />
+ <ClInclude Include="glslang\Include\InitializeParseContext.h" />
+ <ClInclude Include="glslang\Include\PoolAlloc.h" />
+ <ClInclude Include="glslang\Include\ResourceLimits.h" />
+ <ClInclude Include="glslang\Include\ShHandle.h" />
+ <ClInclude Include="glslang\MachineIndependent\SymbolTable.h" />
+ <ClInclude Include="glslang\Include\Types.h" />
+ <ClInclude Include="glslang\Include\intermediate.h" />
+ <ClInclude Include="glslang\MachineIndependent\unistd.h" />
+ <ClInclude Include="glslang\Public\ShaderLang.h" />
+ <ClInclude Include="glslang\OSDependent\Windows\osinclude.h" />
+ <ClInclude Include="glslang\OSDependent\Linux\osinclude.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="glslang\MachineIndependent\glslang.y">
+ <FileType>Document</FileType>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Executing Bison on glslang.y</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple
+SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple
+cd %(RootDir)%(Directory)
+%(RootDir)%(Directory)..\..\tools\bison.exe -d -t glslang.y -o glslang_tab.cpp
+</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)glslang_tab.cpp;%(RootDir)%(Directory)glslang_tab.cpp.h</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Executing Bison on %(FullPath)</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple
+SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple
+cd %(RootDir)%(Directory)
+%(RootDir)%(Directory)..\..\tools\bison.exe -d -t -v %(Filename).y
+if EXIST %(RootDir)%(Directory)Gen_%(Filename)_tab.cpp del %(RootDir)%(Directory)Gen_%(Filename)_tab.cpp
+rename %(RootDir)%(Directory)%(Filename)_tab.c Gen_%(Filename)_tab.cpp
+</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(RootDir)%(Directory)Gen_%(Filename)_tab.cpp;%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="glslang\MachineIndependent\glslang.l">
+ <FileType>Document</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cd %(RootDir)%(Directory)
+%(RootDir)%(Directory)..\..\tools\flex.exe glslang.l
+</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Executing flex on glslang.l</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)gen_glslang.cpp</Outputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(RootDir)%(Directory)glslang_tab.cpp.h</AdditionalInputs>
+ </CustomBuild>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file