Skip to content

Commit

Permalink
Skeletton
Browse files Browse the repository at this point in the history
  • Loading branch information
piscisaureus committed Aug 24, 2012
1 parent 733e462 commit 51a59be
Show file tree
Hide file tree
Showing 14 changed files with 361 additions and 0 deletions.
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
*.opensdf
*.orig
*.sdf
*.suo
*.vcxproj.filters
*.vcxproj.user

/Debug
/Release
/ipch
172 changes: 172 additions & 0 deletions common.gypi
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
{
'variables': {
'visibility%': 'hidden',
'library%': 'static_library', # allow override to 'shared_library' for DLL/.so builds
'component%': 'static_library',
'host_arch%': '',
'target_arch%': ''
},

'target_defaults': {
'default_configuration': 'Debug',
'configurations': {

'Debug': {
'defines': [ 'DEBUG', '_DEBUG' ],
'cflags': [ '-g', '-O0' ],
'msvs_settings': {
'VCCLCompilerTool': {
'target_conditions': [
['library=="static_library"', {
'RuntimeLibrary': 1 # static debug
}, {
'RuntimeLibrary': 3 # DLL debug
}]
],
'Optimization': 0, # /Od, no optimization
'MinimalRebuild': 'false',
'OmitFramePointers': 'false',
'BasicRuntimeChecks': 3 # /RTC1
},
'VCLinkerTool': {
'LinkIncremental': 2 # enable incremental linking
}
},
'xcode_settings': {
'GCC_OPTIMIZATION_LEVEL': '0'
}
},

'Release': {
'defines': [ 'NDEBUG' ],
'cflags': [
'-O3',
'-fomit-frame-pointer',
'-fdata-sections',
'-ffunction-sections'
],
'msvs_settings': {
'VCCLCompilerTool': {
'target_conditions': [
['library=="static_library"', {
'RuntimeLibrary': 0, # static release
}, {
'RuntimeLibrary': 2, # debug release
}],
],
'Optimization': 3, # /Ox, full optimization
'FavorSizeOrSpeed': 1, # /Ot, favour speed over size
'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible
'WholeProgramOptimization': 'true', # /GL, whole program optimization, needed for LTCG
'OmitFramePointers': 'true',
'EnableFunctionLevelLinking': 'true',
'EnableIntrinsicFunctions': 'true'
},
'VCLibrarianTool': {
'AdditionalOptions': [
'/LTCG' # link time code generation
]
},
'VCLinkerTool': {
'LinkTimeCodeGeneration': 1, # link-time code generation
'OptimizeReferences': 2, # /OPT:REF
'EnableCOMDATFolding': 2, # /OPT:ICF
'LinkIncremental': 1 # disable incremental linking
},
},
}
},

'msvs_settings': {
'VCCLCompilerTool': {
'StringPooling': 'true', # pool string literals
'DebugInformationFormat': 3, # Generate a PDB
'WarningLevel': 3,
'BufferSecurityCheck': 'true',
'ExceptionHandling': 1, # /EHsc
'SuppressStartupBanner': 'true',
'WarnAsError': 'false',
'AdditionalOptions': [
'/MP', # compile across multiple CPUs
],
},
'VCLinkerTool': {
'GenerateDebugInformation': 'true',
'RandomizedBaseAddress': 2, # enable ASLR
'DataExecutionPrevention': 2, # enable DEP
'AllowIsolation': 'true',
'SuppressStartupBanner': 'true',
'target_conditions': [
['_type=="executable"', {
'SubSystem': 1, # console executable
}],
],
},
},

'xcode_settings': {
'ALWAYS_SEARCH_USER_PATHS': 'NO',
'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
# GCC_INLINES_ARE_PRIVATE_EXTERN maps to -fvisibility-inlines-hidden
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
'PREBINDING': 'NO', # No -Wl,-prebind
'USE_HEADERMAP': 'NO',
'WARNING_CFLAGS': [
'-Wall',
'-Wendif-labels',
'-W',
'-Wno-unused-parameter'
]
},

'conditions': [
['OS == "win"', {
'msvs_cygwin_shell': 0, # prevent actions from trying to use cygwin
'defines': [
'WIN32',
# we don't want VC++ warning us about how dangerous C functions are.
'_CRT_SECURE_NO_DEPRECATE',
# ... or that C implementations shouldn't use POSIX names
'_CRT_NONSTDC_NO_DEPRECATE'
],
}],

[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
'variables': {
'gcc_version%': '<!(python build/gcc_version.py)>)'
},
'cflags': [ '-Wall' ],
'cflags_cc': [ '-fno-rtti', '-fno-exceptions' ],
'conditions': [
[ 'host_arch != target_arch and target_arch=="ia32"', {
'cflags': [ '-m32' ],
'ldflags': [ '-m32' ]
}],
[ 'OS=="linux"', {
'cflags': [ '-ansi' ]
}],
[ 'visibility=="hidden" and gcc_version >= "4.0.0"', {
'cflags': [ '-fvisibility=hidden' ]
}],
]
}]
],

'target_conditions': [
['_type!="static_library"', {
'cflags': [ '-fPIC' ],
'xcode_settings': {
'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic
# (Equivalent to -fPIC)
'OTHER_LDFLAGS': [ '-Wl,-search_paths_first' ]
}
}]
]
}
}
20 changes: 20 additions & 0 deletions epoll/epoll.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "epoll", "epoll.vcxproj", "{09E15239-A3A8-4C32-8FA7-D1EA9CB9F9F8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{09E15239-A3A8-4C32-8FA7-D1EA9CB9F9F8}.Debug|Win32.ActiveCfg = Debug|Win32
{09E15239-A3A8-4C32-8FA7-D1EA9CB9F9F8}.Debug|Win32.Build.0 = Debug|Win32
{09E15239-A3A8-4C32-8FA7-D1EA9CB9F9F8}.Release|Win32.ActiveCfg = Release|Win32
{09E15239-A3A8-4C32-8FA7-D1EA9CB9F9F8}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
81 changes: 81 additions & 0 deletions epoll/epoll.vcxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?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">
<ProjectGuid>{09E15239-A3A8-4C32-8FA7-D1EA9CB9F9F8}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>epoll</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<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'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
1 change: 1 addition & 0 deletions gen.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python \gyp\gyp -Dlibrary=static_library -Icommon.gypi wpoll.gyp --depth=.
1 change: 1 addition & 0 deletions include/wpoll.h
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions src/msafd.h
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions src/test.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions src/tree.h
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions src/wpoll.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions test.vcxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<?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"><ProjectGuid>{58F32AFA-FCBB-2A4D-DCB4-242324A2FAC4}</ProjectGuid><Keyword>Win32Proj</Keyword><RootNamespace>test</RootNamespace></PropertyGroup><Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/><PropertyGroup Label="Configuration"><ConfigurationType>Application</ConfigurationType></PropertyGroup><Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/><ImportGroup Label="ExtensionSettings"/><ImportGroup Label="PropertySheets"><Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/></ImportGroup><PropertyGroup Label="UserMacros"/><PropertyGroup><ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\.\bin\;$(MSBuildProjectDirectory)\.\bin\</ExecutablePath><IntDir>$(Configuration)\obj\$(ProjectName)\</IntDir><LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|Win32&apos;">false</LinkIncremental><LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|Win32&apos;">true</LinkIncremental><OutDir>$(SolutionDir)$(Configuration)\</OutDir><TargetName>$(ProjectName)</TargetName><TargetPath>$(OutDir)\$(ProjectName).exe</TargetPath></PropertyGroup><ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|Win32&apos;"><ClCompile><AdditionalIncludeDirectories>include;src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories><AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions><BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks><BufferSecurityCheck>true</BufferSecurityCheck><DebugInformationFormat>ProgramDatabase</DebugInformationFormat><ExceptionHandling>Sync</ExceptionHandling><MinimalRebuild>false</MinimalRebuild><OmitFramePointers>false</OmitFramePointers><Optimization>Disabled</Optimization><PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions><RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary><StringPooling>true</StringPooling><SuppressStartupBanner>true</SuppressStartupBanner><TreatWarningAsError>false</TreatWarningAsError><WarningLevel>Level3</WarningLevel></ClCompile><Link><AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies><AllowIsolation>true</AllowIsolation><DataExecutionPrevention>true</DataExecutionPrevention><GenerateDebugInformation>true</GenerateDebugInformation><OutputFile>$(OutDir)$(ProjectName).exe</OutputFile><RandomizedBaseAddress>true</RandomizedBaseAddress><SubSystem>Console</SubSystem><SuppressStartupBanner>true</SuppressStartupBanner></Link><ResourceCompile><AdditionalIncludeDirectories>include;src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories><PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions></ResourceCompile></ItemDefinitionGroup><ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|Win32&apos;"><ClCompile><AdditionalIncludeDirectories>include;src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories><AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions><BufferSecurityCheck>true</BufferSecurityCheck><DebugInformationFormat>ProgramDatabase</DebugInformationFormat><ExceptionHandling>Sync</ExceptionHandling><FavorSizeOrSpeed>Speed</FavorSizeOrSpeed><FunctionLevelLinking>true</FunctionLevelLinking><InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion><IntrinsicFunctions>true</IntrinsicFunctions><OmitFramePointers>true</OmitFramePointers><Optimization>Full</Optimization><PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions><RuntimeLibrary>MultiThreaded</RuntimeLibrary><StringPooling>true</StringPooling><SuppressStartupBanner>true</SuppressStartupBanner><TreatWarningAsError>false</TreatWarningAsError><WarningLevel>Level3</WarningLevel><WholeProgramOptimization>true</WholeProgramOptimization></ClCompile><Lib><AdditionalOptions>/LTCG %(AdditionalOptions)</AdditionalOptions></Lib><Link><AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies><AllowIsolation>true</AllowIsolation><DataExecutionPrevention>true</DataExecutionPrevention><EnableCOMDATFolding>true</EnableCOMDATFolding><GenerateDebugInformation>true</GenerateDebugInformation><LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration><OptimizeReferences>true</OptimizeReferences><OutputFile>$(OutDir)$(ProjectName).exe</OutputFile><RandomizedBaseAddress>true</RandomizedBaseAddress><SubSystem>Console</SubSystem><SuppressStartupBanner>true</SuppressStartupBanner></Link><ResourceCompile><AdditionalIncludeDirectories>include;src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories><PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions></ResourceCompile></ItemDefinitionGroup><ItemGroup><None Include="wpoll.gyp"/></ItemGroup><ItemGroup><ClCompile Include="src\test.c"/></ItemGroup><ItemGroup><ProjectReference Include="wpoll.vcxproj"><Project>{9221E672-D419-F7D7-9259-A7D2BE1D177A}</Project><ReferenceOutputAssembly>false</ReferenceOutputAssembly></ProjectReference></ItemGroup><Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/><ImportGroup Label="ExtensionTargets"/></Project>
40 changes: 40 additions & 0 deletions wpoll.gyp
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
'target_defaults': {
},

