diff --git a/vc_solution/arch_nasm.props b/vc_solution/arch_nasm.props new file mode 100644 index 0000000..13174c9 --- /dev/null +++ b/vc_solution/arch_nasm.props @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ImportGroup Label="PropertySheets"> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <PreprocessorDefinitions>TAKEHIRO_IEEE754_HACK;HAVE_NASM;MMX_choose_table;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemDefinitionGroup> + <ItemGroup /> +</Project> \ No newline at end of file diff --git a/vc_solution/arch_sse2.props b/vc_solution/arch_sse2.props new file mode 100644 index 0000000..1f97d57 --- /dev/null +++ b/vc_solution/arch_sse2.props @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ImportGroup Label="PropertySheets"> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <PreprocessorDefinitions>HAVE_XMMINTRIN_H;MIN_ARCH_SSE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> + <FloatingPointModel>Fast</FloatingPointModel> + </ClCompile> + </ItemDefinitionGroup> + <ItemGroup /> +</Project> \ No newline at end of file diff --git a/vc_solution/arch_x87.props b/vc_solution/arch_x87.props new file mode 100644 index 0000000..3268c6b --- /dev/null +++ b/vc_solution/arch_x87.props @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ImportGroup Label="PropertySheets"> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <PreprocessorDefinitions>TAKEHIRO_IEEE754_HACK;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemDefinitionGroup> + <ItemGroup /> +</Project> \ No newline at end of file diff --git a/vc_solution/vc11_lame.sln b/vc_solution/vc11_lame.sln new file mode 100644 index 0000000..9453bb0 --- /dev/null +++ b/vc_solution/vc11_lame.sln @@ -0,0 +1,41 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lame", "vc11_lame_lame.vcxproj", "{EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}" + ProjectSection(ProjectDependencies) = postProject + {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2} = {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp3lame-static", "vc11_libmp3lame.vcxproj", "{20536101-3B0E-43EF-94F9-080D595DAC57}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp3lame", "vc11_libmp3lame_dll.vcxproj", "{92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmpghip-static", "vc11_mpglib.vcxproj", "{E2DAB91A-8248-4625-8A85-2C2C2A390DD8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Debug|Win32.ActiveCfg = Debug|Win32 + {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Debug|Win32.Build.0 = Debug|Win32 + {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Release|Win32.ActiveCfg = Release|Win32 + {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Release|Win32.Build.0 = Release|Win32 + {20536101-3B0E-43EF-94F9-080D595DAC57}.Debug|Win32.ActiveCfg = Debug|Win32 + {20536101-3B0E-43EF-94F9-080D595DAC57}.Debug|Win32.Build.0 = Debug|Win32 + {20536101-3B0E-43EF-94F9-080D595DAC57}.Release|Win32.ActiveCfg = Release|Win32 + {20536101-3B0E-43EF-94F9-080D595DAC57}.Release|Win32.Build.0 = Release|Win32 + {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Debug|Win32.ActiveCfg = Debug|Win32 + {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Debug|Win32.Build.0 = Debug|Win32 + {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Release|Win32.ActiveCfg = Release|Win32 + {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Release|Win32.Build.0 = Release|Win32 + {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Debug|Win32.ActiveCfg = Debug|Win32 + {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Debug|Win32.Build.0 = Debug|Win32 + {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Release|Win32.ActiveCfg = Release|Win32 + {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/vc_solution/vc11_lame_config.props b/vc_solution/vc11_lame_config.props new file mode 100644 index 0000000..fd60017 --- /dev/null +++ b/vc_solution/vc11_lame_config.props @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ImportGroup Label="PropertySheets"> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion> + <OutDir>$(SolutionDir)..\output\$(Configuration)\</OutDir> + <IntDir>$(SolutionDir)..\obj\$(Configuration)\$(ProjectName)\</IntDir> + <LinkIncremental>false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup> + <Bscmake> + <OutputFile>$(IntDir)$(ProjectName).bsc</OutputFile> + </Bscmake> + <ClCompile> + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <BrowseInformation>true</BrowseInformation> + <WarningLevel>Level4</WarningLevel> + <DisableSpecificWarnings>4995;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings> + </ClCompile> + <Link> + <AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + <ItemGroup /> +</Project> \ No newline at end of file diff --git a/vc_solution/vc11_lame_lame.vcxproj b/vc_solution/vc11_lame_lame.vcxproj new file mode 100644 index 0000000..faf101a --- /dev/null +++ b/vc_solution/vc11_lame_lame.vcxproj @@ -0,0 +1,128 @@ +<?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>lame</ProjectName> + <ProjectGuid>{EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}</ProjectGuid> + <RootNamespace>lame</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + <UseOfMfc>false</UseOfMfc> + </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" /> + <Import Project="vc11_lame_config.props" /> + <Import Project="arch_x87.props" /> + </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" /> + <Import Project="vc11_lame_config.props" /> + <Import Project="arch_x87.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Midl> + <TypeLibraryName>..\output\Debug/lame.tlb</TypeLibraryName> + <HeaderFileName /> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../;../mpglib;../libmp3lame;../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;WIN32;_WIN32;_CONSOLE;_WINDOWS;HAVE_MPGLIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;_APP=$(TargetFileName);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)lame.exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> + <AdditionalOptions>/APPCONTAINER /machine:x86 %(AdditionalOptions)</AdditionalOptions> + <TargetMachine>NotSet</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Midl> + <TypeLibraryName>..\output\Release/lame.tlb</TypeLibraryName> + <HeaderFileName /> + </Midl> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <AdditionalIncludeDirectories>..;../mpglib;../libmp3lame;../include;../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_WIN32;_CONSOLE;_WINDOWS;HAVE_MPGLIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;_APP=$(TargetFileName);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)lame.exe</OutputFile> + <SubSystem>Console</SubSystem> + <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> + <AdditionalOptions>/APPCONTAINER /machine:x86 %(AdditionalOptions)</AdditionalOptions> + <TargetMachine>NotSet</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\frontend\brhist.c" /> + <ClCompile Include="..\frontend\console.c" /> + <ClCompile Include="..\frontend\get_audio.c" /> + <ClCompile Include="..\frontend\lame_main.c" /> + <ClCompile Include="..\frontend\lametime.c" /> + <ClCompile Include="..\frontend\main.c" /> + <ClCompile Include="..\frontend\parse.c" /> + <ClCompile Include="..\frontend\timestatus.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\frontend\brhist.h" /> + <ClInclude Include="..\frontend\console.h" /> + <ClInclude Include="..\frontend\get_audio.h" /> + <ClInclude Include="..\frontend\lametime.h" /> + <ClInclude Include="..\frontend\main.h" /> + <ClInclude Include="..\frontend\parse.h" /> + <ClInclude Include="..\frontend\timestatus.h" /> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="..\libmp3lame\lame.rc" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="vc11_libmp3lame.vcxproj"> + <Project>{20536101-3b0e-43ef-94f9-080d595dac57}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file diff --git a/vc_solution/vc11_libmp3lame.vcxproj b/vc_solution/vc11_libmp3lame.vcxproj new file mode 100644 index 0000000..d4636b0 --- /dev/null +++ b/vc_solution/vc11_libmp3lame.vcxproj @@ -0,0 +1,188 @@ +<?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>libmp3lame-static</ProjectName> + <ProjectGuid>{20536101-3B0E-43EF-94F9-080D595DAC57}</ProjectGuid> + <RootNamespace>libmp3lame</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + <Import Project="vc11_nasm.props" /> + </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" /> + <Import Project="vc11_lame_config.props" /> + <Import Project="arch_x87.props" /> + </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" /> + <Import Project="vc11_lame_config.props" /> + <Import Project="arch_x87.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <AdditionalIncludeDirectories>../mpglib;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + </ClCompile> + <ResourceCompile> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)libmp3lame-static.lib</OutputFile> + </Lib> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../mpglib;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> + <DebugInformationFormat>OldStyle</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)libmp3lame-static.lib</OutputFile> + </Lib> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\libmp3lame\bitstream.c" /> + <ClCompile Include="..\libmp3lame\encoder.c" /> + <ClCompile Include="..\libmp3lame\fft.c" /> + <ClCompile Include="..\libmp3lame\gain_analysis.c" /> + <ClCompile Include="..\libmp3lame\id3tag.c" /> + <ClCompile Include="..\libmp3lame\lame.c" /> + <ClCompile Include="..\libmp3lame\mpglib_interface.c" /> + <ClCompile Include="..\libmp3lame\newmdct.c" /> + <ClCompile Include="..\libmp3lame\presets.c" /> + <ClCompile Include="..\libmp3lame\psymodel.c" /> + <ClCompile Include="..\libmp3lame\quantize.c" /> + <ClCompile Include="..\libmp3lame\quantize_pvt.c" /> + <ClCompile Include="..\libmp3lame\reservoir.c" /> + <ClCompile Include="..\libmp3lame\set_get.c" /> + <ClCompile Include="..\libmp3lame\tables.c"> + <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level1</WarningLevel> + <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Level1</WarningLevel> + </ClCompile> + <ClCompile Include="..\libmp3lame\takehiro.c" /> + <ClCompile Include="..\libmp3lame\util.c" /> + <ClCompile Include="..\libmp3lame\vbrquantize.c" /> + <ClCompile Include="..\libmp3lame\VbrTag.c" /> + <ClCompile Include="..\libmp3lame\version.c" /> + <ClCompile Include="..\libmp3lame\vector\xmm_quantize_sub.c"> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../libmp3lame;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../libmp3lame;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\libmp3lame\bitstream.h" /> + <CustomBuild Include="..\configMS.h"> + <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Performing Custom Build Step on %(Filename)</Message> + <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy ..\configMS.h ..\config.h +</Command> + <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\config.h;%(Outputs)</Outputs> + <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Performing Custom Build Step on %(Filename)</Message> + <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy ..\configMS.h ..\config.h +</Command> + <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\config.h;%(Outputs)</Outputs> + </CustomBuild> + <ClInclude Include="..\libmp3lame\encoder.h" /> + <ClInclude Include="..\libmp3lame\fft.h" /> + <ClInclude Include="..\libmp3lame\gain_analysis.h" /> + <ClInclude Include="..\libmp3lame\id3tag.h" /> + <ClInclude Include="..\libmp3lame\l3side.h" /> + <ClInclude Include="..\libmp3lame\lame-analysis.h" /> + <ClInclude Include="..\libmp3lame\lame_global_flags.h" /> + <ClInclude Include="..\libmp3lame\vector\lame_intrin.h" /> + <ClInclude Include="..\libmp3lame\lameerror.h" /> + <ClInclude Include="..\libmp3lame\machine.h" /> + <ClInclude Include="..\libmp3lame\newmdct.h" /> + <ClInclude Include="..\libmp3lame\psymodel.h" /> + <ClInclude Include="..\libmp3lame\quantize.h" /> + <ClInclude Include="..\libmp3lame\quantize_pvt.h" /> + <ClInclude Include="..\libmp3lame\reservoir.h" /> + <ClInclude Include="..\libmp3lame\set_get.h" /> + <ClInclude Include="..\libmp3lame\tables.h" /> + <ClInclude Include="..\libmp3lame\util.h" /> + <ClInclude Include="..\libmp3lame\vbrquantize.h" /> + <ClInclude Include="..\libmp3lame\VbrTag.h" /> + <ClInclude Include="..\libmp3lame\version.h" /> + <ClInclude Include="..\include\lame.h" /> + </ItemGroup> + <ItemGroup> + <NASM Include="..\libmp3lame\i386\choose_table.nas"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </NASM> + <NASM Include="..\libmp3lame\i386\cpu_feat.nas"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </NASM> + <NASM Include="..\libmp3lame\i386\fft.nas"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </NASM> + <NASM Include="..\libmp3lame\i386\fft3dn.nas"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </NASM> + <NASM Include="..\libmp3lame\i386\fftfpu.nas"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </NASM> + <NASM Include="..\libmp3lame\i386\fftsse.nas"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </NASM> + <NASM Include="..\libmp3lame\i386\ffttbl.nas"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </NASM> + <NASM Include="..\libmp3lame\i386\scalar.nas"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </NASM> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="vc11_mpglib.vcxproj"> + <Project>{e2dab91a-8248-4625-8a85-2c2c2a390dd8}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + <Import Project="vc11_nasm.targets" /> + </ImportGroup> +</Project> \ No newline at end of file diff --git a/vc_solution/vc11_libmp3lame_dll.vcxproj b/vc_solution/vc11_libmp3lame_dll.vcxproj new file mode 100644 index 0000000..9dad9d5 --- /dev/null +++ b/vc_solution/vc11_libmp3lame_dll.vcxproj @@ -0,0 +1,125 @@ +<?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>libmp3lame</ProjectName> + <ProjectGuid>{92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}</ProjectGuid> + <RootNamespace>libmp3lameDLL</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + <Import Project="vc11_nasm.props" /> + </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" /> + <Import Project="vc11_lame_config.props" /> + <Import Project="arch_x87.props" /> + </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" /> + <Import Project="vc11_lame_config.props" /> + <Import Project="arch_x87.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Midl> + <TypeLibraryName>..\output\Release/libmp3lame_dll.tlb</TypeLibraryName> + <HeaderFileName /> + </Midl> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <AdditionalIncludeDirectories>../libmp3lame;../;../mpglib;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_VC80_UPGRADE=0x0600;_DLL=$(TargetFileName);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <ProjectReference> + <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs> + </ProjectReference> + <Link> + <OutputFile>$(OutDir)libmp3lame.dll</OutputFile> + <ModuleDefinitionFile>..\include\lame.def</ModuleDefinitionFile> + <ImportLibrary>$(OutDir)libmp3lame.lib</ImportLibrary> + <AdditionalOptions>/APPCONTAINER /machine:x86 %(AdditionalOptions)</AdditionalOptions> + <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> + <TargetMachine>NotSet</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Midl> + <TypeLibraryName>..\output\Debug/libmp3lame_dll.tlb</TypeLibraryName> + <HeaderFileName /> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../libmp3lame;../;../mpglib;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_VC80_UPGRADE=0x0600;_DLL=$(TargetFileName);_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <ProjectReference> + <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs> + </ProjectReference> + <Link> + <OutputFile>$(OutDir)libmp3lame.dll</OutputFile> + <ModuleDefinitionFile>..\include\lame.def</ModuleDefinitionFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)libmp3lame.lib</ImportLibrary> + <AdditionalOptions>/APPCONTAINER /machine:x86 %(AdditionalOptions)</AdditionalOptions> + <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> + <TargetMachine>NotSet</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <CustomBuild Include="..\include\lame.def"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </CustomBuild> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="..\libmp3lame\lame.rc" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="vc11_libmp3lame.vcxproj"> + <Project>{20536101-3b0e-43ef-94f9-080d595dac57}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + <Import Project="vc11_nasm.targets" /> + </ImportGroup> +</Project> \ No newline at end of file diff --git a/vc_solution/vc11_mpglib.vcxproj b/vc_solution/vc11_mpglib.vcxproj new file mode 100644 index 0000000..a455bca --- /dev/null +++ b/vc_solution/vc11_mpglib.vcxproj @@ -0,0 +1,116 @@ +<?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>libmpghip-static</ProjectName> + <ProjectGuid>{E2DAB91A-8248-4625-8A85-2C2C2A390DD8}</ProjectGuid> + <RootNamespace>libmpghip</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + <UseOfMfc>false</UseOfMfc> + </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" /> + <Import Project="vc11_lame_config.props" /> + <Import Project="arch_x87.props" /> + </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" /> + <Import Project="vc11_lame_config.props" /> + <Import Project="arch_x87.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <AdditionalIncludeDirectories>../libmp3lame;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;HAVE_MPGLIB;_WINDOWS;USE_LAYER_2;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + </ClCompile> + <ResourceCompile> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)libmpghip-static.lib</OutputFile> + </Lib> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../libmp3lame;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;_WINDOWS;USE_LAYER_2;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> + <DebugInformationFormat>OldStyle</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)libmpghip-static.lib</OutputFile> + </Lib> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\mpglib\common.c" /> + <ClCompile Include="..\mpglib\dct64_i386.c" /> + <ClCompile Include="..\mpglib\decode_i386.c" /> + <ClCompile Include="..\mpglib\interface.c" /> + <ClCompile Include="..\mpglib\layer1.c" /> + <ClCompile Include="..\mpglib\layer2.c" /> + <ClCompile Include="..\mpglib\layer3.c" /> + <ClCompile Include="..\mpglib\tabinit.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\mpglib\common.h" /> + <CustomBuild Include="..\configMS.h"> + <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Performing Custom Build Step on %(Filename)</Message> + <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy ..\configMS.h ..\config.h +</Command> + <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\config.h;%(Outputs)</Outputs> + <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Performing Custom Build Step on %(Filename)</Message> + <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy ..\configMS.h ..\config.h +</Command> + <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\config.h;%(Outputs)</Outputs> + </CustomBuild> + <ClInclude Include="..\mpglib\dct64_i386.h" /> + <ClInclude Include="..\mpglib\decode_i386.h" /> + <ClInclude Include="..\mpglib\huffman.h" /> + <ClInclude Include="..\mpglib\interface.h" /> + <ClInclude Include="..\mpglib\l2tables.h" /> + <ClInclude Include="..\mpglib\layer1.h" /> + <ClInclude Include="..\mpglib\layer2.h" /> + <ClInclude Include="..\mpglib\layer3.h" /> + <ClInclude Include="..\mpglib\mpg123.h" /> + <ClInclude Include="..\mpglib\mpglib.h" /> + <ClInclude Include="..\mpglib\tabinit.h" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file diff --git a/vc_solution/vc11_nasm.props b/vc_solution/vc11_nasm.props new file mode 100644 index 0000000..0f8542f --- /dev/null +++ b/vc_solution/vc11_nasm.props @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup + Condition="'$(NASMBeforeTargets)' == '' and '$(NASMAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'"> + <NASMBeforeTargets>Midl</NASMBeforeTargets> + <NASMAfterTargets>CustomBuild</NASMAfterTargets> + </PropertyGroup> + <PropertyGroup> + <NASMDependsOn + Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(NASMDependsOn)</NASMDependsOn> + </PropertyGroup> + <ItemDefinitionGroup> + <NASM> + <OutFile>$(IntDir)%(Filename).obj</OutFile> + <BinFormat>win32</BinFormat> + <IncludeDir>%(RootDir)%(Directory)</IncludeDir> + <Defines>WIN32</Defines> + <CommandLineTemplate>nasmw [BinFormat] [IncludeDir] [Defines] -o [OutFile] %(FullPath)</CommandLineTemplate> + <Outputs>[OutFile]</Outputs> + <ExecutionDescription>Assembling %(Filename)...</ExecutionDescription> + <ShowOnlyRuleProperties>false</ShowOnlyRuleProperties> + </NASM> + </ItemDefinitionGroup> +</Project> \ No newline at end of file diff --git a/vc_solution/vc11_nasm.targets b/vc_solution/vc11_nasm.targets new file mode 100644 index 0000000..3158d8d --- /dev/null +++ b/vc_solution/vc11_nasm.targets @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <PropertyPageSchema + Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" /> + <AvailableItemName + Include="NASM"> + <Targets>_NASM</Targets> + </AvailableItemName> + </ItemGroup> + <UsingTask + TaskName="NASM" + TaskFactory="XamlTaskFactory" + AssemblyName="Microsoft.Build.Tasks.v4.0"> + <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task> + </UsingTask> + <Target + Name="_NASM" + BeforeTargets="$(NASMBeforeTargets)" + AfterTargets="$(NASMAfterTargets)" + Condition="'@(NASM)' != ''" + DependsOnTargets="$(NASMDependsOn);ComputeNASMOutput" + Outputs="@(NASM->Metadata('Outputs')->Distinct())" + Inputs="@(NASM);%(NASM.AdditionalDependencies);$(MSBuildProjectFile)"> + <ItemGroup + Condition="'@(SelectedFiles)' != ''"> + <NASM + Remove="@(NASM)" + Condition="'%(Identity)' != '@(SelectedFiles)'" /> + </ItemGroup> + <ItemGroup> + <NASM_tlog + Include="%(NASM.Outputs)" + Condition="'%(NASM.Outputs)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'"> + <Source>@(NASM, '|')</Source> + </NASM_tlog> + </ItemGroup> + <Message + Importance="High" + Text="%(NASM.ExecutionDescription)" /> + <WriteLinesToFile + Condition="'@(NASM_tlog)' != '' and '%(NASM_tlog.ExcludedFromBuild)' != 'true'" + File="$(TLogLocation)$(ProjectName).write.1.tlog" + Lines="^%(NASM_tlog.Source);@(NASM_tlog->'%(Fullpath)')" /> + <NASM + Condition="'@(NASM)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'" + CommandLineTemplate="%(NASM.CommandLineTemplate)" + OutFile="%(NASM.OutFile)" + BinFormat="%(NASM.BinFormat)" + IncludeDir="%(NASM.IncludeDir)" + Defines="%(NASM.Defines)" + AdditionalOptions="%(NASM.AdditionalOptions)" + Inputs="@(NASM)" /> + </Target> + <PropertyGroup> + <ComputeLinkInputsTargets> + $(ComputeLinkInputsTargets); + ComputeNASMOutput; + </ComputeLinkInputsTargets> + <ComputeLibInputsTargets> + $(ComputeLibInputsTargets); + ComputeNASMOutput; + </ComputeLibInputsTargets> + </PropertyGroup> + <Target + Name="ComputeNASMOutput" + Condition="'@(NASM)' != ''"> + <ItemGroup> + <NASMDirsToMake + Condition="'@(NASM)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'" + Include="%(NASM.Outputs)" /> + <Link + Include="%(NASMDirsToMake.Identity)" + Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> + <Lib + Include="%(NASMDirsToMake.Identity)" + Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> + <ImpLib + Include="%(NASMDirsToMake.Identity)" + Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> + </ItemGroup> + <MakeDir + Directories="@(NASMDirsToMake->'%(RootDir)%(Directory)')" /> + </Target> +</Project> \ No newline at end of file diff --git a/vc_solution/vc11_nasm.xml b/vc_solution/vc11_nasm.xml new file mode 100644 index 0000000..390d570 --- /dev/null +++ b/vc_solution/vc11_nasm.xml @@ -0,0 +1,149 @@ +<?xml version="1.0" encoding="utf-8"?> +<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback"> + <Rule + Name="NASM" + PageTemplate="tool" + DisplayName="NASM" + Order="200"> + <Rule.DataSource> + <DataSource + Persistence="ProjectFile" + ItemType="NASM" /> + </Rule.DataSource> + <Rule.Categories> + <Category + Name="General"> + <Category.DisplayName> + <sys:String>General</sys:String> + </Category.DisplayName> + </Category> + <Category + Name="Command Line" + Subtype="CommandLine"> + <Category.DisplayName> + <sys:String>Command Line</sys:String> + </Category.DisplayName> + </Category> + </Rule.Categories> + <StringListProperty + Name="Inputs" + Category="Command Line" + IsRequired="true" + Switch=" "> + <StringListProperty.DataSource> + <DataSource + Persistence="ProjectFile" + ItemType="NASM" + SourceType="Item" /> + </StringListProperty.DataSource> + </StringListProperty> + <StringProperty + Name="OutFile" + HelpContext="0" + DisplayName="output file path" + Switch="[value]" /> + <StringProperty + Name="BinFormat" + HelpContext="0" + DisplayName="Binary format" + Switch="-f [value]" /> + <StringListProperty + Name="IncludeDir" + HelpContext="0" + DisplayName="Additional include directories" + Separator=";" + Switch="-i [value]" /> + <StringListProperty + Name="Defines" + HelpContext="0" + DisplayName="Defines" + Separator=" ;," + Switch="-D[value]" /> + <StringProperty + Name="CommandLineTemplate" + DisplayName="Command Line" + Visible="False" + IncludeInCommandLine="False" /> + <DynamicEnumProperty + Name="NASMBeforeTargets" + Category="General" + EnumProvider="Targets" + IncludeInCommandLine="False"> + <DynamicEnumProperty.DisplayName> + <sys:String>Execute Before</sys:String> + </DynamicEnumProperty.DisplayName> + <DynamicEnumProperty.Description> + <sys:String>Specifies the targets for the build customization to run before.</sys:String> + </DynamicEnumProperty.Description> + <DynamicEnumProperty.ProviderSettings> + <NameValuePair + Name="Exclude" + Value="^NASMBeforeTargets|^Compute" /> + </DynamicEnumProperty.ProviderSettings> + <DynamicEnumProperty.DataSource> + <DataSource + Persistence="ProjectFile" + HasConfigurationCondition="true" /> + </DynamicEnumProperty.DataSource> + </DynamicEnumProperty> + <DynamicEnumProperty + Name="NASMAfterTargets" + Category="General" + EnumProvider="Targets" + IncludeInCommandLine="False"> + <DynamicEnumProperty.DisplayName> + <sys:String>Execute After</sys:String> + </DynamicEnumProperty.DisplayName> + <DynamicEnumProperty.Description> + <sys:String>Specifies the targets for the build customization to run after.</sys:String> + </DynamicEnumProperty.Description> + <DynamicEnumProperty.ProviderSettings> + <NameValuePair + Name="Exclude" + Value="^NASMAfterTargets|^Compute" /> + </DynamicEnumProperty.ProviderSettings> + <DynamicEnumProperty.DataSource> + <DataSource + Persistence="ProjectFile" + ItemType="" + HasConfigurationCondition="true" /> + </DynamicEnumProperty.DataSource> + </DynamicEnumProperty> + <StringListProperty + Name="Outputs" + DisplayName="Outputs" + Visible="False" + IncludeInCommandLine="False" /> + <StringProperty + Name="ExecutionDescription" + DisplayName="Execution Description" + Visible="False" + IncludeInCommandLine="False" /> + <StringListProperty + Name="AdditionalDependencies" + DisplayName="Additional Dependencies" + IncludeInCommandLine="False" + Visible="true" /> + <StringProperty + Subtype="AdditionalOptions" + Name="AdditionalOptions" + Category="Command Line"> + <StringProperty.DisplayName> + <sys:String>Additional Options</sys:String> + </StringProperty.DisplayName> + <StringProperty.Description> + <sys:String>Additional Options</sys:String> + </StringProperty.Description> + </StringProperty> + </Rule> + <ItemType + Name="NASM" + DisplayName="NASM" /> + <FileExtension + Name="*.nas" + ContentType="NASM" /> + <ContentType + Name="NASM" + DisplayName="NASM" + ItemType="NASM" /> +</ProjectSchemaDefinitions> \ No newline at end of file