diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000000..fdeb0c6db7e0d --- /dev/null +++ b/.gitmodules @@ -0,0 +1,8 @@ +[submodule "src/common/thirdparty/redis"] + path = src/common/thirdparty/redis-windows + url = https://github.com/MSOpenTech/redis.git + ignore = all +[submodule "src/common/thirdparty/python"] + path = src/common/thirdparty/python + url = https://github.com/austinsc/python.git + ignore = all diff --git a/Ray.sln b/Ray.sln index 1d28a31234373..d760b4a7cc237 100644 --- a/Ray.sln +++ b/Ray.sln @@ -2,87 +2,25 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ray", "vsprojects\ray.vcxproj", "{C002F9F6-8447-4B95-AA18-FB781F4A7865}" - ProjectSection(ProjectDependencies) = postProject - {7E51A25F-AC59-488F-906C-C60FAAE706AA} = {7E51A25F-AC59-488F-906C-C60FAAE706AA} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {DB653289-E887-4B13-AC08-EE3EAC1F34C9} = {DB653289-E887-4B13-AC08-EE3EAC1F34C9} - {C187A093-A0FE-489D-A40A-6E33DE0F9FEB} = {C187A093-A0FE-489D-A40A-6E33DE0F9FEB} - {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD} = {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "vsprojects\common.vcxproj", "{C002F9F6-8447-4B95-AA18-FB781F4A7865}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scheduler", "vsprojects\scheduler.vcxproj", "{D4F50B21-7FDE-41CE-87F5-2CF71178EF40}" - ProjectSection(ProjectDependencies) = postProject - {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2} = {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2} - {C002F9F6-8447-4B95-AA18-FB781F4A7865} = {C002F9F6-8447-4B95-AA18-FB781F4A7865} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "photon", "vsprojects\photon.vcxproj", "{D4F50B21-7FDE-41CE-87F5-2CF71178EF40}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "objstore", "vsprojects\objstore.vcxproj", "{DDFCEC30-7024-421A-979A-B1BF69CF464E}" - ProjectSection(ProjectDependencies) = postProject - {C002F9F6-8447-4B95-AA18-FB781F4A7865} = {C002F9F6-8447-4B95-AA18-FB781F4A7865} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plasma_client", "vsprojects\plasma_client.vcxproj", "{DDFCEC30-7024-421A-979A-B1BF69CF464E}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raylib", "vsprojects\raylib.vcxproj", "{76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}" - ProjectSection(ProjectDependencies) = postProject - {C002F9F6-8447-4B95-AA18-FB781F4A7865} = {C002F9F6-8447-4B95-AA18-FB781F4A7865} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plasma_manager", "vsprojects\plasma_manager.vcxproj", "{75348CBF-9F7A-4A49-82D8-AA71AD9306C4}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr", "thirdparty\grpc\vsprojects\vcxproj\gpr\gpr.vcxproj", "{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}" - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plasma_store", "vsprojects\plasma_store.vcxproj", "{B6B2A333-E561-4921-B628-36A5FB3AC8B9}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc", "thirdparty\grpc\vsprojects\vcxproj\grpc\grpc.vcxproj", "{29D16885-7228-4C31-81ED-5F9187C7F2A9}" - ProjectSection(ProjectDependencies) = postProject - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Redis", "Redis", "{14940C9E-181E-45D6-A7A1-E9FBAAB5A0D6}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc++", "thirdparty\grpc\vsprojects\vcxproj\grpc++\grpc++.vcxproj", "{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}" - ProjectSection(ProjectDependencies) = postProject - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - EndProjectSection - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hiredis", "src\common\thirdparty\redis-windows\msvs\hiredis\hiredis.vcxproj", "{13E85053-54B3-487B-8DDB-3430B1C1B3BF}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GRPC", "GRPC", "{42700964-831F-4B47-B556-75CBCCA48D8E}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RedisServer", "src\common\thirdparty\redis-windows\msvs\RedisServer.vcxproj", "{46842776-68A5-EC98-6A09-1859BBFC73AA}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Arrow", "Arrow", "{C9B26FA8-8665-4806-872F-347ACB231CAD}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Win32_Interop", "src\common\thirdparty\redis-windows\src\Win32_Interop\Win32_Interop.vcxproj", "{8C07F811-C81C-432C-B334-1AE6FAECF951}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "arrow", "thirdparty\arrow\vsprojects\arrow.vcxproj", "{10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}" - ProjectSection(ProjectDependencies) = postProject - {5B5857E1-64E2-4CED-A12E-45E1B3880496} = {5B5857E1-64E2-4CED-A12E-45E1B3880496} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flatc", "thirdparty\arrow\cpp\thirdparty\flatbuffers\build_ide\VS2010\flatc.vcxproj", "{5B5857E1-64E2-4CED-A12E-45E1B3880496}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_plugin_support", "thirdparty\grpc\vsprojects\vcxproj\grpc_plugin_support\grpc_plugin_support.vcxproj", "{B6E81D84-2ACB-41B8-8781-493A944C7817}" - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_cpp_plugin", "thirdparty\grpc\vsprojects\vcxproj\grpc_cpp_plugin\grpc_cpp_plugin.vcxproj", "{7E51A25F-AC59-488F-906C-C60FAAE706AA}" - ProjectSection(ProjectDependencies) = postProject - {B6E81D84-2ACB-41B8-8781-493A944C7817} = {B6E81D84-2ACB-41B8-8781-493A944C7817} - EndProjectSection - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protoc", "thirdparty\grpc\third_party\protobuf\vsprojects\protoc.vcxproj", "{DB653289-E887-4B13-AC08-EE3EAC1F34C9}" - ProjectSection(ProjectDependencies) = postProject - {07ABD431-1515-4140-932E-E8C150FF7D1A} = {07ABD431-1515-4140-932E-E8C150FF7D1A} - {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087} = {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprotobuf", "thirdparty\grpc\third_party\protobuf\vsprojects\libprotobuf.vcxproj", "{07ABD431-1515-4140-932E-E8C150FF7D1A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprotoc", "thirdparty\grpc\third_party\protobuf\vsprojects\libprotoc.vcxproj", "{2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "numbuf", "thirdparty\numbuf\vsprojects\numbuf.vcxproj", "{609D1438-D42D-4CBA-80A5-A1398C3BCC85}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua", "src\common\thirdparty\redis-windows\msvs\lua\lua\lua.vcxproj", "{170B0909-5F75-467F-9501-C99DEC16C6DC}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -116,116 +54,62 @@ Global {DDFCEC30-7024-421A-979A-B1BF69CF464E}.Release|Win32.Build.0 = Release|Win32 {DDFCEC30-7024-421A-979A-B1BF69CF464E}.Release|x64.ActiveCfg = Release|x64 {DDFCEC30-7024-421A-979A-B1BF69CF464E}.Release|x64.Build.0 = Release|x64 - {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Debug|Win32.ActiveCfg = Debug|Win32 - {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Debug|Win32.Build.0 = Debug|Win32 - {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Debug|x64.ActiveCfg = Debug|x64 - {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Debug|x64.Build.0 = Debug|x64 - {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Release|Win32.ActiveCfg = Release|Win32 - {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Release|Win32.Build.0 = Release|Win32 - {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Release|x64.ActiveCfg = Release|x64 - {76BE8E91-0F74-4276-A6A7-B279C6FEA0D2}.Release|x64.Build.0 = Release|x64 - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|Win32.ActiveCfg = Debug|Win32 - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|Win32.Build.0 = Debug|Win32 - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|x64.ActiveCfg = Debug|x64 - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|x64.Build.0 = Debug|x64 - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|Win32.ActiveCfg = Release|Win32 - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|Win32.Build.0 = Release|Win32 - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|x64.ActiveCfg = Release|x64 - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|x64.Build.0 = Release|x64 - {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|Win32.ActiveCfg = Debug|Win32 - {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|Win32.Build.0 = Debug|Win32 - {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|x64.ActiveCfg = Debug|x64 - {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|x64.Build.0 = Debug|x64 - {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|Win32.ActiveCfg = Release|Win32 - {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|Win32.Build.0 = Release|Win32 - {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|x64.ActiveCfg = Release|x64 - {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|x64.Build.0 = Release|x64 - {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Debug|Win32.ActiveCfg = Debug|Win32 - {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Debug|Win32.Build.0 = Debug|Win32 - {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Debug|x64.ActiveCfg = Debug|x64 - {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Debug|x64.Build.0 = Debug|x64 - {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Release|Win32.ActiveCfg = Release|Win32 - {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Release|Win32.Build.0 = Release|Win32 - {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Release|x64.ActiveCfg = Release|x64 - {C187A093-A0FE-489D-A40A-6E33DE0F9FEB}.Release|x64.Build.0 = Release|x64 - {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Debug|Win32.ActiveCfg = Debug|Win32 - {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Debug|Win32.Build.0 = Debug|Win32 - {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Debug|x64.ActiveCfg = Debug|x64 - {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Debug|x64.Build.0 = Debug|x64 - {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Release|Win32.ActiveCfg = Release|Win32 - {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Release|Win32.Build.0 = Release|Win32 - {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Release|x64.ActiveCfg = Release|x64 - {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD}.Release|x64.Build.0 = Release|x64 - {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Debug|Win32.ActiveCfg = Debug|Win32 - {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Debug|Win32.Build.0 = Debug|Win32 - {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Debug|x64.ActiveCfg = Debug|x64 - {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Debug|x64.Build.0 = Debug|x64 - {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Release|Win32.ActiveCfg = Release|Win32 - {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Release|Win32.Build.0 = Release|Win32 - {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Release|x64.ActiveCfg = Release|x64 - {5B5857E1-64E2-4CED-A12E-45E1B3880496}.Release|x64.Build.0 = Release|x64 - {B6E81D84-2ACB-41B8-8781-493A944C7817}.Debug|Win32.ActiveCfg = Debug|Win32 - {B6E81D84-2ACB-41B8-8781-493A944C7817}.Debug|Win32.Build.0 = Debug|Win32 - {B6E81D84-2ACB-41B8-8781-493A944C7817}.Debug|x64.ActiveCfg = Debug|x64 - {B6E81D84-2ACB-41B8-8781-493A944C7817}.Debug|x64.Build.0 = Debug|x64 - {B6E81D84-2ACB-41B8-8781-493A944C7817}.Release|Win32.ActiveCfg = Release|Win32 - {B6E81D84-2ACB-41B8-8781-493A944C7817}.Release|Win32.Build.0 = Release|Win32 - {B6E81D84-2ACB-41B8-8781-493A944C7817}.Release|x64.ActiveCfg = Release|x64 - {B6E81D84-2ACB-41B8-8781-493A944C7817}.Release|x64.Build.0 = Release|x64 - {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Debug|Win32.ActiveCfg = Debug|Win32 - {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Debug|Win32.Build.0 = Debug|Win32 - {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Debug|x64.ActiveCfg = Debug|x64 - {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Debug|x64.Build.0 = Debug|x64 - {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Release|Win32.ActiveCfg = Release|Win32 - {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Release|Win32.Build.0 = Release|Win32 - {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Release|x64.ActiveCfg = Release|x64 - {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Release|x64.Build.0 = Release|x64 - {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|Win32.ActiveCfg = Debug|Win32 - {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|Win32.Build.0 = Debug|Win32 - {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|x64.ActiveCfg = Debug|x64 - {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|x64.Build.0 = Debug|x64 - {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|Win32.ActiveCfg = Release|Win32 - {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|Win32.Build.0 = Release|Win32 - {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|x64.ActiveCfg = Release|x64 - {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|x64.Build.0 = Release|x64 - {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|Win32.ActiveCfg = Debug|Win32 - {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|Win32.Build.0 = Debug|Win32 - {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|x64.ActiveCfg = Debug|x64 - {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|x64.Build.0 = Debug|x64 - {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|Win32.ActiveCfg = Release|Win32 - {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|Win32.Build.0 = Release|Win32 - {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|x64.ActiveCfg = Release|x64 - {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|x64.Build.0 = Release|x64 - {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|Win32.ActiveCfg = Debug|Win32 - {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|Win32.Build.0 = Debug|Win32 - {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|x64.ActiveCfg = Debug|x64 - {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|x64.Build.0 = Debug|x64 - {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|Win32.ActiveCfg = Release|Win32 - {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|Win32.Build.0 = Release|Win32 - {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|x64.ActiveCfg = Release|x64 - {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|x64.Build.0 = Release|x64 - {609D1438-D42D-4CBA-80A5-A1398C3BCC85}.Debug|Win32.ActiveCfg = Debug|Win32 - {609D1438-D42D-4CBA-80A5-A1398C3BCC85}.Debug|Win32.Build.0 = Debug|Win32 - {609D1438-D42D-4CBA-80A5-A1398C3BCC85}.Debug|x64.ActiveCfg = Debug|x64 - {609D1438-D42D-4CBA-80A5-A1398C3BCC85}.Debug|x64.Build.0 = Debug|x64 - {609D1438-D42D-4CBA-80A5-A1398C3BCC85}.Release|Win32.ActiveCfg = Release|Win32 - {609D1438-D42D-4CBA-80A5-A1398C3BCC85}.Release|Win32.Build.0 = Release|Win32 - {609D1438-D42D-4CBA-80A5-A1398C3BCC85}.Release|x64.ActiveCfg = Release|x64 - {609D1438-D42D-4CBA-80A5-A1398C3BCC85}.Release|x64.Build.0 = Release|x64 + {75348CBF-9F7A-4A49-82D8-AA71AD9306C4}.Debug|Win32.ActiveCfg = Debug|Win32 + {75348CBF-9F7A-4A49-82D8-AA71AD9306C4}.Debug|Win32.Build.0 = Debug|Win32 + {75348CBF-9F7A-4A49-82D8-AA71AD9306C4}.Debug|x64.ActiveCfg = Debug|x64 + {75348CBF-9F7A-4A49-82D8-AA71AD9306C4}.Debug|x64.Build.0 = Debug|x64 + {75348CBF-9F7A-4A49-82D8-AA71AD9306C4}.Release|Win32.ActiveCfg = Release|Win32 + {75348CBF-9F7A-4A49-82D8-AA71AD9306C4}.Release|Win32.Build.0 = Release|Win32 + {75348CBF-9F7A-4A49-82D8-AA71AD9306C4}.Release|x64.ActiveCfg = Release|x64 + {75348CBF-9F7A-4A49-82D8-AA71AD9306C4}.Release|x64.Build.0 = Release|x64 + {B6B2A333-E561-4921-B628-36A5FB3AC8B9}.Debug|Win32.ActiveCfg = Debug|Win32 + {B6B2A333-E561-4921-B628-36A5FB3AC8B9}.Debug|Win32.Build.0 = Debug|Win32 + {B6B2A333-E561-4921-B628-36A5FB3AC8B9}.Debug|x64.ActiveCfg = Debug|x64 + {B6B2A333-E561-4921-B628-36A5FB3AC8B9}.Debug|x64.Build.0 = Debug|x64 + {B6B2A333-E561-4921-B628-36A5FB3AC8B9}.Release|Win32.ActiveCfg = Release|Win32 + {B6B2A333-E561-4921-B628-36A5FB3AC8B9}.Release|Win32.Build.0 = Release|Win32 + {B6B2A333-E561-4921-B628-36A5FB3AC8B9}.Release|x64.ActiveCfg = Release|x64 + {B6B2A333-E561-4921-B628-36A5FB3AC8B9}.Release|x64.Build.0 = Release|x64 + {13E85053-54B3-487B-8DDB-3430B1C1B3BF}.Debug|Win32.ActiveCfg = Debug|Win32 + {13E85053-54B3-487B-8DDB-3430B1C1B3BF}.Debug|Win32.Build.0 = Debug|Win32 + {13E85053-54B3-487B-8DDB-3430B1C1B3BF}.Debug|x64.ActiveCfg = Debug|x64 + {13E85053-54B3-487B-8DDB-3430B1C1B3BF}.Debug|x64.Build.0 = Debug|x64 + {13E85053-54B3-487B-8DDB-3430B1C1B3BF}.Release|Win32.ActiveCfg = Release|Win32 + {13E85053-54B3-487B-8DDB-3430B1C1B3BF}.Release|Win32.Build.0 = Release|Win32 + {13E85053-54B3-487B-8DDB-3430B1C1B3BF}.Release|x64.ActiveCfg = Release|x64 + {13E85053-54B3-487B-8DDB-3430B1C1B3BF}.Release|x64.Build.0 = Release|x64 + {46842776-68A5-EC98-6A09-1859BBFC73AA}.Debug|Win32.ActiveCfg = Debug|Win32 + {46842776-68A5-EC98-6A09-1859BBFC73AA}.Debug|Win32.Build.0 = Debug|Win32 + {46842776-68A5-EC98-6A09-1859BBFC73AA}.Debug|x64.ActiveCfg = Debug|x64 + {46842776-68A5-EC98-6A09-1859BBFC73AA}.Debug|x64.Build.0 = Debug|x64 + {46842776-68A5-EC98-6A09-1859BBFC73AA}.Release|Win32.ActiveCfg = Release|Win32 + {46842776-68A5-EC98-6A09-1859BBFC73AA}.Release|Win32.Build.0 = Release|Win32 + {46842776-68A5-EC98-6A09-1859BBFC73AA}.Release|x64.ActiveCfg = Release|x64 + {46842776-68A5-EC98-6A09-1859BBFC73AA}.Release|x64.Build.0 = Release|x64 + {8C07F811-C81C-432C-B334-1AE6FAECF951}.Debug|Win32.ActiveCfg = Debug|Win32 + {8C07F811-C81C-432C-B334-1AE6FAECF951}.Debug|Win32.Build.0 = Debug|Win32 + {8C07F811-C81C-432C-B334-1AE6FAECF951}.Debug|x64.ActiveCfg = Debug|x64 + {8C07F811-C81C-432C-B334-1AE6FAECF951}.Debug|x64.Build.0 = Debug|x64 + {8C07F811-C81C-432C-B334-1AE6FAECF951}.Release|Win32.ActiveCfg = Release|Win32 + {8C07F811-C81C-432C-B334-1AE6FAECF951}.Release|Win32.Build.0 = Release|Win32 + {8C07F811-C81C-432C-B334-1AE6FAECF951}.Release|x64.ActiveCfg = Release|x64 + {8C07F811-C81C-432C-B334-1AE6FAECF951}.Release|x64.Build.0 = Release|x64 + {170B0909-5F75-467F-9501-C99DEC16C6DC}.Debug|Win32.ActiveCfg = Debug|Win32 + {170B0909-5F75-467F-9501-C99DEC16C6DC}.Debug|Win32.Build.0 = Debug|Win32 + {170B0909-5F75-467F-9501-C99DEC16C6DC}.Debug|x64.ActiveCfg = Debug|x64 + {170B0909-5F75-467F-9501-C99DEC16C6DC}.Debug|x64.Build.0 = Debug|x64 + {170B0909-5F75-467F-9501-C99DEC16C6DC}.Release|Win32.ActiveCfg = Release|Win32 + {170B0909-5F75-467F-9501-C99DEC16C6DC}.Release|Win32.Build.0 = Release|Win32 + {170B0909-5F75-467F-9501-C99DEC16C6DC}.Release|x64.ActiveCfg = Release|x64 + {170B0909-5F75-467F-9501-C99DEC16C6DC}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {42700964-831F-4B47-B556-75CBCCA48D8E} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {42700964-831F-4B47-B556-75CBCCA48D8E} - {C187A093-A0FE-489D-A40A-6E33DE0F9FEB} = {42700964-831F-4B47-B556-75CBCCA48D8E} - {10E7D8E8-0EEB-46EA-A58D-F9236B5960AD} = {C9B26FA8-8665-4806-872F-347ACB231CAD} - {5B5857E1-64E2-4CED-A12E-45E1B3880496} = {C9B26FA8-8665-4806-872F-347ACB231CAD} - {B6E81D84-2ACB-41B8-8781-493A944C7817} = {42700964-831F-4B47-B556-75CBCCA48D8E} - {7E51A25F-AC59-488F-906C-C60FAAE706AA} = {42700964-831F-4B47-B556-75CBCCA48D8E} - {DB653289-E887-4B13-AC08-EE3EAC1F34C9} = {42700964-831F-4B47-B556-75CBCCA48D8E} - {07ABD431-1515-4140-932E-E8C150FF7D1A} = {42700964-831F-4B47-B556-75CBCCA48D8E} - {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087} = {42700964-831F-4B47-B556-75CBCCA48D8E} + {13E85053-54B3-487B-8DDB-3430B1C1B3BF} = {14940C9E-181E-45D6-A7A1-E9FBAAB5A0D6} + {46842776-68A5-EC98-6A09-1859BBFC73AA} = {14940C9E-181E-45D6-A7A1-E9FBAAB5A0D6} + {8C07F811-C81C-432C-B334-1AE6FAECF951} = {14940C9E-181E-45D6-A7A1-E9FBAAB5A0D6} + {170B0909-5F75-467F-9501-C99DEC16C6DC} = {14940C9E-181E-45D6-A7A1-E9FBAAB5A0D6} EndGlobalSection EndGlobal diff --git a/src/common/common.c b/src/common/common.c index c5450db3e813c..8ab6e4fe51969 100644 --- a/src/common/common.c +++ b/src/common/common.c @@ -15,7 +15,8 @@ const unique_id NIL_ID = {{255, 255, 255, 255, 255, 255, 255, 255, 255, 255, unique_id globally_unique_id(void) { /* Use /dev/urandom for "real" randomness. */ int fd; - if ((fd = open("/dev/urandom", O_RDONLY)) == -1) { + int const flags = 0 /* for Windows compatibility */; + if ((fd = open("/dev/urandom", O_RDONLY, flags)) == -1) { LOG_ERROR("Could not generate random number"); } unique_id result; diff --git a/src/common/common.h b/src/common/common.h index 9073a9b676061..2c2d394026a63 100644 --- a/src/common/common.h +++ b/src/common/common.h @@ -7,7 +7,9 @@ #include #include #include +#ifndef _WIN32 #include +#endif #include "utarray.h" @@ -53,7 +55,7 @@ #if (RAY_COMMON_LOG_LEVEL > RAY_COMMON_FATAL) #define LOG_FATAL(M, ...) -#else +#elif defined(_EXECINFO_H) || !defined(_WIN32) #define LOG_FATAL(M, ...) \ do { \ fprintf(stderr, "[FATAL] (%s:%d) " M "\n", __FILE__, __LINE__, \ @@ -63,6 +65,13 @@ backtrace_symbols_fd(buffer, calls, 1); \ exit(-1); \ } while (0); +#else +#define LOG_FATAL(M, ...) \ + do { \ + fprintf(stderr, "[FATAL] (%s:%d) " M "\n", __FILE__, __LINE__, \ + ##__VA_ARGS__); \ + exit(-1); \ + } while (0); #endif #define CHECKM(COND, M, ...) \ diff --git a/src/common/event_loop.h b/src/common/event_loop.h index defb06465b10a..e6671acb90d3b 100644 --- a/src/common/event_loop.h +++ b/src/common/event_loop.h @@ -2,7 +2,14 @@ #define EVENT_LOOP_H #include + +#ifdef _WIN32 +/* Quirks mean that Windows version needs to be included differently */ +#include +#include +#else #include "ae/ae.h" +#endif /* Unique timer ID that will be generated when the timer is added to the * event loop. Will not be reused later on in another call diff --git a/src/common/io.c b/src/common/io.c index a857bfa036c37..fdfbc5a1dc991 100644 --- a/src/common/io.c +++ b/src/common/io.c @@ -46,7 +46,8 @@ int bind_inet_sock(const int port, bool shall_listen) { close(socket_fd); return -1; } - if (setsockopt(socket_fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0) { + int *const pon = (char const *) &on; + if (setsockopt(socket_fd, SOL_SOCKET, SO_REUSEADDR, pon, sizeof(on)) < 0) { LOG_ERROR("setsockopt failed for port %d", port); close(socket_fd); return -1; diff --git a/src/common/lib/python/common_extension.c b/src/common/lib/python/common_extension.c index 6672bfa381626..f1058fdbc4e77 100644 --- a/src/common/lib/python/common_extension.c +++ b/src/common/lib/python/common_extension.c @@ -99,7 +99,7 @@ static long PyObjectID_hash(PyObjectID *self) { } static PyObject *PyObjectID_repr(PyObjectID *self) { - int hex_length = 2 * UNIQUE_ID_SIZE + 1; + enum { hex_length = 2 * UNIQUE_ID_SIZE + 1 }; char hex_id[hex_length]; sha1_to_hex(self->object_id.id, hex_id); UT_string *repr; diff --git a/src/common/logging.c b/src/common/logging.c index 010cd5682180a..45a9c8bb2a8c4 100644 --- a/src/common/logging.c +++ b/src/common/logging.c @@ -1,7 +1,9 @@ #include "logging.h" -#include #include +#include +#include + #include #include diff --git a/src/common/shims/windows/getopt.c b/src/common/shims/windows/getopt.c new file mode 100644 index 0000000000000..d9c4ae583307f --- /dev/null +++ b/src/common/shims/windows/getopt.c @@ -0,0 +1,69 @@ +/* http://stackoverflow.com/a/17195644/541686 */ + +#include +#include + +int opterr = 1, /* if error message should be printed */ + optind = 1, /* index into parent argv vector */ + optopt, /* character checked for validity */ + optreset; /* reset getopt */ +char *optarg; /* argument associated with option */ + +#define BADCH (int) '?' +#define BADARG (int) ':' +#define EMSG "" + +/* +* getopt -- +* Parse argc/argv argument vector. +*/ +int getopt(int nargc, char *const nargv[], const char *ostr) { + static char *place = EMSG; /* option letter processing */ + const char *oli; /* option letter list index */ + + if (optreset || !*place) { /* update scanning pointer */ + optreset = 0; + if (optind >= nargc || *(place = nargv[optind]) != '-') { + place = EMSG; + return (-1); + } + if (place[1] && *++place == '-') { /* found "--" */ + ++optind; + place = EMSG; + return (-1); + } + } /* option letter okay? */ + if ((optopt = (int) *place++) == (int) ':' || !(oli = strchr(ostr, optopt))) { + /* + * if the user didn't specify '-' as an option, + * assume it means -1. + */ + if (optopt == (int) '-') + return (-1); + if (!*place) + ++optind; + if (opterr && *ostr != ':') + (void) printf("illegal option -- %c\n", optopt); + return (BADCH); + } + if (*++oli != ':') { /* don't need argument */ + optarg = NULL; + if (!*place) + ++optind; + } else { /* need an argument */ + if (*place) /* no white space */ + optarg = place; + else if (nargc <= ++optind) { /* no arg */ + place = EMSG; + if (*ostr == ':') + return (BADARG); + if (opterr) + (void) printf("option requires an argument -- %c\n", optopt); + return (BADCH); + } else /* white space */ + optarg = nargv[optind]; + place = EMSG; + ++optind; + } + return (optopt); /* dump back option letter */ +} diff --git a/src/common/shims/windows/getopt.h b/src/common/shims/windows/getopt.h new file mode 100644 index 0000000000000..1870fb87f7930 --- /dev/null +++ b/src/common/shims/windows/getopt.h @@ -0,0 +1,4 @@ +#ifndef GETOPT_H +#define GETOPT_H + +#endif /* GETOPT_H */ diff --git a/src/common/shims/windows/msg.c b/src/common/shims/windows/msg.c new file mode 100644 index 0000000000000..5142c1aadf2ed --- /dev/null +++ b/src/common/shims/windows/msg.c @@ -0,0 +1,208 @@ +#include + +int socketpair(int domain, int type, int protocol, int sv[2]) { + if ((domain != AF_UNIX && domain != AF_INET) || type != SOCK_STREAM) { + return INVALID_SOCKET; + } + SOCKET sockets[2]; + int r = dumb_socketpair(sockets); + sv[0] = (int) sockets[0]; + sv[1] = (int) sockets[1]; + return r; +} + +#pragma comment(lib, "IPHlpAPI.lib") + +struct _MIB_TCPROW2 { + DWORD dwState, dwLocalAddr, dwLocalPort, dwRemoteAddr, dwRemotePort, + dwOwningPid; + enum _TCP_CONNECTION_OFFLOAD_STATE dwOffloadState; +}; + +struct _MIB_TCPTABLE2 { + DWORD dwNumEntries; + struct _MIB_TCPROW2 table[1]; +}; + +DECLSPEC_IMPORT ULONG WINAPI GetTcpTable2(struct _MIB_TCPTABLE2 *TcpTable, + PULONG SizePointer, + BOOL Order); + +static DWORD getsockpid(SOCKET client) { + /* http://stackoverflow.com/a/25431340 */ + DWORD pid = 0; + + struct sockaddr_in Server = {0}; + int ServerSize = sizeof(Server); + + struct sockaddr_in Client = {0}; + int ClientSize = sizeof(Client); + + if ((getsockname(client, (struct sockaddr *) &Server, &ServerSize) == 0) && + (getpeername(client, (struct sockaddr *) &Client, &ClientSize) == 0)) { + struct _MIB_TCPTABLE2 *TcpTable = NULL; + ULONG TcpTableSize = 0; + ULONG result; + do { + result = GetTcpTable2(TcpTable, &TcpTableSize, TRUE); + if (result != ERROR_INSUFFICIENT_BUFFER) { + break; + } + free(TcpTable); + TcpTable = (struct _MIB_TCPTABLE2 *) malloc(TcpTableSize); + } while (TcpTable != NULL); + + if (result == NO_ERROR) { + for (DWORD dw = 0; dw < TcpTable->dwNumEntries; ++dw) { + struct _MIB_TCPROW2 *row = &(TcpTable->table[dw]); + if ((row->dwState == 5 /* MIB_TCP_STATE_ESTAB */) && + (row->dwLocalAddr == Client.sin_addr.s_addr) && + ((row->dwLocalPort & 0xFFFF) == Client.sin_port) && + (row->dwRemoteAddr == Server.sin_addr.s_addr) && + ((row->dwRemotePort & 0xFFFF) == Server.sin_port)) { + pid = row->dwOwningPid; + break; + } + } + } + + free(TcpTable); + } + + return pid; +} + +ssize_t sendmsg(int sockfd, struct msghdr *msg, int flags) { + ssize_t result = -1; + struct cmsghdr *header = CMSG_FIRSTHDR(msg); + if (header->cmsg_level == SOL_SOCKET && header->cmsg_type == SCM_RIGHTS) { + /* We're trying to send over a handle of some kind. + * We have to look up which process we're communicating with, + * open a handle to it, and then duplicate our handle into it. + * However, the first two steps cannot be done atomically. + * Therefore, this code HAS A RACE CONDITIONS and is therefore NOT SECURE. + * In the absense of a malicious actor, though, it is exceedingly unlikely + * that the child process closes AND that its process ID is reassigned + * to another existing process. + */ + struct msghdr const old_msg = *msg; + int *const pfd = (int *) CMSG_DATA(header); + msg->msg_control = NULL; + msg->msg_controllen = 0; + WSAPROTOCOL_INFO protocol_info = {0}; + BOOL const is_socket = !!FDAPI_GetSocketStatePtr(*pfd); + DWORD const target_pid = getsockpid(sockfd); + HANDLE target_process = NULL; + if (target_pid) { + if (!is_socket) { + /* This is a regular handle... fit it into the same struct */ + target_process = OpenProcess(PROCESS_DUP_HANDLE, FALSE, target_pid); + if (target_process) { + if (DuplicateHandle(GetCurrentProcess(), (HANDLE)(intptr_t) *pfd, + target_process, (HANDLE *) &protocol_info, 0, + TRUE, DUPLICATE_SAME_ACCESS)) { + result = 0; + } + } + } else { + /* This is a socket... */ + result = FDAPI_WSADuplicateSocket(*pfd, target_pid, &protocol_info); + } + } + if (result == 0) { + int const nbufs = msg->dwBufferCount + 1; + WSABUF *const bufs = + (struct _WSABUF *) _alloca(sizeof(*msg->lpBuffers) * nbufs); + bufs[0].buf = (char *) &protocol_info; + bufs[0].len = sizeof(protocol_info); + memcpy(&bufs[1], msg->lpBuffers, + msg->dwBufferCount * sizeof(*msg->lpBuffers)); + DWORD nb; + msg->lpBuffers = bufs; + msg->dwBufferCount = nbufs; + GUID const wsaid_WSASendMsg = { + 0xa441e712, + 0x754f, + 0x43ca, + {0x84, 0xa7, 0x0d, 0xee, 0x44, 0xcf, 0x60, 0x6d}}; + typedef INT PASCAL WSASendMsg_t( + SOCKET s, LPWSAMSG lpMsg, DWORD dwFlags, LPDWORD lpNumberOfBytesSent, + LPWSAOVERLAPPED lpOverlapped, + LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + WSASendMsg_t *WSASendMsg = NULL; + result = FDAPI_WSAIoctl(sockfd, SIO_GET_EXTENSION_FUNCTION_POINTER, + &wsaid_WSASendMsg, sizeof(wsaid_WSASendMsg), + &WSASendMsg, sizeof(WSASendMsg), &nb, NULL, 0); + if (result == 0) { + result = (*WSASendMsg)(sockfd, msg, flags, &nb, NULL, NULL) == 0 + ? (ssize_t)(nb - sizeof(protocol_info)) + : 0; + } + } + if (result != 0 && target_process && !is_socket) { + /* we failed to send the handle, and it needs cleaning up! */ + HANDLE duplicated_back = NULL; + if (DuplicateHandle(target_process, *(HANDLE *) &protocol_info, + GetCurrentProcess(), &duplicated_back, 0, FALSE, + DUPLICATE_CLOSE_SOURCE)) { + CloseHandle(duplicated_back); + } + } + if (target_process) { + CloseHandle(target_process); + } + *msg = old_msg; + } + return result; +} + +ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags) { + int result = -1; + struct cmsghdr *header = CMSG_FIRSTHDR(msg); + if (msg->msg_controllen && + flags == 0 /* We can't send flags on Windows... */) { + struct msghdr const old_msg = *msg; + msg->msg_control = NULL; + msg->msg_controllen = 0; + WSAPROTOCOL_INFO protocol_info = {0}; + int const nbufs = msg->dwBufferCount + 1; + WSABUF *const bufs = + (struct _WSABUF *) _alloca(sizeof(*msg->lpBuffers) * nbufs); + bufs[0].buf = (char *) &protocol_info; + bufs[0].len = sizeof(protocol_info); + memcpy(&bufs[1], msg->lpBuffers, + msg->dwBufferCount * sizeof(*msg->lpBuffers)); + typedef INT PASCAL WSARecvMsg_t( + SOCKET s, LPWSAMSG lpMsg, LPDWORD lpNumberOfBytesRecvd, + LPWSAOVERLAPPED lpOverlapped, + LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + WSARecvMsg_t *WSARecvMsg = NULL; + DWORD nb; + GUID const wsaid_WSARecvMsg = { + 0xf689d7c8, + 0x6f1f, + 0x436b, + {0x8a, 0x53, 0xe5, 0x4f, 0xe3, 0x51, 0xc3, 0x22}}; + result = FDAPI_WSAIoctl(sockfd, SIO_GET_EXTENSION_FUNCTION_POINTER, + &wsaid_WSARecvMsg, sizeof(wsaid_WSARecvMsg), + &WSARecvMsg, sizeof(WSARecvMsg), &nb, NULL, 0); + if (result == 0) { + result = (*WSARecvMsg)(sockfd, msg, &nb, NULL, NULL) == 0 + ? (ssize_t)(nb - sizeof(protocol_info)) + : 0; + } + if (result == 0) { + int *const pfd = (int *) CMSG_DATA(header); + if (protocol_info.iSocketType == 0 && protocol_info.iProtocol == 0) { + *pfd = *(int *) &protocol_info; + } else { + *pfd = FDAPI_WSASocket(FROM_PROTOCOL_INFO, FROM_PROTOCOL_INFO, + FROM_PROTOCOL_INFO, &protocol_info, 0, 0); + } + header->cmsg_level = SOL_SOCKET; + header->cmsg_type = SCM_RIGHTS; + } + *msg = old_msg; + } + return result; +} diff --git a/src/common/shims/windows/netdb.h b/src/common/shims/windows/netdb.h new file mode 100644 index 0000000000000..5dace165919a2 --- /dev/null +++ b/src/common/shims/windows/netdb.h @@ -0,0 +1,4 @@ +#ifndef NETDB_H +#define NETDB_H + +#endif /* NETDB_H */ diff --git a/src/common/shims/windows/netinet/in.h b/src/common/shims/windows/netinet/in.h new file mode 100644 index 0000000000000..a60db3e05dd62 --- /dev/null +++ b/src/common/shims/windows/netinet/in.h @@ -0,0 +1,4 @@ +#ifndef IN_H +#define IN_H + +#endif /* IN_H */ diff --git a/src/common/shims/windows/poll.h b/src/common/shims/windows/poll.h new file mode 100644 index 0000000000000..058e23adee645 --- /dev/null +++ b/src/common/shims/windows/poll.h @@ -0,0 +1,4 @@ +#ifndef POLL_H +#define POLL_H + +#endif /* POLL_H */ diff --git a/src/common/shims/windows/socketpair.c b/src/common/shims/windows/socketpair.c new file mode 100644 index 0000000000000..e9fc792c15a70 --- /dev/null +++ b/src/common/shims/windows/socketpair.c @@ -0,0 +1,150 @@ +/* socketpair.c +Copyright 2007, 2010 by Nathan C. Myers +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + The name of the author must not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* Changes: + * 2014-02-12: merge David Woodhouse, Ger Hobbelt improvements + * git.infradead.org/users/dwmw2/openconnect.git/commitdiff/bdeefa54 + * github.com/GerHobbelt/selectable-socketpair + * always init the socks[] to -1/INVALID_SOCKET on error, both on Win32/64 + * and UNIX/other platforms + * 2013-07-18: Change to BSD 3-clause license + * 2010-03-31: + * set addr to 127.0.0.1 because win32 getsockname does not always set it. + * 2010-02-25: + * set SO_REUSEADDR option to avoid leaking some windows resource. + * Windows System Error 10049, "Event ID 4226 TCP/IP has reached + * the security limit imposed on the number of concurrent TCP connect + * attempts." Bleah. + * 2007-04-25: + * preserve value of WSAGetLastError() on all error returns. + * 2007-04-22: (Thanks to Matthew Gregan ) + * s/EINVAL/WSAEINVAL/ fix trivial compile failure + * s/socket/WSASocket/ enable creation of sockets suitable as stdin/stdout + * of a child process. + * add argument make_overlapped + */ + +#include + +#ifdef WIN32 +#include /* socklen_t, et al (MSVC20xx) */ +#include +#include +#else +#ifdef _WIN32 +#include +#include +#endif +#include +#include +#include +#endif + +#ifdef WIN32 + +/* dumb_socketpair: + * If make_overlapped is nonzero, both sockets created will be usable for + * "overlapped" operations via WSASend etc. If make_overlapped is zero, + * socks[0] (only) will be usable with regular ReadFile etc., and thus + * suitable for use as stdin or stdout of a child process. Note that the + * sockets must be closed with closesocket() regardless. + */ + +int dumb_socketpair(SOCKET socks[2]) { + union { + struct sockaddr_in inaddr; + struct sockaddr addr; + } a; + SOCKET listener; + int e; + socklen_t addrlen = sizeof(a.inaddr); + int reuse = 1; + + if (socks == 0) { + return SOCKET_ERROR; + } + socks[0] = socks[1] = -1; + + listener = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); + if (listener == -1) + return SOCKET_ERROR; + + memset(&a, 0, sizeof(a)); + a.inaddr.sin_family = AF_INET; + a.inaddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + a.inaddr.sin_port = 0; + + for (;;) { + if (setsockopt(listener, SOL_SOCKET, SO_REUSEADDR, (char *) &reuse, + (socklen_t) sizeof(reuse)) == -1) + break; + if (bind(listener, &a.addr, sizeof(a.inaddr)) == SOCKET_ERROR) + break; + + memset(&a, 0, sizeof(a)); + if (getsockname(listener, &a.addr, &addrlen) == SOCKET_ERROR) + break; + // win32 getsockname may only set the port number, p=0.0005. + // ( http://msdn.microsoft.com/library/ms738543.aspx ): + a.inaddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + a.inaddr.sin_family = AF_INET; + + if (listen(listener, 1) == SOCKET_ERROR) + break; + + socks[0] = FDAPI_WSASocket(AF_INET, SOCK_STREAM, 0, NULL, 0, 0); + if (socks[0] == -1) + break; + if (connect(socks[0], &a.addr, sizeof(a.inaddr)) == SOCKET_ERROR) + break; + + socks[1] = accept(listener, NULL, NULL); + if (socks[1] == -1) + break; + + FDAPI_close(listener); + return 0; + } + + FDAPI_close(listener); + FDAPI_close(socks[0]); + FDAPI_close(socks[1]); + socks[0] = socks[1] = -1; + return SOCKET_ERROR; +} +#else +int dumb_socketpair(int socks[2], int dummy) { + if (socks == 0) { + errno = EINVAL; + return -1; + } + dummy = socketpair(AF_LOCAL, SOCK_STREAM, 0, socks); + if (dummy) + socks[0] = socks[1] = -1; + return dummy; +} +#endif diff --git a/src/common/shims/windows/strings.h b/src/common/shims/windows/strings.h new file mode 100644 index 0000000000000..e264061c4e6ef --- /dev/null +++ b/src/common/shims/windows/strings.h @@ -0,0 +1,4 @@ +#ifndef STRINGS_H +#define STRINGS_H + +#endif /* STRINGS_H */ diff --git a/src/common/shims/windows/sys/ioctl.h b/src/common/shims/windows/sys/ioctl.h new file mode 100644 index 0000000000000..00f7a55ed77dc --- /dev/null +++ b/src/common/shims/windows/sys/ioctl.h @@ -0,0 +1,4 @@ +#ifndef IOCTL_H +#define IOCTL_H + +#endif /* IOCTL_H */ diff --git a/src/common/shims/windows/sys/mman.h b/src/common/shims/windows/sys/mman.h new file mode 100644 index 0000000000000..a12df75fc7eac --- /dev/null +++ b/src/common/shims/windows/sys/mman.h @@ -0,0 +1,36 @@ +#ifndef MMAN_H +#define MMAN_H + +#include + +#define MAP_SHARED 0x0010 /* share changes */ +#define MAP_FAILED ((void *) -1) +#define PROT_READ 0x04 /* pages can be read */ +#define PROT_WRITE 0x02 /* pages can be written */ +#define PROT_EXEC 0x01 /* pages can be executed */ + +static void *mmap(void *addr, + size_t len, + int prot, + int flags, + int fd, + off_t off) { + void *result = (void *) (-1); + if (!addr && prot == MAP_SHARED) { + /* HACK: we're assuming handle sizes can't exceed 32 bits, which is wrong... + * but works for now. */ + void *ptr = MapViewOfFile((HANDLE)(intptr_t) fd, FILE_MAP_ALL_ACCESS, + (DWORD)(off >> (CHAR_BIT * sizeof(DWORD))), + (DWORD) off, (SIZE_T) len); + if (ptr) { + result = ptr; + } + } + return result; +} +static int munmap(void *addr, size_t length) { + (void) length; + return UnmapViewOfFile(addr) ? 0 : -1; +} + +#endif /* MMAN_H */ diff --git a/src/common/shims/windows/sys/select.h b/src/common/shims/windows/sys/select.h new file mode 100644 index 0000000000000..8aef7950e3993 --- /dev/null +++ b/src/common/shims/windows/sys/select.h @@ -0,0 +1,4 @@ +#ifndef SELECT_H +#define SELECT_H + +#endif /* SELECT_H */ diff --git a/src/common/shims/windows/sys/socket.h b/src/common/shims/windows/sys/socket.h new file mode 100644 index 0000000000000..ba9d656bb96d9 --- /dev/null +++ b/src/common/shims/windows/sys/socket.h @@ -0,0 +1,36 @@ +#ifndef SOCKET_H +#define SOCKET_H + +typedef unsigned short sa_family_t; + +#include "../../src/Win32_Interop/Win32_FDAPI.h" +#include "../../src/Win32_Interop/Win32_APIs.h" + +#define cmsghdr _WSACMSGHDR +#undef CMSG_DATA +#define CMSG_DATA WSA_CMSG_DATA +#define CMSG_SPACE WSA_CMSG_SPACE +#define CMSG_FIRSTHDR WSA_CMSG_FIRSTHDR +#define CMSG_LEN WSA_CMSG_LEN +#define CMSG_NXTHDR WSA_CMSG_NXTHDR + +#define SCM_RIGHTS 1 + +#define iovec _WSABUF +#define iov_base buf +#define iov_len len +#define msghdr _WSAMSG +#define msg_name name +#define msg_namelen namelen +#define msg_iov lpBuffers +#define msg_iovlen dwBufferCount +#define msg_control Control.buf +#define msg_controllen Control.len +#define msg_flags dwFlags + +int dumb_socketpair(SOCKET socks[2]); +ssize_t sendmsg(int sockfd, struct msghdr *msg, int flags); +ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags); +int socketpair(int domain, int type, int protocol, int sv[2]); + +#endif /* SOCKET_H */ diff --git a/src/common/shims/windows/sys/time.h b/src/common/shims/windows/sys/time.h new file mode 100644 index 0000000000000..976342bd21215 --- /dev/null +++ b/src/common/shims/windows/sys/time.h @@ -0,0 +1,12 @@ +#ifndef TIME_H +#define TIME_H + +#include /* timeval */ + +int gettimeofday_highres(struct timeval *tv, struct timezone *tz); + +static int gettimeofday(struct timeval *tv, struct timezone *tz) { + return gettimeofday_highres(tv, tz); +} + +#endif /* TIME_H */ diff --git a/src/common/shims/windows/sys/un.h b/src/common/shims/windows/sys/un.h new file mode 100644 index 0000000000000..91642683f72eb --- /dev/null +++ b/src/common/shims/windows/sys/un.h @@ -0,0 +1,13 @@ +#ifndef UN_H +#define UN_H + +#include + +struct sockaddr_un { + /** AF_UNIX. */ + sa_family_t sun_family; + /** The pathname. */ + char sun_path[108]; +}; + +#endif /* UN_H */ diff --git a/src/common/shims/windows/sys/wait.h b/src/common/shims/windows/sys/wait.h new file mode 100644 index 0000000000000..442218408f976 --- /dev/null +++ b/src/common/shims/windows/sys/wait.h @@ -0,0 +1,4 @@ +#ifndef WAIT_H +#define WAIT_H + +#endif /* WAIT_H */ diff --git a/src/common/shims/windows/unistd.h b/src/common/shims/windows/unistd.h new file mode 100644 index 0000000000000..aab25417e199b --- /dev/null +++ b/src/common/shims/windows/unistd.h @@ -0,0 +1,11 @@ +#ifndef UNISTD_H +#define UNISTD_H + +extern char *optarg; +extern int optind, opterr, optopt; +int getopt(int nargc, char *const nargv[], const char *ostr); + +#include "../../src/Win32_Interop/Win32_FDAPI.h" +#define close(...) FDAPI_close(__VA_ARGS__) + +#endif /* UNISTD_H */ diff --git a/src/common/state/redis.c b/src/common/state/redis.c index f0e4ae30ca5ad..bf4662b904fba 100644 --- a/src/common/state/redis.c +++ b/src/common/state/redis.c @@ -4,6 +4,8 @@ #include #include +/* Including hiredis here is necessary on Windows for typedefs used in ae.h. */ +#include "hiredis/hiredis.h" #include "hiredis/adapters/ae.h" #include "utstring.h" diff --git a/src/common/task.c b/src/common/task.c index aed51c9068e48..cbc7aca1d9ee3 100644 --- a/src/common/task.c +++ b/src/common/task.c @@ -114,7 +114,7 @@ task_id compute_task_id(task_spec *spec) { object_id compute_return_id(task_id task_id, int64_t return_index) { /* TODO(rkn): This line requires object and task IDs to be the same size. */ - object_id return_id = (object_id) task_id; + object_id return_id = task_id; int64_t *first_bytes = (int64_t *) &return_id; /* XOR the first bytes of the object ID with the return index. We add one so * the first return ID is not the same as the task ID. */ diff --git a/src/common/test/db_tests.c b/src/common/test/db_tests.c index 850cec9848938..ed3cb966276fa 100644 --- a/src/common/test/db_tests.c +++ b/src/common/test/db_tests.c @@ -201,7 +201,7 @@ TEST task_table_all_test(void) { } TEST unique_client_id_test(void) { - const int num_conns = 100; + enum { num_conns = 100 }; db_client_id ids[num_conns]; db_handle *db; diff --git a/src/common/test/io_tests.c b/src/common/test/io_tests.c index e342df9141b05..b50569a4f6579 100644 --- a/src/common/test/io_tests.c +++ b/src/common/test/io_tests.c @@ -10,6 +10,7 @@ SUITE(io_tests); TEST ipc_socket_test(void) { +#ifndef _WIN32 const char *socket_pathname = "test-socket"; int socket_fd = bind_ipc_sock(socket_pathname, true); ASSERT(socket_fd >= 0); @@ -44,11 +45,12 @@ TEST ipc_socket_test(void) { close(socket_fd); unlink(socket_pathname); } - +#endif PASS(); } TEST long_ipc_socket_test(void) { +#ifndef _WIN32 const char *socket_pathname = "long-test-socket"; int socket_fd = bind_ipc_sock(socket_pathname, true); ASSERT(socket_fd >= 0); @@ -89,6 +91,7 @@ TEST long_ipc_socket_test(void) { } utstring_free(test_string); +#endif PASS(); } diff --git a/src/common/test/test_common.h b/src/common/test/test_common.h index 996af7619629c..3feec32a1c24d 100644 --- a/src/common/test/test_common.h +++ b/src/common/test/test_common.h @@ -5,7 +5,7 @@ #include "task.h" -task_spec *example_task_spec(void) { +static task_spec *example_task_spec(void) { task_id parent_task_id = globally_unique_id(); function_id func_id = globally_unique_id(); task_spec *task = @@ -16,7 +16,7 @@ task_spec *example_task_spec(void) { return task; } -task *example_task(void) { +static task *example_task(void) { task_spec *spec = example_task_spec(); task *instance = alloc_task(spec, TASK_STATUS_WAITING, NIL_ID); free_task_spec(spec); @@ -24,7 +24,7 @@ task *example_task(void) { } /* Flush redis. */ -void flushall_redis() { +static void flushall_redis() { redisContext *context = redisConnect("127.0.0.1", 6379); freeReplyObject(redisCommand(context, "FLUSHALL")); redisFree(context); diff --git a/src/common/thirdparty/download_thirdparty.bat b/src/common/thirdparty/download_thirdparty.bat new file mode 100644 index 0000000000000..988592f83af62 --- /dev/null +++ b/src/common/thirdparty/download_thirdparty.bat @@ -0,0 +1,15 @@ +@SetLocal + @Echo Off + @PushD "%~dp0" + git submodule update --init --jobs="%NUMBER_OF_PROCESSORS%" + @If Not Exist "python\.git" git clone "https://github.com/austinsc/python.git" + Call :GitApply "python" "%CD%/patches/windows/python-pyconfig.patch" + Call :GitApply "redis-windows" "%CD%/patches/windows/redis.patch" + @PopD +@EndLocal +@GoTo :EOF + +:GitApply + @REM Check if patch already applied by attempting to apply it in reverse; if not, then force-reapply it + git -C "%~1" apply "%~2" -R --check 2> NUL || git -C "%~1" apply "%~2" --3way 2> NUL || git -C "%~1" reset --hard && git -C "%~1" apply "%~2" --3way +@GoTo :EOF diff --git a/thirdparty/patches/.gitattributes b/src/common/thirdparty/patches/.gitattributes similarity index 100% rename from thirdparty/patches/.gitattributes rename to src/common/thirdparty/patches/.gitattributes diff --git a/thirdparty/patches/windows/python-pyconfig.patch b/src/common/thirdparty/patches/windows/python-pyconfig.patch similarity index 100% rename from thirdparty/patches/windows/python-pyconfig.patch rename to src/common/thirdparty/patches/windows/python-pyconfig.patch diff --git a/src/common/thirdparty/patches/windows/redis.patch b/src/common/thirdparty/patches/windows/redis.patch new file mode 100644 index 0000000000000..5ed2df5105cf3 --- /dev/null +++ b/src/common/thirdparty/patches/windows/redis.patch @@ -0,0 +1,772 @@ +diff --git a/msvs/RedisServer.vcxproj b/msvs/RedisServer.vcxproj +index 115ce90..68afb44 +--- a/msvs/RedisServer.vcxproj ++++ b/msvs/RedisServer.vcxproj +@@ -24,26 +24,26 @@ + + + +- Application ++ StaticLibrary + true +- v120 ++ v140_xp + false + + +- Application ++ StaticLibrary + true +- v120 ++ v140_xp + false + + +- Application ++ StaticLibrary + false +- v120 ++ v140_xp + + +- Application ++ StaticLibrary + false +- v120 ++ v140_xp + + + +@@ -61,41 +61,23 @@ + + + +- ++ + false + redis-server + false +- +- +- false +- redis-server +- false +- $(SolutionDir)$(Platform)\$(Configuration)\ +- $(Platform)\$(Configuration)\ +- +- +- false +- redis-server +- false +- Build +- +- +- false +- redis-server +- false +- $(SolutionDir)$(Platform)\$(Configuration)\ +- $(Platform)\$(Configuration)\ ++ $(SolutionDir)build\$(Platform)\$(Configuration)\ ++ $(SolutionDir)build\$(Platform)\$(Configuration)\$(MSBuildProjectName)\ + + + +- USE_JEMALLOC;_OFF_T_DEFINED;WIN32;LACKS_STDLIB_H;_DEBUG;_CONSOLE;__x86_64__;%(PreprocessorDefinitions) +- $(SolutionDir)..\deps\lua\src;$(SolutionDir)..\deps\hiredis;$(SolutionDir)..\deps\jemalloc-win\include +- MultiThreadedDebug ++ _WIN32_WINNT=0x0502;_OFF_T_DEFINED;WIN32;LACKS_STDLIB_H;_DEBUG;_CONSOLE;__x86_64__;%(PreprocessorDefinitions) ++ $(ProjectDir)..\deps\lua\src;$(ProjectDir)..\deps\hiredis;$(ProjectDir)..\deps\jemalloc-win\include + Level3 + ProgramDatabase + Disabled + 4996;4146 +- true ++ false ++ true + + + true +@@ -109,14 +91,14 @@ + + + +- USE_JEMALLOC;_OFF_T_DEFINED;WIN32;LACKS_STDLIB_H;_DEBUG;_CONSOLE;__x86_64__;%(PreprocessorDefinitions);_WIN32_WINNT=0x0501 +- $(SolutionDir)..\deps\lua\src;$(SolutionDir)..\deps\hiredis;$(SolutionDir)..\deps\jemalloc-win\include +- MultiThreadedDebug ++ _WIN32_WINNT=0x0502;_OFF_T_DEFINED;WIN32;LACKS_STDLIB_H;_DEBUG;_CONSOLE;__x86_64__;%(PreprocessorDefinitions);_WIN32_WINNT=0x0501 ++ $(ProjectDir)..\deps\lua\src;$(ProjectDir)..\deps\hiredis;$(ProjectDir)..\deps\jemalloc-win\include + Level3 + ProgramDatabase + Disabled + 4996;4146 +- true ++ false ++ true + + + true +@@ -130,14 +112,13 @@ + + + +- USE_JEMALLOC;_OFF_T_DEFINED;WIN32;LACKS_STDLIB_H;NDEBUG;_CONSOLE;__x86_64__;%(PreprocessorDefinitions) +- $(SolutionDir)..\deps\lua\src;$(SolutionDir)..\deps\hiredis;$(SolutionDir)..\deps\jemalloc-win\include +- MultiThreaded ++ _WIN32_WINNT=0x0502;_OFF_T_DEFINED;WIN32;LACKS_STDLIB_H;NDEBUG;_CONSOLE;__x86_64__;%(PreprocessorDefinitions) ++ $(ProjectDir)..\deps\lua\src;$(ProjectDir)..\deps\hiredis;$(ProjectDir)..\deps\jemalloc-win\include + Level3 + ProgramDatabase + 4996;4146 +- true + Full ++ true + + + true +@@ -162,13 +143,12 @@ + + + +- USE_JEMALLOC;_OFF_T_DEFINED;_WIN32;LACKS_STDLIB_H;NDEBUG;_CONSOLE;__x86_64__;%(PreprocessorDefinitions);_WIN32_WINNT=0x0501 +- $(SolutionDir)..\deps\lua\src;$(SolutionDir)..\deps\hiredis;$(SolutionDir)..\deps\jemalloc-win\include +- MultiThreaded ++ _WIN32_WINNT=0x0502;_OFF_T_DEFINED;_WIN32;LACKS_STDLIB_H;NDEBUG;_CONSOLE;__x86_64__;%(PreprocessorDefinitions);_WIN32_WINNT=0x0501 ++ $(ProjectDir)..\deps\lua\src;$(ProjectDir)..\deps\hiredis;$(ProjectDir)..\deps\jemalloc-win\include + Level3 + ProgramDatabase + 4996;4146 +- true ++ true + + + true +@@ -271,9 +251,6 @@ + + + +- +- {8b897e33-6428-4254-8335-4911d179bad1} +- + + {8c07f811-c81c-432c-b334-1ae6faecf951} + +diff --git a/msvs/hiredis/hiredis.vcxproj b/msvs/hiredis/hiredis.vcxproj +index 0622958..efaedae +--- a/msvs/hiredis/hiredis.vcxproj ++++ b/msvs/hiredis/hiredis.vcxproj +@@ -28,27 +28,25 @@ + StaticLibrary + true + MultiByte +- v120 ++ v140_xp + + + StaticLibrary + true + MultiByte +- v120 ++ v140_xp + + + StaticLibrary + false +- true + MultiByte +- v120 ++ v140_xp + + + StaticLibrary + false +- true + MultiByte +- v120 ++ v140_xp + + + +@@ -66,30 +64,20 @@ + + + +- ++ + hiredis +- +- +- hiredis +- $(SolutionDir)$(Platform)\$(Configuration)\ +- $(Platform)\$(Configuration)\ +- +- +- hiredis +- +- +- hiredis +- $(SolutionDir)$(Platform)\$(Configuration)\ +- $(Platform)\$(Configuration)\ ++ $(ProjectDir)..\$(Platform)\$(Configuration)\ ++ $(SolutionDir)build\$(Platform)\$(Configuration)\$(MSBuildProjectName)\ + + + + NotUsing + Level3 + Disabled +- _OFF_T_DEFINED;WIN32;_LIB;_DEBUG;%(PreprocessorDefinitions) +- MultiThreadedDebug ++ _WIN32_WINNT=0x0502;_OFF_T_DEFINED;WIN32;_LIB;_DEBUG;%(PreprocessorDefinitions) + 4996 ++ false ++ true + + + Windows +@@ -101,9 +89,10 @@ + NotUsing + Level3 + Disabled +- _OFF_T_DEFINED;WIN32;_LIB;_DEBUG;%(PreprocessorDefinitions) +- MultiThreadedDebug ++ _WIN32_WINNT=0x0502;_OFF_T_DEFINED;WIN32;_LIB;_DEBUG;%(PreprocessorDefinitions) + 4996 ++ false ++ true + + + Windows +@@ -117,10 +106,9 @@ + Full + true + true +- _OFF_T_DEFINED;WIN32;_LIB;%(PreprocessorDefinitions) +- MultiThreaded ++ _WIN32_WINNT=0x0502;_OFF_T_DEFINED;WIN32;_LIB;%(PreprocessorDefinitions) + 4996 +- true ++ true + + + Windows +@@ -136,10 +124,9 @@ + Full + true + true +- _OFF_T_DEFINED;WIN32;_LIB;%(PreprocessorDefinitions) +- MultiThreaded ++ _WIN32_WINNT=0x0502;_OFF_T_DEFINED;WIN32;_LIB;%(PreprocessorDefinitions) + 4996 +- true ++ true + + + Windows +diff --git a/msvs/lua/lua/lua.vcxproj b/msvs/lua/lua/lua.vcxproj +index b187130..adef07b +--- a/msvs/lua/lua/lua.vcxproj ++++ b/msvs/lua/lua/lua.vcxproj +@@ -30,28 +30,28 @@ + true + false + MultiByte +- v120 ++ v140_xp + + + StaticLibrary + true + false + MultiByte +- v120 ++ v140_xp + + + StaticLibrary + false + false + MultiByte +- v120 ++ v140_xp + + + StaticLibrary + false + false + MultiByte +- v120 ++ v140_xp + + + +@@ -69,25 +69,16 @@ + + + +- ++ + true +- .lib +- +- +- true +- .lib +- $(SolutionDir)$(Platform)\$(Configuration)\ +- $(Platform)\$(Configuration)\ + +- ++ + false +- .lib + +- +- false ++ + .lib +- $(SolutionDir)$(Platform)\$(Configuration)\ +- $(Platform)\$(Configuration)\ ++ $(SolutionDir)build\$(Platform)\$(Configuration)\ ++ $(SolutionDir)build\$(Platform)\$(Configuration)\$(MSBuildProjectName)\ + + + +@@ -95,8 +86,9 @@ + Disabled + _OFF_T_DEFINED;WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions);LUA_ANSI;ENABLE_CJSON_GLOBAL + NotUsing +- MultiThreadedDebug + 4244;4018 ++ false ++ true + + + true +@@ -110,8 +102,9 @@ + Disabled + _OFF_T_DEFINED;WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions);_WIN32_WINNT=0x0501;LUA_ANSI;ENABLE_CJSON_GLOBAL + NotUsing +- MultiThreadedDebug + 4244;4018 ++ false ++ true + + + true +@@ -124,10 +117,10 @@ + Level3 + _OFF_T_DEFINED;WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions);LUA_ANSI;ENABLE_CJSON_GLOBAL + NotUsing +- MultiThreaded + 4244;4018 + Full + true ++ true + + + true +@@ -140,8 +133,8 @@ + Level3 + _OFF_T_DEFINED;WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions);_WIN32_WINNT=0x0501;LUA_ANSI;ENABLE_CJSON_GLOBAL + NotUsing +- MultiThreaded + 4244;4018 ++ true + + + true +diff --git a/src/Win32_Interop/Win32_ANSI.c b/src/Win32_Interop/Win32_ANSI.c +index 404b84f..e7c55d2 +--- a/src/Win32_Interop/Win32_ANSI.c ++++ b/src/Win32_Interop/Win32_ANSI.c +@@ -737,7 +737,7 @@ void ANSI_printf(char *format, ...) { + memset(buffer, 0, cBufLen); + + va_start(args, format); +- retVal = vsprintf_s(buffer, cBufLen, format, args); ++ retVal = vsnprintf(buffer, cBufLen - 1, format, args); + va_end(args); + + if (retVal > 0) { +diff --git a/src/Win32_Interop/Win32_EventLog.cpp b/src/Win32_Interop/Win32_EventLog.cpp +index 1856540..3db4ddd +--- a/src/Win32_Interop/Win32_EventLog.cpp ++++ b/src/Win32_Interop/Win32_EventLog.cpp +@@ -30,7 +30,6 @@ using namespace std; + + #include "Win32_EventLog.h" + #include "Win32_SmartHandle.h" +-#include "EventLog.h" + + static bool eventLogEnabled = true; + static string eventLogIdentity = "redis"; +@@ -129,17 +128,17 @@ void RedisEventLog::LogMessage(LPCSTR msg, const WORD type) { + DWORD eventID; + switch (type) { + case EVENTLOG_ERROR_TYPE: +- eventID = MSG_ERROR_1; ++ eventID = 0x2; + break; + case EVENTLOG_WARNING_TYPE: +- eventID = MSG_WARNING_1; ++ eventID = 0x1; + break; + case EVENTLOG_INFORMATION_TYPE: +- eventID = MSG_INFO_1; ++ eventID = 0x0; + break; + default: + std::cerr << "Unrecognized type: " << type << "\n"; +- eventID = MSG_INFO_1; ++ eventID = 0x0; + break; + } + +diff --git a/src/Win32_Interop/Win32_FDAPI.cpp b/src/Win32_Interop/Win32_FDAPI.cpp +index 3df9af1..f60e3d4 +--- a/src/Win32_Interop/Win32_FDAPI.cpp ++++ b/src/Win32_Interop/Win32_FDAPI.cpp +@@ -46,11 +46,13 @@ fdapi_access access = NULL; + fdapi_bind bind = NULL; + fdapi_connect connect = NULL; + fdapi_fcntl fcntl = NULL; ++fdapi_ioctl ioctl = NULL; + fdapi_fstat fdapi_fstat64 = NULL; + fdapi_fsync fsync = NULL; + fdapi_ftruncate ftruncate = NULL; + fdapi_freeaddrinfo freeaddrinfo = NULL; + fdapi_getaddrinfo getaddrinfo = NULL; ++fdapi_gethostbyname gethostbyname = NULL; + fdapi_getpeername getpeername = NULL; + fdapi_getsockname getsockname = NULL; + fdapi_getsockopt getsockopt = NULL; +@@ -67,7 +69,9 @@ fdapi_open open = NULL; + fdapi_pipe pipe = NULL; + fdapi_poll poll = NULL; + fdapi_read read = NULL; ++fdapi_recv recv = NULL; + fdapi_select select = NULL; ++fdapi_send send = NULL; + fdapi_setsockopt setsockopt = NULL; + fdapi_socket socket = NULL; + fdapi_write write = NULL; +@@ -622,6 +626,23 @@ int FDAPI_fcntl(int rfd, int cmd, int flags = 0 ) { + return -1; + } + ++int FDAPI_ioctl(int rfd, int cmd, char *buf) { ++ try { ++ SocketInfo* socket_info = RFDMap::getInstance().lookupSocketInfo(rfd); ++ if (socket_info != NULL && socket_info->socket != INVALID_SOCKET) { ++ if (f_ioctlsocket(socket_info->socket, cmd, (u_long *)buf) != SOCKET_ERROR) { ++ return 0; ++ } else { ++ errno = f_WSAGetLastError(); ++ return -1; ++ } ++ } ++ } CATCH_AND_REPORT(); ++ ++ errno = EBADF; ++ return -1; ++} ++ + int FDAPI_poll(struct pollfd *fds, nfds_t nfds, int timeout) { + try { + struct pollfd* pollCopy = new struct pollfd[nfds]; +@@ -777,6 +798,42 @@ ssize_t FDAPI_read(int rfd, void *buf, size_t count) { + return -1; + } + ++ssize_t FDAPI_recv(int rfd, void *buf, size_t count, int flags) { ++ try { ++ SOCKET socket = RFDMap::getInstance().lookupSocket(rfd); ++ if (socket != INVALID_SOCKET) { ++ int retval = f_recv(socket, (char*) buf, (unsigned int) count, flags); ++ if (retval == -1) { ++ errno = GetLastError(); ++ if (errno == WSAEWOULDBLOCK) { ++ errno = EAGAIN; ++ } ++ } ++ return retval; ++ } ++ } CATCH_AND_REPORT(); ++ errno = EBADF; ++ return -1; ++} ++ ++ssize_t FDAPI_send(int rfd, const void *buf, size_t count, int flags) { ++ try { ++ SOCKET socket = RFDMap::getInstance().lookupSocket(rfd); ++ if (socket != INVALID_SOCKET) { ++ int retval = f_send(socket, (const char*) buf, (unsigned int) count, flags); ++ if (retval == -1) { ++ errno = GetLastError(); ++ if (errno == WSAEWOULDBLOCK) { ++ errno = EAGAIN; ++ } ++ } ++ return retval; ++ } ++ } CATCH_AND_REPORT(); ++ errno = EBADF; ++ return -1; ++} ++ + ssize_t FDAPI_write(int rfd, const void *buf, size_t count) { + try { + SOCKET socket = RFDMap::getInstance().lookupSocket(rfd); +@@ -1195,12 +1252,14 @@ private: + bind = FDAPI_bind; + connect = FDAPI_connect; + fcntl = FDAPI_fcntl; ++ ioctl = FDAPI_ioctl; + fdapi_fstat64 = (fdapi_fstat) FDAPI_fstat64; + freeaddrinfo = FDAPI_freeaddrinfo; + fsync = FDAPI_fsync; + ftruncate = FDAPI_ftruncate; + getaddrinfo = FDAPI_getaddrinfo; + getsockopt = FDAPI_getsockopt; ++ gethostbyname = FDAPI_gethostbyname; + getpeername = FDAPI_getpeername; + getsockname = FDAPI_getsockname; + htonl = FDAPI_htonl; +@@ -1216,9 +1275,11 @@ private: + pipe = FDAPI_pipe; + poll = FDAPI_poll; + read = FDAPI_read; ++ recv = FDAPI_recv; + select = FDAPI_select; + setsockopt = FDAPI_setsockopt; + socket = FDAPI_socket; ++ send = FDAPI_send; + write = FDAPI_write; + } + +diff --git a/src/Win32_Interop/Win32_FDAPI.h b/src/Win32_Interop/Win32_FDAPI.h +index 8fae9c7..6e09596 +--- a/src/Win32_Interop/Win32_FDAPI.h ++++ b/src/Win32_Interop/Win32_FDAPI.h +@@ -116,9 +116,12 @@ typedef int (*fdapi_open)(const char * _Filename, int _OpenFlag, int flags); + typedef int (*fdapi_accept)(int sockfd, struct sockaddr *addr, socklen_t *addrlen); + typedef int (*fdapi_setsockopt)(int sockfd, int level, int optname,const void *optval, socklen_t optlen); + typedef int (*fdapi_fcntl)(int fd, int cmd, int flags); ++typedef int (*fdapi_ioctl)(int fd, int cmd, char *buf); + typedef int (*fdapi_poll)(struct pollfd *fds, nfds_t nfds, int timeout); + typedef int (*fdapi_getsockopt)(int sockfd, int level, int optname, void *optval, socklen_t *optlen); + typedef int (*fdapi_connect)(int sockfd, const struct sockaddr *addr, size_t addrlen); ++typedef ssize_t (*fdapi_recv)(int fd, void *buf, size_t count, int flags); ++typedef ssize_t (*fdapi_send)(int rfd, void const *buf, size_t count, int flags); + typedef ssize_t (*fdapi_read)(int fd, void *buf, size_t count); + typedef ssize_t (*fdapi_write)(int fd, const void *buf, size_t count); + typedef int (*fdapi_fsync)(int fd); +@@ -128,6 +131,7 @@ typedef int (*fdapi_bind)(int sockfd, const struct sockaddr *addr, socklen_t add + typedef u_short (*fdapi_htons)(u_short hostshort); + typedef u_long (*fdapi_htonl)(u_long hostlong); + typedef u_short (*fdapi_ntohs)(u_short netshort); ++typedef struct hostent* (*fdapi_gethostbyname)(const char *name); + typedef int (*fdapi_getpeername)(int sockfd, struct sockaddr *addr, socklen_t * addrlen); + typedef int (*fdapi_getsockname)(int sockfd, struct sockaddr* addrsock, int* addrlen ); + typedef void (*fdapi_freeaddrinfo)(struct addrinfo *ai); +@@ -159,12 +163,14 @@ extern fdapi_access access; + extern fdapi_bind bind; + extern fdapi_connect connect; + extern fdapi_fcntl fcntl; ++extern fdapi_ioctl ioctl; + extern fdapi_fstat fdapi_fstat64; + extern fdapi_freeaddrinfo freeaddrinfo; + extern fdapi_fsync fsync; + extern fdapi_ftruncate ftruncate; + extern fdapi_getaddrinfo getaddrinfo; + extern fdapi_getsockopt getsockopt; ++extern fdapi_gethostbyname gethostbyname; + extern fdapi_getpeername getpeername; + extern fdapi_getsockname getsockname; + extern fdapi_htonl htonl; +@@ -180,7 +186,9 @@ extern fdapi_open open; + extern fdapi_pipe pipe; + extern fdapi_poll poll; + extern fdapi_read read; ++extern fdapi_recv recv; + extern fdapi_select select; ++extern fdapi_send send; + extern fdapi_setsockopt setsockopt; + extern fdapi_socket socket; + extern fdapi_write write; +diff --git a/src/Win32_Interop/Win32_Interop.vcxproj b/src/Win32_Interop/Win32_Interop.vcxproj +index 93fc44b..b75d89b +--- a/src/Win32_Interop/Win32_Interop.vcxproj ++++ b/src/Win32_Interop/Win32_Interop.vcxproj +@@ -74,35 +74,6 @@ + + + +- +- +- Document +- md resources +-mc.exe -A -b -c -h . -r resources EventLog.mc +-rc.exe -foresources/EventLog.res resources/EventLog.rc +-link.exe -dll -noentry resources/EventLog.res -out:$(TargetDir)EventLog.dll +- +- md resources +-mc.exe -A -b -c -h . -r resources EventLog.mc +-rc.exe -foresources/EventLog.res resources/EventLog.rc +-link.exe -dll -noentry resources/EventLog.res -out:$(TargetDir)EventLog.dll +- +- EventLog.h +- EventLog.h +- md resources +-mc.exe -A -b -c -h . -r resources EventLog.mc +-rc.exe -foresources/EventLog.res resources/EventLog.rc +-link.exe -dll -noentry resources/EventLog.res -out:$(TargetDir)EventLog.dll +- +- md resources +-mc.exe -A -b -c -h . -r resources EventLog.mc +-rc.exe -foresources/EventLog.res resources/EventLog.rc +-link.exe -dll -noentry resources/EventLog.res -out:$(TargetDir)EventLog.dll +- +- EventLog.h +- EventLog.h +- +- + + {8C07F811-C81C-432C-B334-1AE6FAECF951} + Win32Proj +@@ -113,27 +84,25 @@ link.exe -dll -noentry resources/EventLog.res -out:$(TargetDir)EventLog.dll + + StaticLibrary + true +- v120 ++ v140_xp + Unicode + + + StaticLibrary + true +- v120 ++ v140_xp + Unicode + + + StaticLibrary + false +- v120 +- true ++ v140_xp + Unicode + + + StaticLibrary + false +- v120 +- true ++ v140_xp + Unicode + + +@@ -152,13 +121,9 @@ link.exe -dll -noentry resources/EventLog.res -out:$(TargetDir)EventLog.dll + + + +- +- $(SolutionDir)$(Platform)\$(Configuration)\ +- $(Platform)\$(Configuration)\ +- +- +- $(SolutionDir)$(Platform)\$(Configuration)\ +- $(Platform)\$(Configuration)\ ++ ++ $(SolutionDir)build\$(Platform)\$(Configuration)\ ++ $(SolutionDir)build\$(Platform)\$(Configuration)\$(MSBuildProjectName)\ + + + +@@ -166,9 +131,10 @@ link.exe -dll -noentry resources/EventLog.res -out:$(TargetDir)EventLog.dll + + Level3 + Disabled +- USE_STATIC;USE_JEMALLOC;_OFF_T_DEFINED;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);LACKS_STDLIB_H;_CRT_SECURE_NO_WARNINGS;PSAPI_VERSION=1 ++ _WIN32_WINNT=0x0502;USE_STATIC;USE_JEMALLOC;_OFF_T_DEFINED;_NO_CRT_STDIO_INLINE;_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);LACKS_STDLIB_H;_CRT_SECURE_NO_WARNINGS;PSAPI_VERSION=1 + $(ProjectDir)..\..\deps\lua\src;$(ProjectDir)..\..\deps\jemalloc-win\include +- MultiThreadedDebug ++ false ++ true + + + Windows +@@ -186,9 +152,10 @@ link.exe -dll -noentry resources/EventLog.res -out:$(TargetDir)EventLog.dll + + Level3 + Disabled +- USE_STATIC;USE_JEMALLOC;_OFF_T_DEFINED;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);LACKS_STDLIB_H;_CRT_SECURE_NO_WARNINGS;PSAPI_VERSION=1;_WIN32_WINNT=0x0501 ++ _WIN32_WINNT=0x0502;USE_STATIC;USE_JEMALLOC;_OFF_T_DEFINED;_NO_CRT_STDIO_INLINE;_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);LACKS_STDLIB_H;_CRT_SECURE_NO_WARNINGS;PSAPI_VERSION=1;_WIN32_WINNT=0x0501 + $(ProjectDir)..\..\deps\lua\src;$(ProjectDir)..\..\deps\jemalloc-win\include +- MultiThreadedDebug ++ false ++ true + + + Windows +@@ -211,10 +178,9 @@ link.exe -dll -noentry resources/EventLog.res -out:$(TargetDir)EventLog.dll + Full + true + true +- USE_STATIC;USE_JEMALLOC;_OFF_T_DEFINED;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);LACKS_STDLIB_H;_CRT_SECURE_NO_WARNINGS;PSAPI_VERSION=1 ++ _WIN32_WINNT=0x0502;USE_STATIC;USE_JEMALLOC;_OFF_T_DEFINED;_NO_CRT_STDIO_INLINE;_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);LACKS_STDLIB_H;_CRT_SECURE_NO_WARNINGS;PSAPI_VERSION=1 + $(ProjectDir)..\..\deps\lua\src;$(ProjectDir)..\..\deps\jemalloc-win\include +- MultiThreaded +- true ++ true + + + Windows +@@ -235,9 +201,9 @@ link.exe -dll -noentry resources/EventLog.res -out:$(TargetDir)EventLog.dll + MaxSpeed + true + true +- USE_STATIC;USE_JEMALLOC;_OFF_T_DEFINED;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);LACKS_STDLIB_H;_CRT_SECURE_NO_WARNINGS;PSAPI_VERSION=1;_WIN32_WINNT=0x0501 ++ _WIN32_WINNT=0x0502;USE_STATIC;USE_JEMALLOC;_OFF_T_DEFINED;_NO_CRT_STDIO_INLINE;_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);LACKS_STDLIB_H;_CRT_SECURE_NO_WARNINGS;PSAPI_VERSION=1;_WIN32_WINNT=0x0501 + $(ProjectDir)..\..\deps\lua\src;$(ProjectDir)..\..\deps\jemalloc-win\include +- MultiThreaded ++ true + + + Windows +diff --git a/src/Win32_Interop/Win32_service.cpp b/src/Win32_Interop/Win32_service.cpp +index 488538e..1c33f53 +--- a/src/Win32_Interop/Win32_service.cpp ++++ b/src/Win32_Interop/Win32_service.cpp +@@ -59,7 +59,6 @@ this should preceed the other arguments passed to redis. For instance: + #include + #include + #include +-#include + #include + #include "Win32_EventLog.h" + #include +diff --git a/src/ziplist.c b/src/ziplist.c +index 24b0a7c..29d445d +--- a/src/ziplist.c ++++ b/src/ziplist.c +@@ -920,7 +920,7 @@ void ziplistRepr(unsigned char *zl) { + entry = zipEntry(p); + printf( + "{" +- "addr 0x%08lx, " /* TODO" verify 0x%08lx */ ++ "addr %p, " + "index %2d, " + "offset %5ld, " + "rl: %5u, " +@@ -929,9 +929,9 @@ void ziplistRepr(unsigned char *zl) { + "pls: %2u, " + "payload %5u" + "} ", +- (PORT_ULONG)p, ++ (void *)p, + index, +- (PORT_ULONG)(p-zl), ++ (long)(p-zl), + entry.headersize+entry.len, + entry.headersize, + entry.prevrawlen, diff --git a/src/common/thirdparty/python b/src/common/thirdparty/python new file mode 160000 index 0000000000000..3f8fa00528daa --- /dev/null +++ b/src/common/thirdparty/python @@ -0,0 +1 @@ +Subproject commit 3f8fa00528daa3e3849be251f05227842905c7a9 diff --git a/src/common/thirdparty/redis-windows b/src/common/thirdparty/redis-windows new file mode 160000 index 0000000000000..10a978f7b4b52 --- /dev/null +++ b/src/common/thirdparty/redis-windows @@ -0,0 +1 @@ +Subproject commit 10a978f7b4b52166724e7f00e5c9ac5a12aba3e1 diff --git a/src/photon/photon_scheduler.c b/src/photon/photon_scheduler.c index 02971d1bc5735..3f02f9035322c 100644 --- a/src/photon/photon_scheduler.c +++ b/src/photon/photon_scheduler.c @@ -133,7 +133,7 @@ void process_plasma_notification(event_loop *loop, local_scheduler_state *s = context; /* Read the notification from Plasma. */ object_id obj_id; - recv(client_sock, &obj_id, sizeof(obj_id), 0); + recv(client_sock, (char *) &obj_id, sizeof(obj_id), 0); handle_object_available(s->scheduler_info, s->scheduler_state, obj_id); } @@ -183,7 +183,9 @@ void new_client_connection(event_loop *loop, int listener_sock, void *context, new_worker_index->sock = new_socket; new_worker_index->worker_index = utarray_len(s->scheduler_info->workers); HASH_ADD_INT(s->worker_index, sock, new_worker_index); - worker worker = {.sock = new_socket}; + worker worker; + memset(&worker, 0, sizeof(worker)); + worker.sock = new_socket; utarray_push_back(s->scheduler_info->workers, &worker); } diff --git a/src/plasma/malloc.c b/src/plasma/malloc.c index 6f6bf2994d79e..15d1d00ea8f0b 100644 --- a/src/plasma/malloc.c +++ b/src/plasma/malloc.c @@ -46,13 +46,33 @@ struct mmap_record *records_by_pointer = NULL; const int GRANULARITY_MULTIPLIER = 2; +static void *pointer_advance(void *p, ptrdiff_t n) { + return (unsigned char *) p + n; +} + +static void *pointer_retreat(void *p, ptrdiff_t n) { + return (unsigned char *) p - n; +} + +static ptrdiff_t pointer_distance(void const *pfrom, void const *pto) { + return (unsigned char const *) pto - (unsigned char const *) pfrom; +} + /* Create a buffer. This is creating a temporary file and then * immediately unlinking it so we do not leave traces in the system. */ int create_buffer(int64_t size) { + int fd; +#ifdef _WIN32 + if (!CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, + (DWORD)((uint64_t) size >> (CHAR_BIT * sizeof(DWORD))), + (DWORD)(uint64_t) size, NULL)) { + fd = -1; + } +#else static char template[] = "/tmp/plasmaXXXXXX"; char file_name[32]; strncpy(file_name, template, 32); - int fd = mkstemp(file_name); + fd = mkstemp(file_name); if (fd < 0) return -1; FILE *file = fdopen(fd, "a+"); @@ -68,6 +88,7 @@ int create_buffer(int64_t size) { LOG_ERROR("ftruncate error"); return -1; } +#endif return fd; } @@ -95,14 +116,14 @@ void *fake_mmap(size_t size) { HASH_ADD(hh_pointer, records_by_pointer, pointer, sizeof(pointer), record); /* We lie to dlmalloc about where mapped memory actually lives. */ - pointer += sizeof(size_t); + pointer = pointer_advance(pointer, sizeof(size_t)); LOG_DEBUG("%p = fake_mmap(%lu)", pointer, size); return pointer; } int fake_munmap(void *addr, size_t size) { LOG_DEBUG("fake_munmap(%p, %lu)", addr, size); - addr -= sizeof(size_t); + addr = pointer_retreat(addr, sizeof(size_t)); size += sizeof(size_t); struct mmap_record *record; @@ -113,12 +134,15 @@ int fake_munmap(void *addr, size_t size) { * calls to mmap, to prevent dlmalloc from trimming. */ return -1; } - close(record->fd); HASH_DELETE(hh_fd, records_by_fd, record); HASH_DELETE(hh_pointer, records_by_pointer, record); - return munmap(addr, size); + int r = munmap(addr, size); + if (r == 0) { + close(record->fd); + } + return r; } void get_malloc_mapinfo(void *addr, @@ -128,10 +152,11 @@ void get_malloc_mapinfo(void *addr, struct mmap_record *record; /* TODO(rshin): Implement a more efficient search through records_by_fd. */ for (record = records_by_fd; record != NULL; record = record->hh_fd.next) { - if (addr >= record->pointer && addr < record->pointer + record->size) { + if (addr >= record->pointer && + addr < pointer_advance(record->pointer, record->size)) { *fd = record->fd; *map_size = record->size; - *offset = addr - record->pointer; + *offset = pointer_distance(record->pointer, addr); return; } } diff --git a/src/plasma/plasma.h b/src/plasma/plasma.h index e452dab31371f..5c48f12f370cd 100644 --- a/src/plasma/plasma.h +++ b/src/plasma/plasma.h @@ -6,6 +6,7 @@ #include #include #include +#include /* pid_t */ #include "common.h" diff --git a/src/plasma/plasma_client.c b/src/plasma/plasma_client.c index 22408d5e1a496..85de81148a94f 100644 --- a/src/plasma/plasma_client.c +++ b/src/plasma/plasma_client.c @@ -1,5 +1,9 @@ /* PLASMA CLIENT: Client library for using the plasma store and manager */ +#ifdef _WIN32 +#include +#endif + #include #include #include @@ -103,7 +107,10 @@ void plasma_send_request(int fd, int type, plasma_request *req) { } plasma_request make_plasma_request(object_id object_id) { - plasma_request req = {.num_object_ids = 1, .object_ids = {object_id}}; + plasma_request req; + memset(&req, 0, sizeof(req)); + req.num_object_ids = 1; + req.object_ids[0] = object_id; return req; } @@ -326,7 +333,9 @@ void plasma_delete(plasma_connection *conn, object_id object_id) { int64_t plasma_evict(plasma_connection *conn, int64_t num_bytes) { /* Send a request to the store to evict objects. */ - plasma_request req = {.num_bytes = num_bytes}; + plasma_request req; + memset(&req, 0, sizeof(req)); + req.num_bytes = num_bytes; plasma_send_request(conn->store_conn, PLASMA_EVICT, &req); /* Wait for a response with the number of bytes actually evicted. */ plasma_reply reply; @@ -338,6 +347,8 @@ int64_t plasma_evict(plasma_connection *conn, int64_t num_bytes) { int plasma_subscribe(plasma_connection *conn) { int fd[2]; + /* TODO: Just create 1 socket, bind it to port 0 to find a free port, and + * send the port number instead, and let the client connect. */ /* Create a non-blocking socket pair. This will only be used to send * notifications from the Plasma store to the client. */ socketpair(AF_UNIX, SOCK_STREAM, 0, fd); @@ -345,7 +356,7 @@ int plasma_subscribe(plasma_connection *conn) { int flags = fcntl(fd[1], F_GETFL, 0); CHECK(fcntl(fd[1], F_SETFL, flags | O_NONBLOCK) == 0); /* Tell the Plasma store about the subscription. */ - plasma_request req = {}; + plasma_request req = {0}; plasma_send_request(conn->store_conn, PLASMA_SUBSCRIBE, &req); /* Send the file descriptor that the Plasma store should use to push * notifications about sealed objects to this client. We include a one byte diff --git a/src/plasma/plasma_manager.c b/src/plasma/plasma_manager.c index ea4b1aa3dd669..1e99e9015002e 100644 --- a/src/plasma/plasma_manager.c +++ b/src/plasma/plasma_manager.c @@ -156,8 +156,11 @@ int send_client_reply(client_connection *conn, plasma_reply *reply) { } int send_client_failure_reply(object_id object_id, client_connection *conn) { - plasma_reply reply = { - .object_ids = {object_id}, .num_object_ids = 1, .has_object = 0}; + plasma_reply reply; + memset(&reply, 0, sizeof(reply)); + reply.object_ids[0] = object_id; + reply.num_object_ids = 1; + reply.has_object = 0; return send_client_reply(conn, &reply); } @@ -584,9 +587,11 @@ int manager_timeout_handler(event_loop *loop, timer_id id, void *context) { object_conn->num_retries--; return MANAGER_TIMEOUT; } - plasma_reply reply = {.object_ids = {object_conn->object_id}, - .num_object_ids = 1, - .has_object = 0}; + plasma_reply reply; + memset(&reply, 0, sizeof(reply)); + reply.object_ids[0] = object_conn->object_id; + reply.num_object_ids = 1; + reply.has_object = 0; send_client_reply(client_conn, &reply); remove_object_connection(client_conn, object_conn); return EVENT_LOOP_TIMER_DONE; @@ -647,7 +652,10 @@ void process_fetch_request(client_connection *client_conn, object_id object_id) { client_conn->is_wait = false; client_conn->wait_reply = NULL; - plasma_reply reply = {.object_ids = {object_id}, .num_object_ids = 1}; + plasma_reply reply; + memset(&reply, 0, sizeof(reply)); + reply.object_ids[0] = object_id; + reply.num_object_ids = 1; if (client_conn->manager_state->db == NULL) { reply.has_object = 0; send_client_reply(client_conn, &reply); @@ -747,7 +755,7 @@ void process_object_notification(event_loop *loop, plasma_manager_state *state = context; object_id obj_id; /* Read the notification from Plasma. */ - int n = recv(client_sock, &obj_id, sizeof(object_id), MSG_WAITALL); + int n = recv(client_sock, (char *) &obj_id, sizeof(object_id), MSG_WAITALL); if (n == 0) { /* The store has closed the socket. */ LOG_DEBUG("The plasma store has closed the object notification socket."); @@ -769,8 +777,11 @@ void process_object_notification(event_loop *loop, client_connection *client_conn; HASH_FIND(fetch_hh, state->fetch_connections, &obj_id, sizeof(object_id), object_conn); - plasma_reply reply = { - .object_ids = {obj_id}, .num_object_ids = 1, .has_object = 1}; + plasma_reply reply; + memset(&reply, 0, sizeof(reply)); + reply.object_ids[0] = obj_id; + reply.num_object_ids = 1; + reply.has_object = 1; while (object_conn) { next = object_conn->next; client_conn = object_conn->client_conn; diff --git a/src/plasma/plasma_store.c b/src/plasma/plasma_store.c index 8f6c85f926a62..830febe38ed54 100644 --- a/src/plasma/plasma_store.c +++ b/src/plasma/plasma_store.c @@ -380,7 +380,7 @@ void send_notifications(event_loop *loop, for (int i = 0; i < utarray_len(queue->object_ids); ++i) { object_id *obj_id = (object_id *) utarray_eltptr(queue->object_ids, i); /* Attempt to send a notification about this object ID. */ - int nbytes = send(client_sock, obj_id, sizeof(*obj_id), 0); + int nbytes = send(client_sock, (char const *) obj_id, sizeof(*obj_id), 0); if (nbytes >= 0) { CHECK(nbytes == sizeof(*obj_id)); } else if (nbytes == -1 && (errno == EAGAIN || errno == EWOULDBLOCK)) { diff --git a/thirdparty/download_thirdparty.bat b/thirdparty/download_thirdparty.bat deleted file mode 100644 index 40e008cb37105..0000000000000 --- a/thirdparty/download_thirdparty.bat +++ /dev/null @@ -1,19 +0,0 @@ -@SetLocal - @Echo Off - @PushD "%~dp0" - git submodule update --init --jobs="%NUMBER_OF_PROCESSORS%" - git -C "arrow" submodule update --init --jobs="%NUMBER_OF_PROCESSORS%" - git -C "grpc" submodule update --init --jobs="%NUMBER_OF_PROCESSORS%" -- "third_party/nanopb" "third_party/protobuf" - Call :GitApply "grpc" "%CD%/patches/grpc-source.patch" - Call :GitApply "grpc" "%CD%/patches/windows/grpc-projects.patch" - Call :GitApply "grpc/third_party/protobuf" "%CD%/patches/windows/protobuf-projects.patch" - Call :GitApply "arrow/cpp/thirdparty/flatbuffers" "%CD%/patches/windows/flatbuffers-projects.patch" - Call :GitApply "python" "%CD%/patches/windows/python-pyconfig.patch" - @PopD -@EndLocal -@GoTo :EOF - -:GitApply - @REM Check if patch already applied by attempting to apply it in reverse; if not, then force-reapply it - git -C "%~1" apply "%~2" -R --check 2> NUL || git -C "%~1" apply "%~2" --3way 2> NUL || git -C "%~1" reset --hard && git -C "%~1" apply "%~2" --3way -@GoTo :EOF diff --git a/thirdparty/patches/grpc-source.patch b/thirdparty/patches/grpc-source.patch deleted file mode 100644 index 54116bf743d5c..0000000000000 --- a/thirdparty/patches/grpc-source.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/src/cpp/server/create_default_thread_pool.cc b/src/cpp/server/create_default_thread_pool.cc -index f3b07ec..ede18cb ---- a/src/cpp/server/create_default_thread_pool.cc -+++ b/src/cpp/server/create_default_thread_pool.cc -@@ -40,8 +40,12 @@ - namespace grpc { - - ThreadPoolInterface* CreateDefaultThreadPool() { -+#ifdef NDEBUG - int cores = gpr_cpu_num_cores(); - if (!cores) cores = 4; -+#else -+ int cores = 0; -+#endif - return new DynamicThreadPool(cores); - } - diff --git a/thirdparty/patches/windows/flatbuffers-projects.patch b/thirdparty/patches/windows/flatbuffers-projects.patch deleted file mode 100644 index cc8d7b24031ff..0000000000000 --- a/thirdparty/patches/windows/flatbuffers-projects.patch +++ /dev/null @@ -1,265 +0,0 @@ -diff --git a/build_ide/VS2010/flatc.props b/build_ide/VS2010/flatc.props -new file -index e69de29..e8431c7 ---- /dev/null -+++ b/build_ide/VS2010/flatc.props -@@ -0,0 +1,15 @@ -+ -+ -+ -+ -+ -+ $(SolutionDir)build\$(Platform)\$(Configuration)\ -+ $(SolutionDir)build\$(Platform)\$(Configuration)\$(MSBuildProjectName)\ -+ -+ -+ -+ true -+ -+ -+ -+ -\ No newline at end of file -diff --git a/build_ide/VS2010/flatc.vcxproj b/build_ide/VS2010/flatc.vcxproj -index 31cd013..a338685 ---- a/build_ide/VS2010/flatc.vcxproj -+++ b/build_ide/VS2010/flatc.vcxproj -@@ -26,24 +26,16 @@ - - - -- Application -- false -- MultiByte -+ v140_xp - - -- Application -- false -- MultiByte -+ v140_xp - - -- Application -- false -- MultiByte -+ v140_xp - - -- Application -- false -- MultiByte -+ v140_xp - - - -@@ -51,33 +43,12 @@ - - - -+ -+ -+ - - - <_ProjectFileVersion>10.0.20506.1 -- $(IntDir) -- $(IntDir) -- flatc.dir\Debug\ -- flatc.dir\Debug\ -- flatc -- flatc -- .exe -- .exe -- true -- true -- true -- true -- $(IntDir) -- $(IntDir) -- flatc.dir\Release\ -- flatc.dir\Release\ -- flatc -- flatc -- .exe -- .exe -- false -- false -- true -- true - - - -@@ -85,18 +56,13 @@ - EnableFastChecks - CompileAsCpp - ProgramDatabase -- Sync -- Disabled - Disabled - NotUsing -- MultiThreadedDebugDLL - true - Level4 - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) -- Debug -- $(IntDir) -- ../../Debug/flatc.pdb - true -+ MultiThreadedDebugDLL - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) -@@ -104,26 +70,13 @@ - - - ../../include;%(AdditionalIncludeDirectories) -- $(IntDir) -- %(Filename).h -- %(Filename).tlb -- %(Filename)_i.c -- %(Filename)_p.c - - -- /machine:X86 /debug %(AdditionalOptions) -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib -- %(AdditionalLibraryDirectories) -- true -- ../../Debug/flatc.lib -- ../../Debug/flatc.pdb - Console - - -+ true - -- -- false -- - - - -@@ -131,18 +84,13 @@ - EnableFastChecks - CompileAsCpp - ProgramDatabase -- Sync -- Disabled - Disabled - NotUsing -- MultiThreadedDebugDLL - true - Level4 - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) -- Debug -- $(IntDir) -- ../../Debug/flatc.pdb - true -+ MultiThreadedDebugDLL - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) -@@ -150,44 +98,26 @@ - - - ../../include;%(AdditionalIncludeDirectories) -- $(IntDir) -- %(Filename).h -- %(Filename).tlb -- %(Filename)_i.c -- %(Filename)_p.c - - -- /debug %(AdditionalOptions) -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib -- %(AdditionalLibraryDirectories) -- true -- ../../Debug/flatc.lib -- ../../Debug/flatc.pdb - Console - - -+ true - -- -- false -- - - - - ../../include;%(AdditionalIncludeDirectories) - CompileAsCpp -- Sync - AnySuitable - MaxSpeed - NotUsing -- MultiThreadedDLL - true - Level4 - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) -- Release -- $(IntDir) -- ../../Release/flatc.pdb - true - - -@@ -196,19 +126,9 @@ - - - ../../include;%(AdditionalIncludeDirectories) -- $(IntDir) -- %(Filename).h -- %(Filename).tlb -- %(Filename)_i.c -- %(Filename)_p.c - - -- /machine:X86 %(AdditionalOptions) -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib -- %(AdditionalLibraryDirectories) - false -- ../../Release/flatc.lib -- ../../Release/flatc.pdb - Console - - -@@ -221,19 +141,14 @@ - - ../../include;%(AdditionalIncludeDirectories) - CompileAsCpp -- Sync - AnySuitable - MaxSpeed - NotUsing -- MultiThreadedDLL - true - Level4 - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) -- Release -- $(IntDir) -- ../../Release/flatc.pdb - true - - -@@ -242,18 +157,9 @@ - - - ../../include;%(AdditionalIncludeDirectories) -- $(IntDir) -- %(Filename).h -- %(Filename).tlb -- %(Filename)_i.c -- %(Filename)_p.c - - -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib -- %(AdditionalLibraryDirectories) - false -- ../../Release/flatc.lib -- ../../Release/flatc.pdb - Console - - diff --git a/thirdparty/patches/windows/grpc-projects.patch b/thirdparty/patches/windows/grpc-projects.patch deleted file mode 100644 index 7c7c12f6cfeaa..0000000000000 --- a/thirdparty/patches/windows/grpc-projects.patch +++ /dev/null @@ -1,5884 +0,0 @@ -diff --git a/vsprojects/global.props b/vsprojects/global.props -index c0792e1..3299131 ---- a/vsprojects/global.props -+++ b/vsprojects/global.props -@@ -4,11 +4,15 @@ - - - false -+ $(SolutionDir)build\$(Platform)\$(Configuration)\ -+ $(SolutionDir)build\$(Platform)\$(Configuration)\$(MSBuildProjectName)\ - - - -- $(SolutionDir)\..;$(SolutionDir)\..\include;$(SolutionDir)\..\third_party\protobuf\src;$(SolutionDir)\packages\grpc.dependencies.zlib.1.2.8.10\build\native\include;$(SolutionDir)\packages\grpc.dependencies.openssl.1.0.204.1\build\native\include;$(SolutionDir)\packages\gflags.2.1.2.1\build\native\include;$(SolutionDir)\packages\gtest.1.7.0.1\build\native\include;%(AdditionalIncludeDirectories) -- _WIN32_WINNT=0x600;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;%(PreprocessorDefinitions) -+ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\include;$(ProjectDir)..\..\..\third_party\protobuf\src;$(ProjectDir)..\..\..\..\..\packages\grpc.dependencies.zlib.1.2.8.10\build\native\include;$(ProjectDir)..\..\..\..\..\packages\grpc.dependencies.openssl.1.0.204.1\build\native\include;$(ProjectDir)..\..\..\..\..\packages\gflags.2.1.2.1\build\native\include;$(ProjectDir)..\..\..\..\..\packages\gtest.1.7.0.1\build\native\include;%(AdditionalIncludeDirectories) -+ _WIN32_WINNT=0x600;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;OPENSSL_NO_ASM;_UNICODE;UNICODE;%(PreprocessorDefinitions) -+ false -+ True - EnableAllWarnings - - -diff --git a/vsprojects/protobuf.props b/vsprojects/protobuf.props -index b1de8af..b63b603 ---- a/vsprojects/protobuf.props -+++ b/vsprojects/protobuf.props -@@ -1 +1,26 @@ -- libprotobuf.lib;%(AdditionalDependencies) $(SolutionDir)\..\third_party\protobuf\cmake\$(Configuration);%(AdditionalLibraryDirectories) -\ No newline at end of file -+ -+ -+ -+ -+ -+ $(SolutionDir)build\$(Platform)\$(Configuration)\$(MSBuildProjectName)\ -+ $(SolutionDir)build\$(Platform)\$(Configuration)\ -+ -+ -+ true -+ -+ -+ -+ _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) -+ $(ProjectDir)..\src;%(AdditionalIncludeDirectories) -+ true -+ false -+ 4506;%(DisableSpecificWarnings) -+ -+ -+ $(SolutionDir)\..\third_party\protobuf\cmake\$(Configuration);%(AdditionalLibraryDirectories) -+ true -+ Console -+ -+ -+ -\ No newline at end of file -diff --git a/vsprojects/protoc.props b/vsprojects/protoc.props -index 1bdc071..87a4bf4 ---- a/vsprojects/protoc.props -+++ b/vsprojects/protoc.props -@@ -1 +1,15 @@ -- 4244;4267;%(DisableSpecificWarnings) libprotoc.lib;%(AdditionalDependencies) $(SolutionDir)\..\third_party\protobuf\cmake\$(Configuration);%(AdditionalLibraryDirectories) -\ No newline at end of file -+ -+ -+ -+ -+ -+ -+ -+ 4244;4267;%(DisableSpecificWarnings) -+ -+ -+ $(SolutionDir)\..\third_party\protobuf\cmake\$(Configuration);%(AdditionalLibraryDirectories) -+ -+ -+ -+ -\ No newline at end of file -diff --git a/vsprojects/vcxproj/gpr/gpr.vcxproj b/vsprojects/vcxproj/gpr/gpr.vcxproj -index db8594e..d2ddaff ---- a/vsprojects/vcxproj/gpr/gpr.vcxproj -+++ b/vsprojects/vcxproj/gpr/gpr.vcxproj -@@ -21,7 +21,6 @@ - - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - true -- $(SolutionDir)IntDir\$(MSBuildProjectName)\ - - - -@@ -44,7 +43,6 @@ - - StaticLibrary - false -- true - Unicode - - -@@ -52,16 +50,10 @@ - - - -- -- -+ -+ - - -- -- gpr -- -- -- gpr -- - - - NotUsing -@@ -69,7 +61,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -88,7 +79,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -109,7 +99,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -132,7 +121,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -147,152 +135,152 @@ - - - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - - - -diff --git a/vsprojects/vcxproj/gpr/gpr.vcxproj.filters b/vsprojects/vcxproj/gpr/gpr.vcxproj.filters -index 9bab373..d13e9c4 ---- a/vsprojects/vcxproj/gpr/gpr.vcxproj.filters -+++ b/vsprojects/vcxproj/gpr/gpr.vcxproj.filters -@@ -1,302 +1,302 @@ - - - -- -+ - src\core\lib\profiling - -- -+ - src\core\lib\profiling - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - - - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\support - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - - - -- -+ - src\core\lib\profiling - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - -- -+ - src\core\lib\support - - -diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj b/vsprojects/vcxproj/grpc++/grpc++.vcxproj -index c50fc4a..f3b8b27 ---- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj -+++ b/vsprojects/vcxproj/grpc++/grpc++.vcxproj -@@ -37,7 +37,6 @@ - - {C187A093-A0FE-489D-A40A-6E33DE0F9FEB} - true -- $(SolutionDir)IntDir\$(MSBuildProjectName)\ - - - -@@ -60,7 +59,6 @@ - - StaticLibrary - false -- true - Unicode - - -@@ -71,7 +69,6 @@ - - StaticLibrary - false -- true - Unicode - - -@@ -79,16 +76,10 @@ - - - -- -- -+ -+ - - -- -- grpc++ -- -- -- grpc++ -- - - - NotUsing -@@ -96,7 +87,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -115,7 +105,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -136,7 +125,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -159,7 +147,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -180,7 +167,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -199,7 +185,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -220,7 +205,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -243,7 +227,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -258,448 +241,189 @@ - - - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ true -+ -+ -+ -+ -+ -+ -+ -+ -+ true -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ true -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ - - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ -+ true - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ -+ true - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ -+ true - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+ - - - -- -+ - {29D16885-7228-4C31-81ED-5F9187C7F2A9} - -- -- {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} -- - - - -diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters -index a68ac33..cfea49a ---- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters -+++ b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters -@@ -1,942 +1,411 @@ - - - -- -+ - src\cpp\client - -- -+ - src\cpp\common - -- -+ - src\cpp\common - -- -+ - src\cpp\common - -- -+ - src\cpp\common - -- -+ - src\cpp\server - -- -+ - src\cpp\client - -- -+ - src\cpp\client - -- -+ - src\cpp\client - -- -+ - src\cpp\client - -- -+ - src\cpp\client - -- -+ - src\cpp\client - -- -+ - src\cpp\client - -- -- src\cpp\client -- -- -- src\cpp\common -- -- -+ - src\cpp\common - -- -+ - src\cpp\common - -- -+ - src\cpp\common - -- -+ - src\cpp\server - -- -+ - src\cpp\server - -- -+ - src\cpp\server - -- -+ - src\cpp\server - -- -+ - src\cpp\server - -- -+ - src\cpp\server - -- -+ - src\cpp\server - -- -+ - src\cpp\server - -- -- src\cpp\server -- -- -+ - src\cpp\util - -- -+ - src\cpp\util - -- -+ - src\cpp\util - -- -+ - src\cpp\util - -- -+ - src\cpp\util - -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\compression -- -- -- src\core\lib\compression -- -- -- src\core\lib\debug -- -- -- src\core\lib\http -- -- -- src\core\lib\http -- -- -- src\core\lib\http -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\json -- -- -- src\core\lib\json -- -- -- src\core\lib\json -- -- -- src\core\lib\json -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\surface -- -- -- src\core\lib\transport -- -- -- src\core\lib\transport -- -- -- src\core\lib\transport -- -- -- src\core\lib\transport -- -- -- src\core\lib\transport -- -- -- src\core\lib\transport -- -- -- src\core\lib\transport -- -- -+ - src\cpp\codegen - -+ - - -- -- include\grpc++ -- -- -+ - include\grpc++ - -- -+ - include\grpc++ - -- -+ - include\grpc++ - -- -+ - include\grpc++ - -- -+ - include\grpc++ - -- -+ - include\grpc++\generic - -- -+ - include\grpc++\generic - -- -+ - include\grpc++ - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -+ - include\grpc++\impl - -- -- include\grpc++\impl -- -- -+ - include\grpc++\security - -- -+ - include\grpc++\security - -- -+ - include\grpc++\security - -- -+ - include\grpc++\security - -- -- include\grpc++ -- -- -+ - include\grpc++ - -- -+ - include\grpc++ - -- -+ - include\grpc++ - -- -+ - include\grpc++\support - -- -+ - include\grpc++\support - -- -+ - include\grpc++\support - -- -+ - include\grpc++\support - -- -+ - include\grpc++\support - -- -+ - include\grpc++\support - -- -+ - include\grpc++\support - -- -+ - include\grpc++\support - -- -+ - include\grpc++\support - -- -+ - include\grpc++\support - -- -+ - include\grpc++\support - -- -+ - include\grpc++\support - -- -- include\grpc -- -- -- include\grpc -- -- -- include\grpc -- -- -- include\grpc -- -- -- include\grpc -- -- -- include\grpc -- -- -- include\grpc -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -- include\grpc\impl\codegen -- -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen\security - -- -- include\grpc++\impl\codegen -- -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -+ - include\grpc++\impl\codegen - -- -- -- -+ - include\grpc++\impl\codegen - -- -- src\cpp\client -- -- -- src\cpp\common -- -- -- src\cpp\server -- -- -- src\cpp\client -- -- -- src\cpp\server -- -- -- src\cpp\server -- -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\channel -- -- -- src\core\lib\compression -- -- -- src\core\lib\compression -- -- -- src\core\lib\debug -- -- -- src\core\lib\http -- -- -- src\core\lib\http -- -- -- src\core\lib\http -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -- -- -- src\core\lib\iomgr -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\iomgr -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\iomgr -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\iomgr -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\iomgr -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\iomgr -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\json -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\json -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\json -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\json -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\surface -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\surface -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\surface -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\surface -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\surface -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\surface -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\surface -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\surface -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\surface -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\surface -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\surface -+ -+ include\grpc\impl\codegen - -- -- src\core\lib\transport -+ -+ -+ -+ -+ -+ -+ include\grpc++\impl\codegen - -- -- src\core\lib\transport -+ -+ src\cpp\client - -- -- src\core\lib\transport -+ -+ src\cpp\common - -- -- src\core\lib\transport -+ -+ src\cpp\server - -- -- src\core\lib\transport -+ -+ src\cpp\client - -- -- src\core\lib\transport -+ -+ src\cpp\server - -- -- src\core\lib\transport -+ -+ src\cpp\server - - -- - - - {82445414-24cd-8198-1fe1-4267c3f3df00} -@@ -974,36 +443,6 @@ - - {328ff211-2886-406e-56f9-18ba1686f363} - -- -- {d02f1155-7e7e-3736-3c69-dc9146dc523d} -- -- -- {80567a8f-622f-a3ce-c12d-aebb63984b07} -- -- -- {e769265c-8abd-cd64-2cc2-a52da484fe7b} -- -- -- {701b2d46-11c6-3640-b189-45287f00bee3} -- -- -- {ada68fd5-8e51-98cb-71a7-baf7989d8ffa} -- -- -- {e770844e-61d4-555e-59be-81288e21a35f} -- -- -- {04dfa1c8-7ffe-4f06-4a7c-37441dc75764} -- -- -- {a5d5bddf-6f19-b655-a03a-f30ff5c253a5} -- -- -- {fb2276d7-5a11-f1d9-82c3-e7c7f1155523} -- -- -- {4bd7971a-68f7-0d5a-f502-6dea3099caaa} -- - - {2420a905-e4f1-a5aa-a364-6a112878a39e} - -@@ -1023,5 +462,4 @@ - {f842537a-2bf1-1ec3-b495-7d62c64a1c06} - - -- -- -+ -\ No newline at end of file -diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj b/vsprojects/vcxproj/grpc/grpc.vcxproj -index 51f2107..d95a974 ---- a/vsprojects/vcxproj/grpc/grpc.vcxproj -+++ b/vsprojects/vcxproj/grpc/grpc.vcxproj -@@ -1,6 +1,6 @@ - - -- -+ - - - Debug-DLL -@@ -38,7 +38,6 @@ - - {29D16885-7228-4C31-81ED-5F9187C7F2A9} - true -- $(SolutionDir)IntDir\$(MSBuildProjectName)\ - - - -@@ -61,7 +60,6 @@ - - StaticLibrary - false -- true - Unicode - - -@@ -72,7 +70,6 @@ - - StaticLibrary - false -- true - Unicode - - -@@ -80,19 +77,17 @@ - - - -- -- -+ -+ - - - -- grpc - static - Debug - static - Debug - - -- grpc - static - Release - static -@@ -105,7 +100,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -124,7 +118,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -145,7 +138,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -168,7 +160,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -189,7 +180,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -208,7 +198,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -229,7 +218,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -252,7 +240,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -267,570 +254,570 @@ - - - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - - - -- -+ - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - - -@@ -839,20 +826,20 @@ - - - -- -- -- -- -+ -+ -+ -+ - - - - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - -- -- -- -- -- -+ -+ -+ -+ -+ - - - -diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters -index 497111f..ba69b28 ---- a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters -+++ b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters -@@ -1,1121 +1,1121 @@ - - - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\compression - -- -+ - src\core\lib\compression - -- -+ - src\core\lib\debug - -- -+ - src\core\lib\http - -- -+ - src\core\lib\http - -- -+ - src\core\lib\http - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\json - -- -+ - src\core\lib\json - -- -+ - src\core\lib\json - -- -+ - src\core\lib\json - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\transport - -- -+ - src\core\lib\transport - -- -+ - src\core\lib\transport - -- -+ - src\core\lib\transport - -- -+ - src\core\lib\transport - -- -+ - src\core\lib\transport - -- -+ - src\core\lib\transport - -- -+ - src\core\ext\transport\chttp2\server\secure - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\alpn - -- -+ - src\core\lib\http - -- -+ - src\core\lib\security\context - -- -+ - src\core\lib\security\credentials\composite - -- -+ - src\core\lib\security\credentials - -- -+ - src\core\lib\security\credentials - -- -+ - src\core\lib\security\credentials\fake - -- -+ - src\core\lib\security\credentials\google_default - -- -+ - src\core\lib\security\credentials\google_default - -- -+ - src\core\lib\security\credentials\google_default - -- -+ - src\core\lib\security\credentials\iam - -- -+ - src\core\lib\security\credentials\jwt - -- -+ - src\core\lib\security\credentials\jwt - -- -+ - src\core\lib\security\credentials\jwt - -- -+ - src\core\lib\security\credentials\oauth2 - -- -+ - src\core\lib\security\credentials\plugin - -- -+ - src\core\lib\security\credentials\ssl - -- -+ - src\core\lib\security\transport - -- -+ - src\core\lib\security\transport - -- -+ - src\core\lib\security\transport - -- -+ - src\core\lib\security\transport - -- -+ - src\core\lib\security\transport - -- -+ - src\core\lib\security\transport - -- -+ - src\core\lib\security\util - -- -+ - src\core\lib\security\util - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\tsi - -- -+ - src\core\lib\tsi - -- -+ - src\core\lib\tsi - -- -+ - src\core\ext\transport\chttp2\client\secure - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\transport\chttp2\server\insecure - -- -+ - src\core\ext\transport\chttp2\server\insecure - -- -+ - src\core\ext\transport\chttp2\client\insecure - -- -+ - src\core\ext\transport\chttp2\client\insecure - -- -+ - src\core\ext\lb_policy\grpclb - -- -+ - src\core\ext\lb_policy\grpclb\proto\grpc\lb\v1 - -- -+ - third_party\nanopb - -- -+ - third_party\nanopb - -- -+ - third_party\nanopb - -- -+ - src\core\ext\lb_policy\pick_first - -- -+ - src\core\ext\lb_policy\round_robin - -- -+ - src\core\ext\resolver\dns\native - -- -+ - src\core\ext\resolver\sockaddr - -- -+ - src\core\ext\load_reporting - -- -+ - src\core\ext\load_reporting - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census\gen - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census - -- -+ - src\core\plugin_registry - - - -- -+ - include\grpc - -- -+ - include\grpc - -- -+ - include\grpc - -- -+ - include\grpc - -- -+ - include\grpc - -- -+ - include\grpc - -- -- include\grpc -- -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ - include\grpc\impl\codegen - -- -+ -+ include\grpc -+ -+ - include\grpc - -- -+ - include\grpc - - - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\channel - -- -+ - src\core\lib\compression - -- -+ - src\core\lib\compression - -- -+ - src\core\lib\debug - -- -+ - src\core\lib\http - -- -+ - src\core\lib\http - -- -+ - src\core\lib\http - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\iomgr - -- -+ - src\core\lib\json - -- -+ - src\core\lib\json - -- -+ - src\core\lib\json - -- -+ - src\core\lib\json - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\surface - -- -+ - src\core\lib\transport - -- -+ - src\core\lib\transport - -- -+ - src\core\lib\transport - -- -+ - src\core\lib\transport - -- -+ - src\core\lib\transport - -- -+ - src\core\lib\transport - -- -+ - src\core\lib\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\transport - -- -+ - src\core\ext\transport\chttp2\alpn - -- -+ - src\core\lib\security\context - -- -+ - src\core\lib\security\credentials\composite - -- -+ - src\core\lib\security\credentials - -- -+ - src\core\lib\security\credentials\fake - -- -+ - src\core\lib\security\credentials\google_default - -- -+ - src\core\lib\security\credentials\iam - -- -+ - src\core\lib\security\credentials\jwt - -- -+ - src\core\lib\security\credentials\jwt - -- -+ - src\core\lib\security\credentials\jwt - -- -+ - src\core\lib\security\credentials\oauth2 - -- -+ - src\core\lib\security\credentials\plugin - -- -+ - src\core\lib\security\credentials\ssl - -- -+ - src\core\lib\security\transport - -- -+ - src\core\lib\security\transport - -- -+ - src\core\lib\security\transport - -- -+ - src\core\lib\security\transport - -- -+ - src\core\lib\security\transport - -- -+ - src\core\lib\security\util - -- -+ - src\core\lib\security\util - -- -+ - src\core\lib\tsi - -- -+ - src\core\lib\tsi - -- -+ - src\core\lib\tsi - -- -+ - src\core\lib\tsi - -- -+ - src\core\lib\tsi - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\client_config - -- -+ - src\core\ext\lb_policy\grpclb - -- -+ - src\core\ext\lb_policy\grpclb\proto\grpc\lb\v1 - -- -+ - third_party\nanopb - -- -+ - third_party\nanopb - -- -+ - third_party\nanopb - -- -+ - third_party\nanopb - -- -+ - src\core\ext\load_reporting - -- -+ - src\core\ext\load_reporting - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census\gen - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census - -- -+ - src\core\ext\census - - -@@ -1299,5 +1299,8 @@ - {93d6596d-330c-1d27-6f84-3c840e57869e} - - -+ -+ -+ - - -diff --git a/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj b/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj -index a521414..5415b24 ---- a/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj -+++ b/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj -@@ -21,7 +21,6 @@ - - {7E51A25F-AC59-488F-906C-C60FAAE706AA} - true -- $(SolutionDir)IntDir\$(MSBuildProjectName)\ - - - -@@ -44,7 +43,6 @@ - - Application - false -- true - Unicode - - -@@ -52,17 +50,11 @@ - - - -- -- -- -+ -+ -+ - - -- -- grpc_cpp_plugin -- -- -- grpc_cpp_plugin -- - - - NotUsing -@@ -70,7 +62,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -89,7 +80,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -110,7 +100,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -133,7 +122,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -148,13 +136,16 @@ - - - -- -+ - - - -- -+ - {B6E81D84-2ACB-41B8-8781-493A944C7817} - -+ -+ {2b4f3bb4-adde-4cb7-b832-c964de4e0087} -+ - - - -diff --git a/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj.filters b/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj.filters -index 421c308..bfa41be ---- a/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj.filters -+++ b/vsprojects/vcxproj/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj.filters -@@ -1,7 +1,7 @@ - - - -- -+ - src\compiler - - -diff --git a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj -index 9828b8b..bc4716b ---- a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj -+++ b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj -@@ -21,7 +21,6 @@ - - {B6E81D84-2ACB-41B8-8781-493A944C7817} - true -- $(SolutionDir)IntDir\$(MSBuildProjectName)\ - - - -@@ -44,7 +43,6 @@ - - StaticLibrary - false -- true - Unicode - - -@@ -52,17 +50,11 @@ - - - -- -- -- -+ -+ -+ - - -- -- grpc_plugin_support -- -- -- grpc_plugin_support -- - - - NotUsing -@@ -70,7 +62,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -89,7 +80,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -110,7 +100,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -133,7 +122,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -148,37 +136,37 @@ - - - -- -+ - - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - - - -diff --git a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters -index 27eb935..207944a ---- a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters -+++ b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters -@@ -1,74 +1,74 @@ -- -+ - - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - - - -- -+ - include\grpc++\impl\codegen - - - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - -- -+ - src\compiler - - -diff --git a/vsprojects/vcxproj/z/z.vcxproj b/vsprojects/vcxproj/z/z.vcxproj -index 4505dfa..92b378d ---- a/vsprojects/vcxproj/z/z.vcxproj -+++ b/vsprojects/vcxproj/z/z.vcxproj -@@ -21,7 +21,6 @@ - - {FBADE9E3-6A3F-36D3-D676-C1B808451DD7} - true -- $(SolutionDir)IntDir\$(MSBuildProjectName)\ - - - -@@ -44,7 +43,6 @@ - - StaticLibrary - false -- true - Unicode - - -@@ -52,16 +50,10 @@ - - - -- -- -+ -+ - - -- -- z -- -- -- z -- - - - NotUsing -@@ -69,7 +61,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -88,7 +79,6 @@ - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true -- MultiThreadedDebug - true - None - false -@@ -109,7 +99,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -132,7 +121,6 @@ - true - true - true -- MultiThreaded - true - None - false -@@ -147,48 +135,48 @@ - - - -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - -- -+ - - - -diff --git a/vsprojects/vcxproj/z/z.vcxproj.filters b/vsprojects/vcxproj/z/z.vcxproj.filters -index 4aea144..9d1cff6 ---- a/vsprojects/vcxproj/z/z.vcxproj.filters -+++ b/vsprojects/vcxproj/z/z.vcxproj.filters -@@ -1,84 +1,84 @@ -- -+ - - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - - - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - -- -+ - third_party\zlib - - -diff --git a/vsprojects/zlib.props b/vsprojects/zlib.props -index b64bb21..77f095e ---- a/vsprojects/zlib.props -+++ b/vsprojects/zlib.props -@@ -6,7 +6,7 @@ - - - zlib.lib;%(AdditionalDependencies) -- $(SolutionDir)\packages\grpc.dependencies.zlib.1.2.8.10\build\native\lib\$(PlatformToolset)\$(Platform)\$(Configuration)\static\cdecl;%(AdditionalLibraryDirectories) -+ $(ProjectDir)\..\..\..\..\..\packages\grpc.dependencies.zlib.1.2.8.10\build\native\lib\$(PlatformToolset)\$(Platform)\$(Configuration)\static\cdecl;%(AdditionalLibraryDirectories) - - - diff --git a/thirdparty/patches/windows/protobuf-projects.patch b/thirdparty/patches/windows/protobuf-projects.patch deleted file mode 100644 index f1a95df9c1bda..0000000000000 --- a/thirdparty/patches/windows/protobuf-projects.patch +++ /dev/null @@ -1,384 +0,0 @@ -diff --git a/src/google/protobuf/compiler/js/js_generator.cc b/src/google/protobuf/compiler/js/js_generator.cc -index 3de61e8..ea83c82 ---- a/src/google/protobuf/compiler/js/js_generator.cc -+++ b/src/google/protobuf/compiler/js/js_generator.cc -@@ -488,6 +488,7 @@ string JSByteGetterSuffix(BytesMode bytes_mode) { - return "U8"; - default: - assert(false); -+ return NULL; - } - } - -diff --git a/vsprojects/libprotobuf.vcxproj b/vsprojects/libprotobuf.vcxproj -new file -index 0000000..73f9bea ---- /dev/null -+++ b/vsprojects/libprotobuf.vcxproj -@@ -0,0 +1,116 @@ -+ -+ -+ -+ -+ Debug -+ Win32 -+ -+ -+ Release -+ Win32 -+ -+ -+ Debug -+ x64 -+ -+ -+ Release -+ x64 -+ -+ -+ -+ {07ABD431-1515-4140-932E-E8C150FF7D1A} -+ Win32Proj -+ -+ -+ -+ StaticLibrary -+ v140 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -\ No newline at end of file -diff --git a/vsprojects/libprotoc.vcxproj b/vsprojects/libprotoc.vcxproj -new file -index 0000000..ee5aeee ---- /dev/null -+++ b/vsprojects/libprotoc.vcxproj -@@ -0,0 +1,134 @@ -+ -+ -+ -+ -+ Debug -+ Win32 -+ -+ -+ Release -+ Win32 -+ -+ -+ Debug -+ x64 -+ -+ -+ Release -+ x64 -+ -+ -+ -+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087} -+ Win32Proj -+ -+ -+ -+ StaticLibrary -+ v140 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ {07abd431-1515-4140-932e-e8c150ff7d1a} -+ -+ -+ -+ -\ No newline at end of file -diff --git a/vsprojects/protobuf.sln b/vsprojects/protobuf.sln -new file -index 0000000..27d6b04 ---- /dev/null -+++ b/vsprojects/protobuf.sln -@@ -0,0 +1,48 @@ -+ -+Microsoft Visual Studio Solution File, Format Version 12.00 -+# Visual Studio 14 -+VisualStudioVersion = 14.0.25123.0 -+MinimumVisualStudioVersion = 10.0.40219.1 -+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprotobuf", "libprotobuf.vcxproj", "{07ABD431-1515-4140-932E-E8C150FF7D1A}" -+EndProject -+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protoc", "protoc.vcxproj", "{DB653289-E887-4B13-AC08-EE3EAC1F34C9}" -+EndProject -+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprotoc", "libprotoc.vcxproj", "{2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}" -+EndProject -+Global -+ GlobalSection(SolutionConfigurationPlatforms) = preSolution -+ Debug|Win32 = Debug|Win32 -+ Debug|x64 = Debug|x64 -+ Release|Win32 = Release|Win32 -+ Release|x64 = Release|x64 -+ EndGlobalSection -+ GlobalSection(ProjectConfigurationPlatforms) = postSolution -+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|Win32.ActiveCfg = Debug|Win32 -+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|Win32.Build.0 = Debug|Win32 -+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|x64.ActiveCfg = Debug|x64 -+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Debug|x64.Build.0 = Debug|x64 -+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|Win32.ActiveCfg = Release|Win32 -+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|Win32.Build.0 = Release|Win32 -+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|x64.ActiveCfg = Release|x64 -+ {07ABD431-1515-4140-932E-E8C150FF7D1A}.Release|x64.Build.0 = Release|x64 -+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|Win32.ActiveCfg = Debug|Win32 -+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|Win32.Build.0 = Debug|Win32 -+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|x64.ActiveCfg = Debug|x64 -+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Debug|x64.Build.0 = Debug|x64 -+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|Win32.ActiveCfg = Release|Win32 -+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|Win32.Build.0 = Release|Win32 -+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|x64.ActiveCfg = Release|x64 -+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9}.Release|x64.Build.0 = Release|x64 -+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|Win32.ActiveCfg = Debug|Win32 -+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|Win32.Build.0 = Debug|Win32 -+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|x64.ActiveCfg = Debug|x64 -+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Debug|x64.Build.0 = Debug|x64 -+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|Win32.ActiveCfg = Release|Win32 -+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|Win32.Build.0 = Release|Win32 -+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|x64.ActiveCfg = Release|x64 -+ {2B4F3BB4-ADDE-4CB7-B832-C964DE4E0087}.Release|x64.Build.0 = Release|x64 -+ EndGlobalSection -+ GlobalSection(SolutionProperties) = preSolution -+ HideSolutionNode = FALSE -+ EndGlobalSection -+EndGlobal -diff --git a/vsprojects/protoc.vcxproj b/vsprojects/protoc.vcxproj -new file -index 0000000..5b0afa9 ---- /dev/null -+++ b/vsprojects/protoc.vcxproj -@@ -0,0 +1,47 @@ -+ -+ -+ -+ -+ Debug -+ Win32 -+ -+ -+ Release -+ Win32 -+ -+ -+ Debug -+ x64 -+ -+ -+ Release -+ x64 -+ -+ -+ -+ {DB653289-E887-4B13-AC08-EE3EAC1F34C9} -+ Win32Proj -+ -+ -+ -+ Application -+ v140 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ {2b4f3bb4-adde-4cb7-b832-c964de4e0087} -+ -+ -+ -+ -\ No newline at end of file diff --git a/vsprojects/base.props b/vsprojects/base.props index 47614ba1dcccb..8d68bb16782a4 100644 --- a/vsprojects/base.props +++ b/vsprojects/base.props @@ -2,7 +2,7 @@ - $(SolutionDir)thirdparty\ + $(ProjectDir)..\src\common\thirdparty\ $(SolutionDir)build\$(Platform)\$(Configuration)\ @@ -16,17 +16,17 @@ - $(PYTHONHOME)\Lib\site-packages\numpy\core\include;$(THIRD_PARTY)python\inc;$(THIRD_PARTY)python\inc\Windows;$(ProjectDir)..\build\generated;$(ProjectDir)..\include;$(THIRD_PARTY)numbuf\cpp\src;$(THIRD_PARTY)numbuf\python\src;$(THIRD_PARTY)grpc\include;$(THIRD_PARTY)grpc\third_party\protobuf\src;$(BOOST_ROOT);$(BOOST_ROOT)\libs\interprocess\include;%(AdditionalIncludeDirectories) - _SCL_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0600;BOOST_DATE_TIME_NO_LIB=1;HAVE_ROUND;%(PreprocessorDefinitions) + $(ProjectDir)..\src;$(ProjectDir)..\src\$(MSBuildProjectName);$(ProjectDir)..\src\common;$(ProjectDir)..\src\common\lib\python;$(ProjectDir)..\src\common\shims\windows;$(PYTHONHOME)\Lib\site-packages\numpy\core\include;$(THIRD_PARTY)python\inc;$(THIRD_PARTY)redis-windows\src;$(THIRD_PARTY)redis-windows\deps;$(THIRD_PARTY)redis-windows\deps\hiredis;$(THIRD_PARTY)python\inc\Windows;$(THIRD_PARTY);$(ProjectDir)..\include;%(AdditionalIncludeDirectories) + FDAPI_NOCRTREDEFS;USE_STATIC;_CRT_NONSTDC_NO_DEPRECATE;_CRT_OBSOLETE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0502;HAVE_ROUND;%(PreprocessorDefinitions) 4191;;4100;4371;4514;4571;4619;4668;4710;4820 - /FS %(AdditionalOptions) + /we4013 /FS %(AdditionalOptions) true false + Level4 $(THIRD_PARTY)python\lib\Windows\$(PlatformTarget);$(SolutionDir)packages\grpc.dependencies.openssl.1.0.204.1\build\native\lib\$(PlatformToolset)\$(Platform)\$(Configuration)\static;%(AdditionalLibraryDirectories) - /NoDefaultLib:libcmt.lib /NoDefaultLib:libcmtd.lib /NoDefaultLib:libcpmt.lib /NoDefaultLib:libcpmtd.lib /ignore:4099 /ignore:4217 %(AdditionalOptions) - libeay32.lib;ssleay32.lib;ws2_32.lib;%(AdditionalDependencies) + /ignore:4099 /ignore:4217 %(AdditionalOptions) diff --git a/vsprojects/common.vcxproj b/vsprojects/common.vcxproj new file mode 100644 index 0000000000000..36bb8fde899a5 --- /dev/null +++ b/vsprojects/common.vcxproj @@ -0,0 +1,124 @@ + + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {13e85053-54b3-487b-8ddb-3430b1c1b3bf} + + + {46842776-68a5-ec98-6a09-1859bbfc73aa} + + + {8c07f811-c81c-432c-b334-1ae6faecf951} + + + + {C002F9F6-8447-4B95-AA18-FB781F4A7865} + Win32Proj + 8.1 + + + + v140_xp + StaticLibrary + + + Unicode + + + Unicode + + + Unicode + + + Unicode + + + + + + + + + + + + + + Console + + + + \ No newline at end of file diff --git a/vsprojects/common.vcxproj.filters b/vsprojects/common.vcxproj.filters new file mode 100644 index 0000000000000..1b2df4b007d1c --- /dev/null +++ b/vsprojects/common.vcxproj.filters @@ -0,0 +1,213 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {efd82b7e-4393-48c5-94cd-d87768d09885} + + + {f8c2c173-6ee0-454f-8ae3-378002ebadc4} + + + {824b6c62-5d4f-40d7-8a01-1d7edb72df8a} + + + {55837f06-833e-4237-a73d-1d86af1ed955} + + + {ed8bd3c9-96cf-4ab1-bb69-b0936503b522} + + + {cc733270-3992-46fd-8869-a17dc8ae51cf} + + + {3d964c94-33c8-4fda-a41e-bd16bea1bc0f} + + + {89ec306a-1caf-4a1b-9c66-9f5bbc600b68} + + + {163f233d-3c3b-4d12-8bf3-4d9118f17ff5} + + + {94e02f39-d5d7-4b48-b6c7-f69c5d8e65e7} + + + {bdb162c3-c764-4167-ac97-cba9ed8ac096} + + + {59d4a704-c226-4c86-b5be-cd5d979b20ca} + + + {7a83848d-2dd0-4aa0-9e9d-7741630ab008} + + + {ba52c73a-2a7a-4bbb-b9c8-7fcb0e1249ec} + + + {1da5c4a6-8c48-4796-b398-7920d069ed5e} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files\state + + + Source Files\state + + + Source Files\state + + + Source Files\state + + + Source Files\thirdparty + + + Source Files\lib\python + + + Source Files\lib\python + + + Source Files + + + Source Files\shims\windows + + + Source Files\shims\windows + + + Source Files\shims\windows + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files\lib\python + + + Header Files\state + + + Header Files\state + + + Header Files\state + + + Header Files\state + + + Header Files\state + + + Header Files\test + + + Header Files\thirdparty + + + Header Files\thirdparty + + + Header Files\thirdparty + + + Header Files\thirdparty + + + Header Files\thirdparty + + + Header Files\thirdparty + + + Header Files\thirdparty + + + Header Files + + + Header Files\shims\windows + + + Header Files\shims\windows + + + Header Files\shims\windows + + + Header Files\shims\windows + + + Header Files\shims\windows + + + Header Files\shims\windows\netinfo + + + Header Files\shims\windows\sys + + + Header Files\shims\windows\sys + + + Header Files\shims\windows\sys + + + Header Files\shims\windows\sys + + + Header Files\shims\windows\sys + + + Header Files\shims\windows\sys + + + Header Files\shims\windows\sys + + + \ No newline at end of file diff --git a/vsprojects/packages.config b/vsprojects/packages.config deleted file mode 100644 index c6863e4e420d3..0000000000000 --- a/vsprojects/packages.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/vsprojects/photon.props b/vsprojects/photon.props new file mode 100644 index 0000000000000..78dac509d0e1b --- /dev/null +++ b/vsprojects/photon.props @@ -0,0 +1,13 @@ + + + + + + + + + $(ProjectDir)..\src\plasma;%(AdditionalIncludeDirectories) + + + + \ No newline at end of file diff --git a/vsprojects/photon.vcxproj b/vsprojects/photon.vcxproj new file mode 100644 index 0000000000000..5d44031eec783 --- /dev/null +++ b/vsprojects/photon.vcxproj @@ -0,0 +1,92 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + {c002f9f6-8447-4b95-aa18-fb781f4a7865} + + + {ddfcec30-7024-421a-979a-b1bf69cf464e} + + + + {D4F50B21-7FDE-41CE-87F5-2CF71178EF40} + Win32Proj + 8.1 + + + + v140_xp + Application + + + Unicode + + + Unicode + + + Unicode + + + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + Console + + + + + \ No newline at end of file diff --git a/vsprojects/photon.vcxproj.filters b/vsprojects/photon.vcxproj.filters new file mode 100644 index 0000000000000..c6c6fd61b40a5 --- /dev/null +++ b/vsprojects/photon.vcxproj.filters @@ -0,0 +1,45 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/vsprojects/plasma_client.vcxproj b/vsprojects/plasma_client.vcxproj new file mode 100644 index 0000000000000..211c1d381b006 --- /dev/null +++ b/vsprojects/plasma_client.vcxproj @@ -0,0 +1,84 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + + {c002f9f6-8447-4b95-aa18-fb781f4a7865} + false + + + + {DDFCEC30-7024-421A-979A-B1BF69CF464E} + Win32Proj + 8.1 + + + + v140_xp + StaticLibrary + + + Unicode + + + Unicode + + + Unicode + + + Unicode + + + + + + + + + + + + + + Console + + + + + + + + + + \ No newline at end of file diff --git a/vsprojects/plasma_client.vcxproj.filters b/vsprojects/plasma_client.vcxproj.filters new file mode 100644 index 0000000000000..e55d5bfaaef05 --- /dev/null +++ b/vsprojects/plasma_client.vcxproj.filters @@ -0,0 +1,48 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/vsprojects/scheduler.vcxproj b/vsprojects/plasma_manager.vcxproj similarity index 64% rename from vsprojects/scheduler.vcxproj rename to vsprojects/plasma_manager.vcxproj index 626d6c67c24c5..0e975723e919e 100644 --- a/vsprojects/scheduler.vcxproj +++ b/vsprojects/plasma_manager.vcxproj @@ -18,15 +18,42 @@ x64 + + + + + + + + + {c002f9f6-8447-4b95-aa18-fb781f4a7865} + + + {ddfcec30-7024-421a-979a-b1bf69cf464e} + + - {D4F50B21-7FDE-41CE-87F5-2CF71178EF40} + {75348CBF-9F7A-4a49-82D8-AA71AD9306C4} Win32Proj + 8.1 - v140 + v140_xp Application + + Unicode + + + Unicode + + + Unicode + + + Unicode + @@ -41,23 +68,11 @@ Console + + + + - - - - - - - - - - - {c002f9f6-8447-4b95-aa18-fb781f4a7865} - - - {76be8e91-0f74-4276-a6a7-b279c6fea0d2} - - diff --git a/vsprojects/scheduler.vcxproj.filters b/vsprojects/plasma_manager.vcxproj.filters similarity index 76% rename from vsprojects/scheduler.vcxproj.filters rename to vsprojects/plasma_manager.vcxproj.filters index 9f9201c9020f9..26cadd3bada6b 100644 --- a/vsprojects/scheduler.vcxproj.filters +++ b/vsprojects/plasma_manager.vcxproj.filters @@ -15,18 +15,12 @@ - - Source Files - - + Source Files - - Header Files - - + Header Files diff --git a/vsprojects/objstore.vcxproj b/vsprojects/plasma_store.vcxproj similarity index 64% rename from vsprojects/objstore.vcxproj rename to vsprojects/plasma_store.vcxproj index d04bcfa1caf56..989f0d9c83a55 100644 --- a/vsprojects/objstore.vcxproj +++ b/vsprojects/plasma_store.vcxproj @@ -18,15 +18,42 @@ x64 + + + + + + + + + {c002f9f6-8447-4b95-aa18-fb781f4a7865} + + + {ddfcec30-7024-421a-979a-b1bf69cf464e} + + - {DDFCEC30-7024-421A-979A-B1BF69CF464E} + {B6B2A333-E561-4921-B628-36A5FB3AC8B9} Win32Proj + 8.1 - v140 + v140_xp Application + + Unicode + + + Unicode + + + Unicode + + + Unicode + @@ -41,21 +68,11 @@ Console + + + + - - - - - - - - - {c002f9f6-8447-4b95-aa18-fb781f4a7865} - - - {76be8e91-0f74-4276-a6a7-b279c6fea0d2} - - diff --git a/vsprojects/objstore.vcxproj.filters b/vsprojects/plasma_store.vcxproj.filters similarity index 89% rename from vsprojects/objstore.vcxproj.filters rename to vsprojects/plasma_store.vcxproj.filters index c98eda3d25f7f..73f4bf64ddd83 100644 --- a/vsprojects/objstore.vcxproj.filters +++ b/vsprojects/plasma_store.vcxproj.filters @@ -15,12 +15,12 @@ - + Source Files - + Header Files diff --git a/vsprojects/ray.vcxproj b/vsprojects/ray.vcxproj deleted file mode 100644 index a998dc4420ffb..0000000000000 --- a/vsprojects/ray.vcxproj +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - {C002F9F6-8447-4B95-AA18-FB781F4A7865} - Win32Proj - - - - v140 - StaticLibrary - - - - - - - - - - - - - - Console - - - - - _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - - - _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - - - _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings) - - - _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings) - - - _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings) - true - - - _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - 4125;4355;4365;4800;;4623;4625;4626;4267;5026;5027;%(DisableSpecificWarnings) - - - - - - - - - - - - - - - - - - - - Document - Path $(OutDir);%PATH% -protoc --proto_path="$(SolutionDir)protos" --cpp_out="$(ProjectDir)..\build\generated" "%(FullPath)" -protoc --proto_path="$(SolutionDir)protos" --plugin=protoc-gen-grpc="$(OutDir)grpc_cpp_plugin.exe" --grpc_out="$(ProjectDir)..\build\generated" "%(FullPath)" -protoc --proto_path="$(SolutionDir)protos" --python_out="$(ProjectDir)..\lib\python\ray\internal" "%(FullPath)" - - $(ProjectDir)..\build\generated\%(Filename).pb.h;$(ProjectDir)..\build\generated\%(Filename).pb.cc;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.h;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.cc;$(ProjectDir)..\lib\python\ray\internal\%(Filename)_pb2.py;%(Outputs) - - - Document - Path $(OutDir);%PATH% -protoc --proto_path="$(SolutionDir)protos" --cpp_out="$(ProjectDir)..\build\generated" "%(FullPath)" -protoc --proto_path="$(SolutionDir)protos" --plugin=protoc-gen-grpc="$(OutDir)grpc_cpp_plugin.exe" --grpc_out="$(ProjectDir)..\build\generated" "%(FullPath)" -protoc --proto_path="$(SolutionDir)protos" --python_out="$(ProjectDir)..\lib\python\ray\internal" "%(FullPath)" - - $(ProjectDir)..\build\generated\%(Filename).pb.h;$(ProjectDir)..\build\generated\%(Filename).pb.cc;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.h;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.cc;$(ProjectDir)..\lib\python\ray\internal\%(Filename)_pb2.py;%(Outputs) - - - Document - Path $(OutDir);%PATH% -protoc --proto_path="$(SolutionDir)protos" --cpp_out="$(ProjectDir)..\build\generated" "%(FullPath)" -protoc --proto_path="$(SolutionDir)protos" --plugin=protoc-gen-grpc="$(OutDir)grpc_cpp_plugin.exe" --grpc_out="$(ProjectDir)..\build\generated" "%(FullPath)" -protoc --proto_path="$(SolutionDir)protos" --python_out="$(ProjectDir)..\lib\python\ray\internal" "%(FullPath)" - - $(ProjectDir)..\build\generated\%(Filename).pb.h;$(ProjectDir)..\build\generated\%(Filename).pb.cc;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.h;$(ProjectDir)..\build\generated\%(Filename).grpc.pb.cc;$(ProjectDir)..\lib\python\ray\internal\%(Filename)_pb2.py;%(Outputs) - - - - - - {07abd431-1515-4140-932e-e8c150ff7d1a} - - - {db653289-e887-4b13-ac08-ee3eac1f34c9} - - - {c187a093-a0fe-489d-a40a-6e33de0f9feb} - - - {7e51a25f-ac59-488f-906c-c60faae706aa} - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - - - \ No newline at end of file diff --git a/vsprojects/ray.vcxproj.filters b/vsprojects/ray.vcxproj.filters deleted file mode 100644 index 2a81d5298415c..0000000000000 --- a/vsprojects/ray.vcxproj.filters +++ /dev/null @@ -1,92 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {1adfc471-34d7-4d59-b8de-ddfe22d5fa30} - - - {2f962c16-c131-41dc-93b4-96fae21d2808} - - - - - Source Files - - - Source Files\protobufs - - - Source Files\protobufs - - - Source Files\protobufs - - - Source Files\protobufs - - - Source Files\protobufs - - - Source Files\protobufs - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files\protobufs - - - Header Files\protobufs - - - Header Files\protobufs - - - Header Files\protobufs - - - Header Files\protobufs - - - Header Files\protobufs - - - Header Files - - - Header Files - - - - - - - - - - - \ No newline at end of file diff --git a/vsprojects/raylib.vcxproj b/vsprojects/raylib.vcxproj index 79cf73978ae50..c91bcb52f3847 100644 --- a/vsprojects/raylib.vcxproj +++ b/vsprojects/raylib.vcxproj @@ -47,20 +47,5 @@ Console - - - - - - - - - - {609d1438-d42d-4cba-80a5-a1398c3bcc85} - - - {c002f9f6-8447-4b95-aa18-fb781f4a7865} - - \ No newline at end of file diff --git a/vsprojects/raylib.vcxproj.filters b/vsprojects/raylib.vcxproj.filters index 5575ae749aa88..6a1782f7d75e3 100644 --- a/vsprojects/raylib.vcxproj.filters +++ b/vsprojects/raylib.vcxproj.filters @@ -14,17 +14,4 @@ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - Source Files - - - Source Files - - - - - Header Files - - \ No newline at end of file diff --git a/vsprojects/shell.pyproj b/vsprojects/shell.pyproj index 78729225a9a79..9081aca382b62 100644 --- a/vsprojects/shell.pyproj +++ b/vsprojects/shell.pyproj @@ -35,8 +35,8 @@ PATH=$(SolutionDir)build\x64\$(Configuration)\;$(SolutionDir)build\Win32\$(Confi {609d1438-d42d-4cba-80a5-a1398c3bcc85} False - - objstore + + plasma {ddfcec30-7024-421a-979a-b1bf69cf464e} False @@ -45,8 +45,8 @@ PATH=$(SolutionDir)build\x64\$(Configuration)\;$(SolutionDir)build\Win32\$(Confi {76be8e91-0f74-4276-a6a7-b279c6fea0d2} False - - scheduler + + photon {d4f50b21-7fde-41ce-87f5-2cf71178ef40} False diff --git a/vsprojects/zstub.c b/vsprojects/zstub.c deleted file mode 100644 index 3ec30eb52fb7d..0000000000000 --- a/vsprojects/zstub.c +++ /dev/null @@ -1,17 +0,0 @@ -#ifdef __cplusplus -extern "C" { -#endif -// We don't need zlib, and this stub is to allow us to avoid compiling it as a dependency -int deflate(struct z_stream_s *strm, int flush) { return -2; } -int deflateEnd(struct z_stream_s *strm) { return -2; } -int deflateInit_(struct z_stream_s *stream, int level, const char *version, int stream_size) { return -2; } -int deflateInit2_(struct z_stream_s *strm, int level, int method, int windowBits, int memLevel, int strategy, const char *version, int stream_size) { return -2; } -int inflate(struct z_stream_s *strm, int flush) { return -2; } -int inflateEnd(struct z_stream_s *strm) { return -2; } -int inflateInit_(struct z_stream_s *stream, const char *version, int stream_size) { return -2; } -int inflateInit2_(struct z_stream_s *strm, int windowBits, const char *version, int stream_size) { return -2; } -const char *gzerror(struct gzFile_s * file, int *errnum) { return 0; } -const char *zError(int err) { return 0; } -#ifdef __cplusplus -} -#endif