'targets': [
{
'target_name': 'wpoll',
'type': '<(library)',

'libraries': ['-lws2_32.lib' ],
'include_dirs': [ 'include', 'src' ],

'direct_dependent_settings': {
'include_dirs': [ 'include' ],
'libraries': ['-lws2_32.lib' ]
},

'sources': [
'common.gypi',
'include/wpoll.h',
'src/msafd.h',
'src/tree.h',
'src/wpoll.c',
]
},

{
'target_name': 'test',
'type': 'executable',

'dependencies': [ 'wpoll' ],
'libraries': ['-lws2_32.lib' ],
'include_dirs': [ 'include', 'src' ],

'sources': [
'src/test.c'
]
}
]
}
30 changes: 30 additions & 0 deletions wpoll.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test.vcxproj", "{58F32AFA-FCBB-2A4D-DCB4-242324A2FAC4}"
ProjectSection(ProjectDependencies) = postProject
{9221E672-D419-F7D7-9259-A7D2BE1D177A} = {9221E672-D419-F7D7-9259-A7D2BE1D177A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wpoll", "wpoll.vcxproj", "{9221E672-D419-F7D7-9259-A7D2BE1D177A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{58F32AFA-FCBB-2A4D-DCB4-242324A2FAC4}.Debug|Win32.ActiveCfg = Debug|Win32
{58F32AFA-FCBB-2A4D-DCB4-242324A2FAC4}.Debug|Win32.Build.0 = Debug|Win32
{58F32AFA-FCBB-2A4D-DCB4-242324A2FAC4}.Release|Win32.ActiveCfg = Release|Win32
{58F32AFA-FCBB-2A4D-DCB4-242324A2FAC4}.Release|Win32.Build.0 = Release|Win32
{9221E672-D419-F7D7-9259-A7D2BE1D177A}.Debug|Win32.ActiveCfg = Debug|Win32
{9221E672-D419-F7D7-9259-A7D2BE1D177A}.Debug|Win32.Build.0 = Debug|Win32
{9221E672-D419-F7D7-9259-A7D2BE1D177A}.Release|Win32.ActiveCfg = Release|Win32
{9221E672-D419-F7D7-9259-A7D2BE1D177A}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
EndGlobalSection
EndGlobal
Loading

0 comments on commit 51a59be

Please sign in to comment.