From: Erwin Janssen Date: Sun, 18 Sep 2016 00:11:05 +0000 (+0200) Subject: Windows: add getopt library project. X-Git-Tag: untagged-4431b9bde391f1b69fe5^2~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c8420624daae316e2d9c304a8786e37074801d39;p=graphviz Windows: add getopt library project. This library should provide the ability to use `getopt` in the Windows build. The implementatation of the `getopt` function is taken from the ingraphs library. Adding this project also added a x64 build configuration to the Visual Studio solution, but this configuration isn't tested yet. --- diff --git a/.gitignore b/.gitignore index 46a06649a..fe4ecf32f 100644 --- a/.gitignore +++ b/.gitignore @@ -208,6 +208,8 @@ tests/lib/common/command_line # Folders generated by Visual Studio builds **/Debug/** **/Release/** +*.lib +*.pdb # User specific Visual Studio folders and files .vs/** diff --git a/graphviz.sln b/graphviz.sln index 32c389baa..61d2c3faa 100644 --- a/graphviz.sln +++ b/graphviz.sln @@ -173,256 +173,390 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ccomps", "cmd\tools\ccomps. EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gvplugin_gdiplus", "plugin\gdiplus\gvplugin_gdiplus.vcxproj", "{0F4D5D8F-F4D6-4A5D-97E0-9B482257F493}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "getopt", "windows\getopt\getopt.vcxproj", "{65B7EE6E-6C9D-49CF-806C-86FB80FA6B05}" +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 {BD347753-A09D-48B4-8752-F1D8D9CF235D}.Debug|Win32.ActiveCfg = Debug|Win32 {BD347753-A09D-48B4-8752-F1D8D9CF235D}.Debug|Win32.Build.0 = Debug|Win32 + {BD347753-A09D-48B4-8752-F1D8D9CF235D}.Debug|x64.ActiveCfg = Debug|Win32 {BD347753-A09D-48B4-8752-F1D8D9CF235D}.Release|Win32.ActiveCfg = Release|Win32 {BD347753-A09D-48B4-8752-F1D8D9CF235D}.Release|Win32.Build.0 = Release|Win32 + {BD347753-A09D-48B4-8752-F1D8D9CF235D}.Release|x64.ActiveCfg = Release|Win32 {83CF0498-7884-49D3-8B3C-263C5AF5FE1B}.Debug|Win32.ActiveCfg = Debug|Win32 {83CF0498-7884-49D3-8B3C-263C5AF5FE1B}.Debug|Win32.Build.0 = Debug|Win32 + {83CF0498-7884-49D3-8B3C-263C5AF5FE1B}.Debug|x64.ActiveCfg = Debug|Win32 {83CF0498-7884-49D3-8B3C-263C5AF5FE1B}.Release|Win32.ActiveCfg = Release|Win32 {83CF0498-7884-49D3-8B3C-263C5AF5FE1B}.Release|Win32.Build.0 = Release|Win32 + {83CF0498-7884-49D3-8B3C-263C5AF5FE1B}.Release|x64.ActiveCfg = Release|Win32 {15229511-9F6C-48A5-9194-660CA6492563}.Debug|Win32.ActiveCfg = Debug|Win32 {15229511-9F6C-48A5-9194-660CA6492563}.Debug|Win32.Build.0 = Debug|Win32 + {15229511-9F6C-48A5-9194-660CA6492563}.Debug|x64.ActiveCfg = Debug|Win32 {15229511-9F6C-48A5-9194-660CA6492563}.Release|Win32.ActiveCfg = Release|Win32 {15229511-9F6C-48A5-9194-660CA6492563}.Release|Win32.Build.0 = Release|Win32 + {15229511-9F6C-48A5-9194-660CA6492563}.Release|x64.ActiveCfg = Release|Win32 {C0663A08-F276-4DD6-B17C-E501EE066F7C}.Debug|Win32.ActiveCfg = Debug|Win32 {C0663A08-F276-4DD6-B17C-E501EE066F7C}.Debug|Win32.Build.0 = Debug|Win32 + {C0663A08-F276-4DD6-B17C-E501EE066F7C}.Debug|x64.ActiveCfg = Debug|Win32 {C0663A08-F276-4DD6-B17C-E501EE066F7C}.Release|Win32.ActiveCfg = Release|Win32 {C0663A08-F276-4DD6-B17C-E501EE066F7C}.Release|Win32.Build.0 = Release|Win32 + {C0663A08-F276-4DD6-B17C-E501EE066F7C}.Release|x64.ActiveCfg = Release|Win32 {AE706502-3203-4815-BF50-4D73BF96BA58}.Debug|Win32.ActiveCfg = Debug|Win32 {AE706502-3203-4815-BF50-4D73BF96BA58}.Debug|Win32.Build.0 = Debug|Win32 + {AE706502-3203-4815-BF50-4D73BF96BA58}.Debug|x64.ActiveCfg = Debug|Win32 {AE706502-3203-4815-BF50-4D73BF96BA58}.Release|Win32.ActiveCfg = Release|Win32 {AE706502-3203-4815-BF50-4D73BF96BA58}.Release|Win32.Build.0 = Release|Win32 + {AE706502-3203-4815-BF50-4D73BF96BA58}.Release|x64.ActiveCfg = Release|Win32 {189E64E3-8A67-4477-8B18-3B174C03F6B9}.Debug|Win32.ActiveCfg = Debug|Win32 {189E64E3-8A67-4477-8B18-3B174C03F6B9}.Debug|Win32.Build.0 = Debug|Win32 + {189E64E3-8A67-4477-8B18-3B174C03F6B9}.Debug|x64.ActiveCfg = Debug|Win32 {189E64E3-8A67-4477-8B18-3B174C03F6B9}.Release|Win32.ActiveCfg = Release|Win32 {189E64E3-8A67-4477-8B18-3B174C03F6B9}.Release|Win32.Build.0 = Release|Win32 + {189E64E3-8A67-4477-8B18-3B174C03F6B9}.Release|x64.ActiveCfg = Release|Win32 {A334BA89-79FC-40E4-8D42-4852ECD2505B}.Debug|Win32.ActiveCfg = Debug|Win32 {A334BA89-79FC-40E4-8D42-4852ECD2505B}.Debug|Win32.Build.0 = Debug|Win32 + {A334BA89-79FC-40E4-8D42-4852ECD2505B}.Debug|x64.ActiveCfg = Debug|Win32 {A334BA89-79FC-40E4-8D42-4852ECD2505B}.Release|Win32.ActiveCfg = Release|Win32 {A334BA89-79FC-40E4-8D42-4852ECD2505B}.Release|Win32.Build.0 = Release|Win32 + {A334BA89-79FC-40E4-8D42-4852ECD2505B}.Release|x64.ActiveCfg = Release|Win32 {92EA9398-9244-4DAA-8E7D-2F6BEC338CAB}.Debug|Win32.ActiveCfg = Debug|Win32 {92EA9398-9244-4DAA-8E7D-2F6BEC338CAB}.Debug|Win32.Build.0 = Debug|Win32 + {92EA9398-9244-4DAA-8E7D-2F6BEC338CAB}.Debug|x64.ActiveCfg = Debug|Win32 {92EA9398-9244-4DAA-8E7D-2F6BEC338CAB}.Release|Win32.ActiveCfg = Release|Win32 {92EA9398-9244-4DAA-8E7D-2F6BEC338CAB}.Release|Win32.Build.0 = Release|Win32 + {92EA9398-9244-4DAA-8E7D-2F6BEC338CAB}.Release|x64.ActiveCfg = Release|Win32 {6BD77BDE-151D-4824-A8BC-9F067662F7AB}.Debug|Win32.ActiveCfg = Debug|Win32 {6BD77BDE-151D-4824-A8BC-9F067662F7AB}.Debug|Win32.Build.0 = Debug|Win32 + {6BD77BDE-151D-4824-A8BC-9F067662F7AB}.Debug|x64.ActiveCfg = Debug|Win32 {6BD77BDE-151D-4824-A8BC-9F067662F7AB}.Release|Win32.ActiveCfg = Release|Win32 {6BD77BDE-151D-4824-A8BC-9F067662F7AB}.Release|Win32.Build.0 = Release|Win32 + {6BD77BDE-151D-4824-A8BC-9F067662F7AB}.Release|x64.ActiveCfg = Release|Win32 {5EC4407D-0DCD-47E0-9FDB-09011EFA6382}.Debug|Win32.ActiveCfg = Debug|Win32 {5EC4407D-0DCD-47E0-9FDB-09011EFA6382}.Debug|Win32.Build.0 = Debug|Win32 + {5EC4407D-0DCD-47E0-9FDB-09011EFA6382}.Debug|x64.ActiveCfg = Debug|Win32 {5EC4407D-0DCD-47E0-9FDB-09011EFA6382}.Release|Win32.ActiveCfg = Release|Win32 {5EC4407D-0DCD-47E0-9FDB-09011EFA6382}.Release|Win32.Build.0 = Release|Win32 + {5EC4407D-0DCD-47E0-9FDB-09011EFA6382}.Release|x64.ActiveCfg = Release|Win32 {3A011065-B75E-49C8-B480-1A7C8EBD6699}.Debug|Win32.ActiveCfg = Debug|Win32 {3A011065-B75E-49C8-B480-1A7C8EBD6699}.Debug|Win32.Build.0 = Debug|Win32 + {3A011065-B75E-49C8-B480-1A7C8EBD6699}.Debug|x64.ActiveCfg = Debug|Win32 {3A011065-B75E-49C8-B480-1A7C8EBD6699}.Release|Win32.ActiveCfg = Release|Win32 {3A011065-B75E-49C8-B480-1A7C8EBD6699}.Release|Win32.Build.0 = Release|Win32 + {3A011065-B75E-49C8-B480-1A7C8EBD6699}.Release|x64.ActiveCfg = Release|Win32 {C5CEB09E-79AF-4091-ACCF-D28EC3D7D90F}.Debug|Win32.ActiveCfg = Debug|Win32 {C5CEB09E-79AF-4091-ACCF-D28EC3D7D90F}.Debug|Win32.Build.0 = Debug|Win32 + {C5CEB09E-79AF-4091-ACCF-D28EC3D7D90F}.Debug|x64.ActiveCfg = Debug|Win32 {C5CEB09E-79AF-4091-ACCF-D28EC3D7D90F}.Release|Win32.ActiveCfg = Release|Win32 {C5CEB09E-79AF-4091-ACCF-D28EC3D7D90F}.Release|Win32.Build.0 = Release|Win32 + {C5CEB09E-79AF-4091-ACCF-D28EC3D7D90F}.Release|x64.ActiveCfg = Release|Win32 {24E8C882-CD11-475A-A383-FF52AC05DFE3}.Debug|Win32.ActiveCfg = Debug|Win32 {24E8C882-CD11-475A-A383-FF52AC05DFE3}.Debug|Win32.Build.0 = Debug|Win32 + {24E8C882-CD11-475A-A383-FF52AC05DFE3}.Debug|x64.ActiveCfg = Debug|Win32 {24E8C882-CD11-475A-A383-FF52AC05DFE3}.Release|Win32.ActiveCfg = Release|Win32 {24E8C882-CD11-475A-A383-FF52AC05DFE3}.Release|Win32.Build.0 = Release|Win32 + {24E8C882-CD11-475A-A383-FF52AC05DFE3}.Release|x64.ActiveCfg = Release|Win32 {B76BCE8C-63CC-4A99-88B5-D621D563E699}.Debug|Win32.ActiveCfg = Debug|Win32 {B76BCE8C-63CC-4A99-88B5-D621D563E699}.Debug|Win32.Build.0 = Debug|Win32 + {B76BCE8C-63CC-4A99-88B5-D621D563E699}.Debug|x64.ActiveCfg = Debug|Win32 {B76BCE8C-63CC-4A99-88B5-D621D563E699}.Release|Win32.ActiveCfg = Release|Win32 {B76BCE8C-63CC-4A99-88B5-D621D563E699}.Release|Win32.Build.0 = Release|Win32 + {B76BCE8C-63CC-4A99-88B5-D621D563E699}.Release|x64.ActiveCfg = Release|Win32 {42C526F9-36E5-4B20-92CA-265C90058651}.Debug|Win32.ActiveCfg = Debug|Win32 {42C526F9-36E5-4B20-92CA-265C90058651}.Debug|Win32.Build.0 = Debug|Win32 + {42C526F9-36E5-4B20-92CA-265C90058651}.Debug|x64.ActiveCfg = Debug|Win32 {42C526F9-36E5-4B20-92CA-265C90058651}.Release|Win32.ActiveCfg = Release|Win32 {42C526F9-36E5-4B20-92CA-265C90058651}.Release|Win32.Build.0 = Release|Win32 + {42C526F9-36E5-4B20-92CA-265C90058651}.Release|x64.ActiveCfg = Release|Win32 {2FDDC7C5-66E5-4520-B735-FD1A065AA9BA}.Debug|Win32.ActiveCfg = Debug|Win32 {2FDDC7C5-66E5-4520-B735-FD1A065AA9BA}.Debug|Win32.Build.0 = Debug|Win32 + {2FDDC7C5-66E5-4520-B735-FD1A065AA9BA}.Debug|x64.ActiveCfg = Debug|Win32 {2FDDC7C5-66E5-4520-B735-FD1A065AA9BA}.Release|Win32.ActiveCfg = Release|Win32 {2FDDC7C5-66E5-4520-B735-FD1A065AA9BA}.Release|Win32.Build.0 = Release|Win32 + {2FDDC7C5-66E5-4520-B735-FD1A065AA9BA}.Release|x64.ActiveCfg = Release|Win32 {7DC8987A-C87D-465A-94CF-1F6DF59B38FB}.Debug|Win32.ActiveCfg = Debug|Win32 {7DC8987A-C87D-465A-94CF-1F6DF59B38FB}.Debug|Win32.Build.0 = Debug|Win32 + {7DC8987A-C87D-465A-94CF-1F6DF59B38FB}.Debug|x64.ActiveCfg = Debug|Win32 {7DC8987A-C87D-465A-94CF-1F6DF59B38FB}.Release|Win32.ActiveCfg = Release|Win32 {7DC8987A-C87D-465A-94CF-1F6DF59B38FB}.Release|Win32.Build.0 = Release|Win32 + {7DC8987A-C87D-465A-94CF-1F6DF59B38FB}.Release|x64.ActiveCfg = Release|Win32 {7D3723C5-06C8-4730-BDA1-1B61D6CCBEB8}.Debug|Win32.ActiveCfg = Debug|Win32 {7D3723C5-06C8-4730-BDA1-1B61D6CCBEB8}.Debug|Win32.Build.0 = Debug|Win32 + {7D3723C5-06C8-4730-BDA1-1B61D6CCBEB8}.Debug|x64.ActiveCfg = Debug|Win32 {7D3723C5-06C8-4730-BDA1-1B61D6CCBEB8}.Release|Win32.ActiveCfg = Release|Win32 {7D3723C5-06C8-4730-BDA1-1B61D6CCBEB8}.Release|Win32.Build.0 = Release|Win32 + {7D3723C5-06C8-4730-BDA1-1B61D6CCBEB8}.Release|x64.ActiveCfg = Release|Win32 {5A6981A7-A652-4187-B636-3E5120C7CE52}.Debug|Win32.ActiveCfg = Debug|Win32 {5A6981A7-A652-4187-B636-3E5120C7CE52}.Debug|Win32.Build.0 = Debug|Win32 + {5A6981A7-A652-4187-B636-3E5120C7CE52}.Debug|x64.ActiveCfg = Debug|Win32 {5A6981A7-A652-4187-B636-3E5120C7CE52}.Release|Win32.ActiveCfg = Release|Win32 {5A6981A7-A652-4187-B636-3E5120C7CE52}.Release|Win32.Build.0 = Release|Win32 + {5A6981A7-A652-4187-B636-3E5120C7CE52}.Release|x64.ActiveCfg = Release|Win32 {2F5A730B-132C-4319-A1B3-DCBE05E2E1B1}.Debug|Win32.ActiveCfg = Debug|Win32 {2F5A730B-132C-4319-A1B3-DCBE05E2E1B1}.Debug|Win32.Build.0 = Debug|Win32 + {2F5A730B-132C-4319-A1B3-DCBE05E2E1B1}.Debug|x64.ActiveCfg = Debug|Win32 {2F5A730B-132C-4319-A1B3-DCBE05E2E1B1}.Release|Win32.ActiveCfg = Release|Win32 {2F5A730B-132C-4319-A1B3-DCBE05E2E1B1}.Release|Win32.Build.0 = Release|Win32 + {2F5A730B-132C-4319-A1B3-DCBE05E2E1B1}.Release|x64.ActiveCfg = Release|Win32 {397C6B2C-B305-4CB2-B8CE-2366B508AB7C}.Debug|Win32.ActiveCfg = Debug|Win32 {397C6B2C-B305-4CB2-B8CE-2366B508AB7C}.Debug|Win32.Build.0 = Debug|Win32 + {397C6B2C-B305-4CB2-B8CE-2366B508AB7C}.Debug|x64.ActiveCfg = Debug|Win32 {397C6B2C-B305-4CB2-B8CE-2366B508AB7C}.Release|Win32.ActiveCfg = Release|Win32 {397C6B2C-B305-4CB2-B8CE-2366B508AB7C}.Release|Win32.Build.0 = Release|Win32 + {397C6B2C-B305-4CB2-B8CE-2366B508AB7C}.Release|x64.ActiveCfg = Release|Win32 {D6FD0DE5-5305-458E-8CA5-FCA4B8E05B04}.Debug|Win32.ActiveCfg = Debug|Win32 {D6FD0DE5-5305-458E-8CA5-FCA4B8E05B04}.Debug|Win32.Build.0 = Debug|Win32 + {D6FD0DE5-5305-458E-8CA5-FCA4B8E05B04}.Debug|x64.ActiveCfg = Debug|Win32 {D6FD0DE5-5305-458E-8CA5-FCA4B8E05B04}.Release|Win32.ActiveCfg = Release|Win32 {D6FD0DE5-5305-458E-8CA5-FCA4B8E05B04}.Release|Win32.Build.0 = Release|Win32 + {D6FD0DE5-5305-458E-8CA5-FCA4B8E05B04}.Release|x64.ActiveCfg = Release|Win32 {1A6CABA9-DA28-4BC1-9DF4-F809231221BC}.Debug|Win32.ActiveCfg = Debug|Win32 {1A6CABA9-DA28-4BC1-9DF4-F809231221BC}.Debug|Win32.Build.0 = Debug|Win32 + {1A6CABA9-DA28-4BC1-9DF4-F809231221BC}.Debug|x64.ActiveCfg = Debug|Win32 {1A6CABA9-DA28-4BC1-9DF4-F809231221BC}.Release|Win32.ActiveCfg = Release|Win32 {1A6CABA9-DA28-4BC1-9DF4-F809231221BC}.Release|Win32.Build.0 = Release|Win32 + {1A6CABA9-DA28-4BC1-9DF4-F809231221BC}.Release|x64.ActiveCfg = Release|Win32 {E72DB0B2-A9B1-47D0-B6CE-563A20434F6E}.Debug|Win32.ActiveCfg = Debug|Win32 {E72DB0B2-A9B1-47D0-B6CE-563A20434F6E}.Debug|Win32.Build.0 = Debug|Win32 + {E72DB0B2-A9B1-47D0-B6CE-563A20434F6E}.Debug|x64.ActiveCfg = Debug|Win32 {E72DB0B2-A9B1-47D0-B6CE-563A20434F6E}.Release|Win32.ActiveCfg = Release|Win32 {E72DB0B2-A9B1-47D0-B6CE-563A20434F6E}.Release|Win32.Build.0 = Release|Win32 + {E72DB0B2-A9B1-47D0-B6CE-563A20434F6E}.Release|x64.ActiveCfg = Release|Win32 {98127EF3-6289-4251-A057-D7C34B1B67AC}.Debug|Win32.ActiveCfg = Debug|Win32 {98127EF3-6289-4251-A057-D7C34B1B67AC}.Debug|Win32.Build.0 = Debug|Win32 + {98127EF3-6289-4251-A057-D7C34B1B67AC}.Debug|x64.ActiveCfg = Debug|Win32 {98127EF3-6289-4251-A057-D7C34B1B67AC}.Release|Win32.ActiveCfg = Release|Win32 {98127EF3-6289-4251-A057-D7C34B1B67AC}.Release|Win32.Build.0 = Release|Win32 + {98127EF3-6289-4251-A057-D7C34B1B67AC}.Release|x64.ActiveCfg = Release|Win32 {E7BAB639-AECF-4E03-A0A2-B9C8D25E1AB0}.Debug|Win32.ActiveCfg = Debug|Win32 {E7BAB639-AECF-4E03-A0A2-B9C8D25E1AB0}.Debug|Win32.Build.0 = Debug|Win32 + {E7BAB639-AECF-4E03-A0A2-B9C8D25E1AB0}.Debug|x64.ActiveCfg = Debug|Win32 {E7BAB639-AECF-4E03-A0A2-B9C8D25E1AB0}.Release|Win32.ActiveCfg = Release|Win32 {E7BAB639-AECF-4E03-A0A2-B9C8D25E1AB0}.Release|Win32.Build.0 = Release|Win32 + {E7BAB639-AECF-4E03-A0A2-B9C8D25E1AB0}.Release|x64.ActiveCfg = Release|Win32 {D470C91D-70E3-4FC8-AFCB-0B615A2EA15D}.Debug|Win32.ActiveCfg = Debug|Win32 {D470C91D-70E3-4FC8-AFCB-0B615A2EA15D}.Debug|Win32.Build.0 = Debug|Win32 + {D470C91D-70E3-4FC8-AFCB-0B615A2EA15D}.Debug|x64.ActiveCfg = Debug|Win32 {D470C91D-70E3-4FC8-AFCB-0B615A2EA15D}.Release|Win32.ActiveCfg = Release|Win32 {D470C91D-70E3-4FC8-AFCB-0B615A2EA15D}.Release|Win32.Build.0 = Release|Win32 + {D470C91D-70E3-4FC8-AFCB-0B615A2EA15D}.Release|x64.ActiveCfg = Release|Win32 {5CCA377A-754B-45AD-B46D-DE10C2635184}.Debug|Win32.ActiveCfg = Debug|Win32 {5CCA377A-754B-45AD-B46D-DE10C2635184}.Debug|Win32.Build.0 = Debug|Win32 + {5CCA377A-754B-45AD-B46D-DE10C2635184}.Debug|x64.ActiveCfg = Debug|Win32 {5CCA377A-754B-45AD-B46D-DE10C2635184}.Release|Win32.ActiveCfg = Release|Win32 {5CCA377A-754B-45AD-B46D-DE10C2635184}.Release|Win32.Build.0 = Release|Win32 + {5CCA377A-754B-45AD-B46D-DE10C2635184}.Release|x64.ActiveCfg = Release|Win32 {2EF2B285-6C4F-4707-A584-FF76727C4775}.Debug|Win32.ActiveCfg = Debug|Win32 {2EF2B285-6C4F-4707-A584-FF76727C4775}.Debug|Win32.Build.0 = Debug|Win32 + {2EF2B285-6C4F-4707-A584-FF76727C4775}.Debug|x64.ActiveCfg = Debug|Win32 {2EF2B285-6C4F-4707-A584-FF76727C4775}.Release|Win32.ActiveCfg = Release|Win32 {2EF2B285-6C4F-4707-A584-FF76727C4775}.Release|Win32.Build.0 = Release|Win32 + {2EF2B285-6C4F-4707-A584-FF76727C4775}.Release|x64.ActiveCfg = Release|Win32 {BD15CF1D-DAD5-4AF2-A2AA-AEEAAF44C415}.Debug|Win32.ActiveCfg = Debug|Win32 {BD15CF1D-DAD5-4AF2-A2AA-AEEAAF44C415}.Debug|Win32.Build.0 = Debug|Win32 + {BD15CF1D-DAD5-4AF2-A2AA-AEEAAF44C415}.Debug|x64.ActiveCfg = Debug|Win32 {BD15CF1D-DAD5-4AF2-A2AA-AEEAAF44C415}.Release|Win32.ActiveCfg = Release|Win32 {BD15CF1D-DAD5-4AF2-A2AA-AEEAAF44C415}.Release|Win32.Build.0 = Release|Win32 + {BD15CF1D-DAD5-4AF2-A2AA-AEEAAF44C415}.Release|x64.ActiveCfg = Release|Win32 {A37FB355-3178-4008-8E11-E7E21AE660DA}.Debug|Win32.ActiveCfg = Debug|Win32 {A37FB355-3178-4008-8E11-E7E21AE660DA}.Debug|Win32.Build.0 = Debug|Win32 + {A37FB355-3178-4008-8E11-E7E21AE660DA}.Debug|x64.ActiveCfg = Debug|Win32 {A37FB355-3178-4008-8E11-E7E21AE660DA}.Release|Win32.ActiveCfg = Release|Win32 {A37FB355-3178-4008-8E11-E7E21AE660DA}.Release|Win32.Build.0 = Release|Win32 + {A37FB355-3178-4008-8E11-E7E21AE660DA}.Release|x64.ActiveCfg = Release|Win32 {659CCC36-163F-4681-AA1C-654CD2B0D151}.Debug|Win32.ActiveCfg = Debug|Win32 {659CCC36-163F-4681-AA1C-654CD2B0D151}.Debug|Win32.Build.0 = Debug|Win32 + {659CCC36-163F-4681-AA1C-654CD2B0D151}.Debug|x64.ActiveCfg = Debug|Win32 {659CCC36-163F-4681-AA1C-654CD2B0D151}.Release|Win32.ActiveCfg = Release|Win32 {659CCC36-163F-4681-AA1C-654CD2B0D151}.Release|Win32.Build.0 = Release|Win32 + {659CCC36-163F-4681-AA1C-654CD2B0D151}.Release|x64.ActiveCfg = Release|Win32 {907889A8-EAC3-450D-BA29-A7DBE3712142}.Debug|Win32.ActiveCfg = Debug|Win32 {907889A8-EAC3-450D-BA29-A7DBE3712142}.Debug|Win32.Build.0 = Debug|Win32 + {907889A8-EAC3-450D-BA29-A7DBE3712142}.Debug|x64.ActiveCfg = Debug|Win32 {907889A8-EAC3-450D-BA29-A7DBE3712142}.Release|Win32.ActiveCfg = Release|Win32 {907889A8-EAC3-450D-BA29-A7DBE3712142}.Release|Win32.Build.0 = Release|Win32 + {907889A8-EAC3-450D-BA29-A7DBE3712142}.Release|x64.ActiveCfg = Release|Win32 {AC65B4FC-EF7C-4321-B201-62B57ED254DB}.Debug|Win32.ActiveCfg = Debug|Win32 {AC65B4FC-EF7C-4321-B201-62B57ED254DB}.Debug|Win32.Build.0 = Debug|Win32 + {AC65B4FC-EF7C-4321-B201-62B57ED254DB}.Debug|x64.ActiveCfg = Debug|Win32 {AC65B4FC-EF7C-4321-B201-62B57ED254DB}.Release|Win32.ActiveCfg = Release|Win32 {AC65B4FC-EF7C-4321-B201-62B57ED254DB}.Release|Win32.Build.0 = Release|Win32 + {AC65B4FC-EF7C-4321-B201-62B57ED254DB}.Release|x64.ActiveCfg = Release|Win32 {AC95C5B1-0EDB-4127-858E-0F08A3FC7B69}.Debug|Win32.ActiveCfg = Debug|Win32 {AC95C5B1-0EDB-4127-858E-0F08A3FC7B69}.Debug|Win32.Build.0 = Debug|Win32 + {AC95C5B1-0EDB-4127-858E-0F08A3FC7B69}.Debug|x64.ActiveCfg = Debug|Win32 {AC95C5B1-0EDB-4127-858E-0F08A3FC7B69}.Release|Win32.ActiveCfg = Release|Win32 {AC95C5B1-0EDB-4127-858E-0F08A3FC7B69}.Release|Win32.Build.0 = Release|Win32 + {AC95C5B1-0EDB-4127-858E-0F08A3FC7B69}.Release|x64.ActiveCfg = Release|Win32 {863A7931-DC7C-47C4-94E6-3D053BFE771A}.Debug|Win32.ActiveCfg = Debug|Win32 {863A7931-DC7C-47C4-94E6-3D053BFE771A}.Debug|Win32.Build.0 = Debug|Win32 + {863A7931-DC7C-47C4-94E6-3D053BFE771A}.Debug|x64.ActiveCfg = Debug|Win32 {863A7931-DC7C-47C4-94E6-3D053BFE771A}.Release|Win32.ActiveCfg = Release|Win32 {863A7931-DC7C-47C4-94E6-3D053BFE771A}.Release|Win32.Build.0 = Release|Win32 + {863A7931-DC7C-47C4-94E6-3D053BFE771A}.Release|x64.ActiveCfg = Release|Win32 {23D7A1F0-621B-474A-A45F-2490C9935C1E}.Debug|Win32.ActiveCfg = Debug|Win32 {23D7A1F0-621B-474A-A45F-2490C9935C1E}.Debug|Win32.Build.0 = Debug|Win32 + {23D7A1F0-621B-474A-A45F-2490C9935C1E}.Debug|x64.ActiveCfg = Debug|Win32 {23D7A1F0-621B-474A-A45F-2490C9935C1E}.Release|Win32.ActiveCfg = Release|Win32 {23D7A1F0-621B-474A-A45F-2490C9935C1E}.Release|Win32.Build.0 = Release|Win32 + {23D7A1F0-621B-474A-A45F-2490C9935C1E}.Release|x64.ActiveCfg = Release|Win32 {0062B64B-88F1-4104-A063-3823925A7A34}.Debug|Win32.ActiveCfg = Debug|Win32 {0062B64B-88F1-4104-A063-3823925A7A34}.Debug|Win32.Build.0 = Debug|Win32 + {0062B64B-88F1-4104-A063-3823925A7A34}.Debug|x64.ActiveCfg = Debug|Win32 {0062B64B-88F1-4104-A063-3823925A7A34}.Release|Win32.ActiveCfg = Release|Win32 {0062B64B-88F1-4104-A063-3823925A7A34}.Release|Win32.Build.0 = Release|Win32 + {0062B64B-88F1-4104-A063-3823925A7A34}.Release|x64.ActiveCfg = Release|Win32 {1F1136E6-D04B-4B7D-A2A7-78A3887F8A3A}.Debug|Win32.ActiveCfg = Debug|Win32 {1F1136E6-D04B-4B7D-A2A7-78A3887F8A3A}.Debug|Win32.Build.0 = Debug|Win32 + {1F1136E6-D04B-4B7D-A2A7-78A3887F8A3A}.Debug|x64.ActiveCfg = Debug|Win32 {1F1136E6-D04B-4B7D-A2A7-78A3887F8A3A}.Release|Win32.ActiveCfg = Release|Win32 {1F1136E6-D04B-4B7D-A2A7-78A3887F8A3A}.Release|Win32.Build.0 = Release|Win32 + {1F1136E6-D04B-4B7D-A2A7-78A3887F8A3A}.Release|x64.ActiveCfg = Release|Win32 {89ED80CE-5DEF-46B1-9A12-1D991236EE3E}.Debug|Win32.ActiveCfg = Debug|Win32 {89ED80CE-5DEF-46B1-9A12-1D991236EE3E}.Debug|Win32.Build.0 = Debug|Win32 + {89ED80CE-5DEF-46B1-9A12-1D991236EE3E}.Debug|x64.ActiveCfg = Debug|Win32 {89ED80CE-5DEF-46B1-9A12-1D991236EE3E}.Release|Win32.ActiveCfg = Release|Win32 {89ED80CE-5DEF-46B1-9A12-1D991236EE3E}.Release|Win32.Build.0 = Release|Win32 + {89ED80CE-5DEF-46B1-9A12-1D991236EE3E}.Release|x64.ActiveCfg = Release|Win32 {CCEF85C9-BC40-4C26-8755-581276C8B7DA}.Debug|Win32.ActiveCfg = Debug|Win32 {CCEF85C9-BC40-4C26-8755-581276C8B7DA}.Debug|Win32.Build.0 = Debug|Win32 + {CCEF85C9-BC40-4C26-8755-581276C8B7DA}.Debug|x64.ActiveCfg = Debug|Win32 {CCEF85C9-BC40-4C26-8755-581276C8B7DA}.Release|Win32.ActiveCfg = Release|Win32 {CCEF85C9-BC40-4C26-8755-581276C8B7DA}.Release|Win32.Build.0 = Release|Win32 + {CCEF85C9-BC40-4C26-8755-581276C8B7DA}.Release|x64.ActiveCfg = Release|Win32 {C99C1195-2032-408B-9822-F09F49006A3C}.Debug|Win32.ActiveCfg = Debug|Win32 {C99C1195-2032-408B-9822-F09F49006A3C}.Debug|Win32.Build.0 = Debug|Win32 + {C99C1195-2032-408B-9822-F09F49006A3C}.Debug|x64.ActiveCfg = Debug|Win32 {C99C1195-2032-408B-9822-F09F49006A3C}.Release|Win32.ActiveCfg = Release|Win32 {C99C1195-2032-408B-9822-F09F49006A3C}.Release|Win32.Build.0 = Release|Win32 + {C99C1195-2032-408B-9822-F09F49006A3C}.Release|x64.ActiveCfg = Release|Win32 {13145C00-3694-4342-AFBE-4FAA7E1086BC}.Debug|Win32.ActiveCfg = Debug|Win32 {13145C00-3694-4342-AFBE-4FAA7E1086BC}.Debug|Win32.Build.0 = Debug|Win32 + {13145C00-3694-4342-AFBE-4FAA7E1086BC}.Debug|x64.ActiveCfg = Debug|Win32 {13145C00-3694-4342-AFBE-4FAA7E1086BC}.Release|Win32.ActiveCfg = Release|Win32 {13145C00-3694-4342-AFBE-4FAA7E1086BC}.Release|Win32.Build.0 = Release|Win32 + {13145C00-3694-4342-AFBE-4FAA7E1086BC}.Release|x64.ActiveCfg = Release|Win32 {3CD86498-8B4C-4018-A9BF-F9E008F376DD}.Debug|Win32.ActiveCfg = Debug|Win32 {3CD86498-8B4C-4018-A9BF-F9E008F376DD}.Debug|Win32.Build.0 = Debug|Win32 + {3CD86498-8B4C-4018-A9BF-F9E008F376DD}.Debug|x64.ActiveCfg = Debug|Win32 {3CD86498-8B4C-4018-A9BF-F9E008F376DD}.Release|Win32.ActiveCfg = Release|Win32 {3CD86498-8B4C-4018-A9BF-F9E008F376DD}.Release|Win32.Build.0 = Release|Win32 + {3CD86498-8B4C-4018-A9BF-F9E008F376DD}.Release|x64.ActiveCfg = Release|Win32 {8E82D6BD-74D0-48C3-887A-1754EA71DA5A}.Debug|Win32.ActiveCfg = Debug|Win32 {8E82D6BD-74D0-48C3-887A-1754EA71DA5A}.Debug|Win32.Build.0 = Debug|Win32 + {8E82D6BD-74D0-48C3-887A-1754EA71DA5A}.Debug|x64.ActiveCfg = Debug|Win32 {8E82D6BD-74D0-48C3-887A-1754EA71DA5A}.Release|Win32.ActiveCfg = Release|Win32 {8E82D6BD-74D0-48C3-887A-1754EA71DA5A}.Release|Win32.Build.0 = Release|Win32 + {8E82D6BD-74D0-48C3-887A-1754EA71DA5A}.Release|x64.ActiveCfg = Release|Win32 {443EB1A7-C634-4292-9F2D-C752BB2BF40F}.Debug|Win32.ActiveCfg = Debug|Win32 {443EB1A7-C634-4292-9F2D-C752BB2BF40F}.Debug|Win32.Build.0 = Debug|Win32 + {443EB1A7-C634-4292-9F2D-C752BB2BF40F}.Debug|x64.ActiveCfg = Debug|Win32 {443EB1A7-C634-4292-9F2D-C752BB2BF40F}.Release|Win32.ActiveCfg = Release|Win32 {443EB1A7-C634-4292-9F2D-C752BB2BF40F}.Release|Win32.Build.0 = Release|Win32 + {443EB1A7-C634-4292-9F2D-C752BB2BF40F}.Release|x64.ActiveCfg = Release|Win32 {D6CEB142-BF8E-471C-AE16-4300F2D5DEDA}.Debug|Win32.ActiveCfg = Debug|Win32 {D6CEB142-BF8E-471C-AE16-4300F2D5DEDA}.Debug|Win32.Build.0 = Debug|Win32 + {D6CEB142-BF8E-471C-AE16-4300F2D5DEDA}.Debug|x64.ActiveCfg = Debug|Win32 {D6CEB142-BF8E-471C-AE16-4300F2D5DEDA}.Release|Win32.ActiveCfg = Release|Win32 {D6CEB142-BF8E-471C-AE16-4300F2D5DEDA}.Release|Win32.Build.0 = Release|Win32 + {D6CEB142-BF8E-471C-AE16-4300F2D5DEDA}.Release|x64.ActiveCfg = Release|Win32 {8C103DE9-BC35-4173-A08D-63906EC5EEFD}.Debug|Win32.ActiveCfg = Debug|Win32 {8C103DE9-BC35-4173-A08D-63906EC5EEFD}.Debug|Win32.Build.0 = Debug|Win32 + {8C103DE9-BC35-4173-A08D-63906EC5EEFD}.Debug|x64.ActiveCfg = Debug|Win32 {8C103DE9-BC35-4173-A08D-63906EC5EEFD}.Release|Win32.ActiveCfg = Release|Win32 {8C103DE9-BC35-4173-A08D-63906EC5EEFD}.Release|Win32.Build.0 = Release|Win32 + {8C103DE9-BC35-4173-A08D-63906EC5EEFD}.Release|x64.ActiveCfg = Release|Win32 {4B6103EF-590B-4916-92CB-D06934459928}.Debug|Win32.ActiveCfg = Debug|Win32 {4B6103EF-590B-4916-92CB-D06934459928}.Debug|Win32.Build.0 = Debug|Win32 + {4B6103EF-590B-4916-92CB-D06934459928}.Debug|x64.ActiveCfg = Debug|Win32 {4B6103EF-590B-4916-92CB-D06934459928}.Release|Win32.ActiveCfg = Release|Win32 {4B6103EF-590B-4916-92CB-D06934459928}.Release|Win32.Build.0 = Release|Win32 + {4B6103EF-590B-4916-92CB-D06934459928}.Release|x64.ActiveCfg = Release|Win32 {2D29953F-2D74-471E-A064-5D184E762DFF}.Debug|Win32.ActiveCfg = Debug|Win32 {2D29953F-2D74-471E-A064-5D184E762DFF}.Debug|Win32.Build.0 = Debug|Win32 + {2D29953F-2D74-471E-A064-5D184E762DFF}.Debug|x64.ActiveCfg = Debug|Win32 {2D29953F-2D74-471E-A064-5D184E762DFF}.Release|Win32.ActiveCfg = Release|Win32 {2D29953F-2D74-471E-A064-5D184E762DFF}.Release|Win32.Build.0 = Release|Win32 + {2D29953F-2D74-471E-A064-5D184E762DFF}.Release|x64.ActiveCfg = Release|Win32 {2C551E96-B2EE-48B2-84BF-F6494AF7C004}.Debug|Win32.ActiveCfg = Debug|Win32 {2C551E96-B2EE-48B2-84BF-F6494AF7C004}.Debug|Win32.Build.0 = Debug|Win32 + {2C551E96-B2EE-48B2-84BF-F6494AF7C004}.Debug|x64.ActiveCfg = Debug|Win32 {2C551E96-B2EE-48B2-84BF-F6494AF7C004}.Release|Win32.ActiveCfg = Release|Win32 {2C551E96-B2EE-48B2-84BF-F6494AF7C004}.Release|Win32.Build.0 = Release|Win32 + {2C551E96-B2EE-48B2-84BF-F6494AF7C004}.Release|x64.ActiveCfg = Release|Win32 {10015250-7CFF-45BE-90F3-13648727C0A0}.Debug|Win32.ActiveCfg = Debug|Win32 {10015250-7CFF-45BE-90F3-13648727C0A0}.Debug|Win32.Build.0 = Debug|Win32 + {10015250-7CFF-45BE-90F3-13648727C0A0}.Debug|x64.ActiveCfg = Debug|Win32 {10015250-7CFF-45BE-90F3-13648727C0A0}.Release|Win32.ActiveCfg = Release|Win32 {10015250-7CFF-45BE-90F3-13648727C0A0}.Release|Win32.Build.0 = Release|Win32 + {10015250-7CFF-45BE-90F3-13648727C0A0}.Release|x64.ActiveCfg = Release|Win32 {DE3057E9-F665-4691-929D-4A7DDED63F73}.Debug|Win32.ActiveCfg = Debug|Win32 {DE3057E9-F665-4691-929D-4A7DDED63F73}.Debug|Win32.Build.0 = Debug|Win32 + {DE3057E9-F665-4691-929D-4A7DDED63F73}.Debug|x64.ActiveCfg = Debug|Win32 {DE3057E9-F665-4691-929D-4A7DDED63F73}.Release|Win32.ActiveCfg = Release|Win32 {DE3057E9-F665-4691-929D-4A7DDED63F73}.Release|Win32.Build.0 = Release|Win32 + {DE3057E9-F665-4691-929D-4A7DDED63F73}.Release|x64.ActiveCfg = Release|Win32 {58E6D7CC-5122-4830-B841-D6FB796B00E8}.Debug|Win32.ActiveCfg = Debug|Win32 {58E6D7CC-5122-4830-B841-D6FB796B00E8}.Debug|Win32.Build.0 = Debug|Win32 + {58E6D7CC-5122-4830-B841-D6FB796B00E8}.Debug|x64.ActiveCfg = Debug|Win32 {58E6D7CC-5122-4830-B841-D6FB796B00E8}.Release|Win32.ActiveCfg = Release|Win32 {58E6D7CC-5122-4830-B841-D6FB796B00E8}.Release|Win32.Build.0 = Release|Win32 + {58E6D7CC-5122-4830-B841-D6FB796B00E8}.Release|x64.ActiveCfg = Release|Win32 {70575BD2-A532-41B8-9A17-B9876E992A84}.Debug|Win32.ActiveCfg = Debug|Win32 {70575BD2-A532-41B8-9A17-B9876E992A84}.Debug|Win32.Build.0 = Debug|Win32 + {70575BD2-A532-41B8-9A17-B9876E992A84}.Debug|x64.ActiveCfg = Debug|Win32 {70575BD2-A532-41B8-9A17-B9876E992A84}.Release|Win32.ActiveCfg = Release|Win32 {70575BD2-A532-41B8-9A17-B9876E992A84}.Release|Win32.Build.0 = Release|Win32 + {70575BD2-A532-41B8-9A17-B9876E992A84}.Release|x64.ActiveCfg = Release|Win32 {A6DF0D74-E4D1-4EF4-A642-59B0CF3E74BB}.Debug|Win32.ActiveCfg = Debug|Win32 {A6DF0D74-E4D1-4EF4-A642-59B0CF3E74BB}.Debug|Win32.Build.0 = Debug|Win32 + {A6DF0D74-E4D1-4EF4-A642-59B0CF3E74BB}.Debug|x64.ActiveCfg = Debug|Win32 {A6DF0D74-E4D1-4EF4-A642-59B0CF3E74BB}.Release|Win32.ActiveCfg = Release|Win32 {A6DF0D74-E4D1-4EF4-A642-59B0CF3E74BB}.Release|Win32.Build.0 = Release|Win32 + {A6DF0D74-E4D1-4EF4-A642-59B0CF3E74BB}.Release|x64.ActiveCfg = Release|Win32 {B1AA9FD1-0D24-44DF-8CAD-AEA73B52B3EC}.Debug|Win32.ActiveCfg = Debug|Win32 {B1AA9FD1-0D24-44DF-8CAD-AEA73B52B3EC}.Debug|Win32.Build.0 = Debug|Win32 + {B1AA9FD1-0D24-44DF-8CAD-AEA73B52B3EC}.Debug|x64.ActiveCfg = Debug|Win32 {B1AA9FD1-0D24-44DF-8CAD-AEA73B52B3EC}.Release|Win32.ActiveCfg = Release|Win32 {B1AA9FD1-0D24-44DF-8CAD-AEA73B52B3EC}.Release|Win32.Build.0 = Release|Win32 + {B1AA9FD1-0D24-44DF-8CAD-AEA73B52B3EC}.Release|x64.ActiveCfg = Release|Win32 {B7A03994-C134-4FF7-98B4-97B5579EF13D}.Debug|Win32.ActiveCfg = Debug|Win32 {B7A03994-C134-4FF7-98B4-97B5579EF13D}.Debug|Win32.Build.0 = Debug|Win32 + {B7A03994-C134-4FF7-98B4-97B5579EF13D}.Debug|x64.ActiveCfg = Debug|Win32 {B7A03994-C134-4FF7-98B4-97B5579EF13D}.Release|Win32.ActiveCfg = Release|Win32 {B7A03994-C134-4FF7-98B4-97B5579EF13D}.Release|Win32.Build.0 = Release|Win32 + {B7A03994-C134-4FF7-98B4-97B5579EF13D}.Release|x64.ActiveCfg = Release|Win32 {A1E78E36-1C11-4AB4-AB43-8BB7933075FB}.Debug|Win32.ActiveCfg = Debug|Win32 {A1E78E36-1C11-4AB4-AB43-8BB7933075FB}.Debug|Win32.Build.0 = Debug|Win32 + {A1E78E36-1C11-4AB4-AB43-8BB7933075FB}.Debug|x64.ActiveCfg = Debug|Win32 {A1E78E36-1C11-4AB4-AB43-8BB7933075FB}.Release|Win32.ActiveCfg = Release|Win32 {A1E78E36-1C11-4AB4-AB43-8BB7933075FB}.Release|Win32.Build.0 = Release|Win32 + {A1E78E36-1C11-4AB4-AB43-8BB7933075FB}.Release|x64.ActiveCfg = Release|Win32 {1B030847-602F-4095-8FA2-E8B5CF793F60}.Debug|Win32.ActiveCfg = Debug|Win32 {1B030847-602F-4095-8FA2-E8B5CF793F60}.Debug|Win32.Build.0 = Debug|Win32 + {1B030847-602F-4095-8FA2-E8B5CF793F60}.Debug|x64.ActiveCfg = Debug|Win32 {1B030847-602F-4095-8FA2-E8B5CF793F60}.Release|Win32.ActiveCfg = Release|Win32 {1B030847-602F-4095-8FA2-E8B5CF793F60}.Release|Win32.Build.0 = Release|Win32 + {1B030847-602F-4095-8FA2-E8B5CF793F60}.Release|x64.ActiveCfg = Release|Win32 {0F4D5D8F-F4D6-4A5D-97E0-9B482257F493}.Debug|Win32.ActiveCfg = Debug|Win32 {0F4D5D8F-F4D6-4A5D-97E0-9B482257F493}.Debug|Win32.Build.0 = Debug|Win32 + {0F4D5D8F-F4D6-4A5D-97E0-9B482257F493}.Debug|x64.ActiveCfg = Debug|Win32 {0F4D5D8F-F4D6-4A5D-97E0-9B482257F493}.Release|Win32.ActiveCfg = Release|Win32 {0F4D5D8F-F4D6-4A5D-97E0-9B482257F493}.Release|Win32.Build.0 = Release|Win32 + {0F4D5D8F-F4D6-4A5D-97E0-9B482257F493}.Release|x64.ActiveCfg = Release|Win32 + {65B7EE6E-6C9D-49CF-806C-86FB80FA6B05}.Debug|Win32.ActiveCfg = Debug|Win32 + {65B7EE6E-6C9D-49CF-806C-86FB80FA6B05}.Debug|Win32.Build.0 = Debug|Win32 + {65B7EE6E-6C9D-49CF-806C-86FB80FA6B05}.Debug|x64.ActiveCfg = Debug|x64 + {65B7EE6E-6C9D-49CF-806C-86FB80FA6B05}.Debug|x64.Build.0 = Debug|x64 + {65B7EE6E-6C9D-49CF-806C-86FB80FA6B05}.Release|Win32.ActiveCfg = Release|Win32 + {65B7EE6E-6C9D-49CF-806C-86FB80FA6B05}.Release|Win32.Build.0 = Release|Win32 + {65B7EE6E-6C9D-49CF-806C-86FB80FA6B05}.Release|x64.ActiveCfg = Release|x64 + {65B7EE6E-6C9D-49CF-806C-86FB80FA6B05}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/windows/getopt/getopt.c b/windows/getopt/getopt.c new file mode 100644 index 000000000..ea57441ab --- /dev/null +++ b/windows/getopt/getopt.c @@ -0,0 +1,58 @@ +#include +#include + +#define ERR(s, c) if(opterr) fprintf (stderr, "%s%s'%c'\n", argv[0], s, c) + +char *optarg; + +int optind = 1; +int optopt; +int opterr = 1; + + +int getopt(int argc, char *const *argv, const char *opts) +{ + static int sp = 1; + register int c; + register char *cp; + + if (sp == 1) { + if (optind >= argc || + argv[optind][0] != '-' || argv[optind][1] == '\0') + return(EOF); + else if (strcmp(argv[optind], "--") == 0) { + optind++; + return(EOF); + } + } + + optopt = c = argv[optind][sp]; + if (c == ':' || (cp = strchr(opts, c)) == 0) { + ERR(": illegal option -- ", c); + if (argv[optind][++sp] == '\0') { + optind++; + sp = 1; + } + return('?'); + } + if (*++cp == ':') { + if (argv[optind][sp + 1] != '\0') + optarg = &argv[optind++][sp + 1]; + else if (++optind >= argc) { + ERR(": option requires an argument -- ", c); + sp = 1; + return('?'); + } + else + optarg = argv[optind++]; + sp = 1; + } + else { + if (argv[optind][++sp] == '\0') { + sp = 1; + optind++; + } + optarg = 0; + } + return(c); +} diff --git a/windows/getopt/getopt.h b/windows/getopt/getopt.h new file mode 100644 index 000000000..6ef886d92 --- /dev/null +++ b/windows/getopt/getopt.h @@ -0,0 +1,20 @@ +#ifndef GETOPT_H +#define GETOPT_H + +#ifdef __cplusplus +extern "C" { +#endif + +extern char *optarg; + +extern int optind; +extern int opterr; +extern int optopt; + +int getopt(int argc, char *const *argv, const char *opts); + +#ifdef __cplusplus +} +#endif + +#endif /* GETOPT_H */ diff --git a/windows/dependencies/getopt/getopt.vcxproj b/windows/getopt/getopt.vcxproj similarity index 83% rename from windows/dependencies/getopt/getopt.vcxproj rename to windows/getopt/getopt.vcxproj index 3a6d5ec2c..e7a3bb05d 100644 --- a/windows/dependencies/getopt/getopt.vcxproj +++ b/windows/getopt/getopt.vcxproj @@ -25,26 +25,26 @@ - Application + StaticLibrary true v140 MultiByte - Application + StaticLibrary false v140 true MultiByte - Application + StaticLibrary true v140 MultiByte - Application + StaticLibrary false v140 true @@ -68,28 +68,36 @@ - + + $(ProjectDir) + + + $(ProjectDir) + + + $(ProjectDir) + + + $(ProjectDir) + - Level3 + Level4 Disabled - true - Level3 + Level4 Disabled - true - Level3 + Level4 MaxSpeed true true - true true @@ -98,11 +106,10 @@ - Level3 + Level4 MaxSpeed true true - true true @@ -110,6 +117,10 @@ + + + + diff --git a/windows/dependencies/getopt/getopt.vcxproj.filters b/windows/getopt/getopt.vcxproj.filters similarity index 77% rename from windows/dependencies/getopt/getopt.vcxproj.filters rename to windows/getopt/getopt.vcxproj.filters index 6a1782f7d..972b6b5b3 100644 --- a/windows/dependencies/getopt/getopt.vcxproj.filters +++ b/windows/getopt/getopt.vcxproj.filters @@ -14,4 +14,14 @@ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + Header Files + + + + + Source Files + + \ No newline at end of file