From 51a59be13967a1d095e931ad0112a06e692dd2b7 Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Fri, 24 Aug 2012 16:10:16 +0200 Subject: [PATCH] Skeletton --- .gitignore | 10 +++ common.gypi | 172 ++++++++++++++++++++++++++++++++++++++++++++ epoll/epoll.sln | 20 ++++++ epoll/epoll.vcxproj | 81 +++++++++++++++++++++ gen.bat | 1 + include/wpoll.h | 1 + src/msafd.h | 1 + src/test.c | 1 + src/tree.h | 1 + src/wpoll.c | 1 + test.vcxproj | 1 + wpoll.gyp | 40 +++++++++++ wpoll.sln | 30 ++++++++ wpoll.vcxproj | 1 + 14 files changed, 361 insertions(+) create mode 100644 .gitignore create mode 100644 common.gypi create mode 100644 epoll/epoll.sln create mode 100644 epoll/epoll.vcxproj create mode 100644 gen.bat create mode 100644 include/wpoll.h create mode 100644 src/msafd.h create mode 100644 src/test.c create mode 100644 src/tree.h create mode 100644 src/wpoll.c create mode 100644 test.vcxproj create mode 100644 wpoll.gyp create mode 100644 wpoll.sln create mode 100644 wpoll.vcxproj diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..231cf8f --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +*.opensdf +*.orig +*.sdf +*.suo +*.vcxproj.filters +*.vcxproj.user + +/Debug +/Release +/ipch diff --git a/common.gypi b/common.gypi new file mode 100644 index 0000000..e707e44 --- /dev/null +++ b/common.gypi @@ -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%': ')' + }, + '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' ] + } + }] + ] + } +} diff --git a/epoll/epoll.sln b/epoll/epoll.sln new file mode 100644 index 0000000..e4a658c --- /dev/null +++ b/epoll/epoll.sln @@ -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 diff --git a/epoll/epoll.vcxproj b/epoll/epoll.vcxproj new file mode 100644 index 0000000..2183579 --- /dev/null +++ b/epoll/epoll.vcxproj @@ -0,0 +1,81 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {09E15239-A3A8-4C32-8FA7-D1EA9CB9F9F8} + Win32Proj + epoll + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + \ No newline at end of file diff --git a/gen.bat b/gen.bat new file mode 100644 index 0000000..07247b3 --- /dev/null +++ b/gen.bat @@ -0,0 +1 @@ +python \gyp\gyp -Dlibrary=static_library -Icommon.gypi wpoll.gyp --depth=. diff --git a/include/wpoll.h b/include/wpoll.h new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/include/wpoll.h @@ -0,0 +1 @@ + diff --git a/src/msafd.h b/src/msafd.h new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/src/msafd.h @@ -0,0 +1 @@ + diff --git a/src/test.c b/src/test.c new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/src/test.c @@ -0,0 +1 @@ + diff --git a/src/tree.h b/src/tree.h new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/src/tree.h @@ -0,0 +1 @@ + diff --git a/src/wpoll.c b/src/wpoll.c new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/src/wpoll.c @@ -0,0 +1 @@ + diff --git a/test.vcxproj b/test.vcxproj new file mode 100644 index 0000000..25a3a44 --- /dev/null +++ b/test.vcxproj @@ -0,0 +1 @@ +DebugWin32ReleaseWin32{58F32AFA-FCBB-2A4D-DCB4-242324A2FAC4}Win32ProjtestApplication$(ExecutablePath);$(MSBuildProjectDirectory)\.\bin\;$(MSBuildProjectDirectory)\.\bin\$(Configuration)\obj\$(ProjectName)\falsetrue$(SolutionDir)$(Configuration)\$(ProjectName)$(OutDir)\$(ProjectName).exeinclude;src;%(AdditionalIncludeDirectories)/MP %(AdditionalOptions)EnableFastCheckstrueProgramDatabaseSyncfalsefalseDisabledWIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;%(PreprocessorDefinitions)MultiThreadedDebugtruetruefalseLevel3ws2_32.lib;%(AdditionalDependencies)truetruetrue$(OutDir)$(ProjectName).exetrueConsoletrueinclude;src;%(AdditionalIncludeDirectories)WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)include;src;%(AdditionalIncludeDirectories)/MP %(AdditionalOptions)trueProgramDatabaseSyncSpeedtrueAnySuitabletruetrueFullWIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;%(PreprocessorDefinitions)MultiThreadedtruetruefalseLevel3true/LTCG %(AdditionalOptions)ws2_32.lib;%(AdditionalDependencies)truetruetruetrueUseLinkTimeCodeGenerationtrue$(OutDir)$(ProjectName).exetrueConsoletrueinclude;src;%(AdditionalIncludeDirectories)WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions){9221E672-D419-F7D7-9259-A7D2BE1D177A}false \ No newline at end of file diff --git a/wpoll.gyp b/wpoll.gyp new file mode 100644 index 0000000..0a4b554 --- /dev/null +++ b/wpoll.gyp @@ -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' + ] + } + ] +} diff --git a/wpoll.sln b/wpoll.sln new file mode 100644 index 0000000..395f515 --- /dev/null +++ b/wpoll.sln @@ -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 diff --git a/wpoll.vcxproj b/wpoll.vcxproj new file mode 100644 index 0000000..f0d1370 --- /dev/null +++ b/wpoll.vcxproj @@ -0,0 +1 @@ +DebugWin32ReleaseWin32{9221E672-D419-F7D7-9259-A7D2BE1D177A}Win32ProjwpollStaticLibrary$(ExecutablePath);$(MSBuildProjectDirectory)\.\bin\;$(MSBuildProjectDirectory)\.\bin\$(Configuration)\obj\$(ProjectName)\falsetrue$(SolutionDir)$(Configuration)\$(ProjectName)$(OutDir)\lib\$(ProjectName).libinclude;src;%(AdditionalIncludeDirectories)/MP %(AdditionalOptions)EnableFastCheckstrueProgramDatabaseSyncfalsefalseDisabledWIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;%(PreprocessorDefinitions)MultiThreadedDebugtruetruefalseLevel3$(OutDir)lib\$(ProjectName).libws2_32.lib;%(AdditionalDependencies)truetruetruetruetrueinclude;src;%(AdditionalIncludeDirectories)WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)include;src;%(AdditionalIncludeDirectories)/MP %(AdditionalOptions)trueProgramDatabaseSyncSpeedtrueAnySuitabletruetrueFullWIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;%(PreprocessorDefinitions)MultiThreadedtruetruefalseLevel3true/LTCG %(AdditionalOptions)$(OutDir)lib\$(ProjectName).libws2_32.lib;%(AdditionalDependencies)truetruetruetrueUseLinkTimeCodeGenerationtruetruetrueinclude;src;%(AdditionalIncludeDirectories)WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions) \ No newline at end of file