- }
- $libs = join " ", sort keys %lib_files;
- @source_files = sort keys %source_files;
- @header_files = sort keys %header_files;
- @resources = sort keys %resource_files;
- ($windows_project, $type) = split ",", $progname;
- mkdir $windows_project
- if(! -d $windows_project);
- chdir $windows_project;
- $subsys = ($type eq "G") ? "windows" : "console";
- open OUT, ">$windows_project.dsp"; binmode OUT; select OUT;
- print
- "# Microsoft Developer Studio Project File - Name=\"$windows_project\" - Package Owner=<4>\r\n".
- "# Microsoft Developer Studio Generated Build File, Format Version 6.00\r\n".
- "# ** DO NOT EDIT **\r\n".
- "\r\n".
- "# TARGTYPE \"Win32 (x86) Application\" 0x0101\r\n".
- "\r\n".
- "CFG=$windows_project - Win32 Debug\r\n".
- "!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r\n".
- "!MESSAGE use the Export Makefile command and run\r\n".
- "!MESSAGE \r\n".
- "!MESSAGE NMAKE /f \"$windows_project.mak\".\r\n".
- "!MESSAGE \r\n".
- "!MESSAGE You can specify a configuration when running NMAKE\r\n".
- "!MESSAGE by defining the macro CFG on the command line. For example:\r\n".
- "!MESSAGE \r\n".
- "!MESSAGE NMAKE /f \"$windows_project.mak\" CFG=\"$windows_project - Win32 Debug\"\r\n".
- "!MESSAGE \r\n".
- "!MESSAGE Possible choices for configuration are:\r\n".
- "!MESSAGE \r\n".
- "!MESSAGE \"$windows_project - Win32 Release\" (based on \"Win32 (x86) Application\")\r\n".
- "!MESSAGE \"$windows_project - Win32 Debug\" (based on \"Win32 (x86) Application\")\r\n".
- "!MESSAGE \r\n".
- "\r\n".
- "# Begin Project\r\n".
- "# PROP AllowPerConfigDependencies 0\r\n".
- "# PROP Scc_ProjName \"\"\r\n".
- "# PROP Scc_LocalPath \"\"\r\n".
- "CPP=cl.exe\r\n".
- "MTL=midl.exe\r\n".
- "RSC=rc.exe\r\n".
- "\r\n".
- "!IF \"\$(CFG)\" == \"$windows_project - Win32 Release\"\r\n".
- "\r\n".
- "# PROP BASE Use_MFC 0\r\n".
- "# PROP BASE Use_Debug_Libraries 0\r\n".
- "# PROP BASE Output_Dir \"Release\"\r\n".
- "# PROP BASE Intermediate_Dir \"Release\"\r\n".
- "# PROP BASE Target_Dir \"\"\r\n".
- "# PROP Use_MFC 0\r\n".
- "# PROP Use_Debug_Libraries 0\r\n".
- "# PROP Output_Dir \"Release\"\r\n".
- "# PROP Intermediate_Dir \"Release\"\r\n".
- "# PROP Ignore_Export_Lib 0\r\n".
- "# PROP Target_Dir \"\"\r\n".
- "# ADD BASE CPP /nologo /W3 /GX /O2 /D \"WIN32\" /D \"NDEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /c\r\n".
- "# ADD CPP /nologo /W3 /GX /O2 /D \"WIN32\" /D \"NDEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /c\r\n".
- "# ADD BASE MTL /nologo /D \"NDEBUG\" /mktyplib203 /win32\r\n".
- "# ADD MTL /nologo /D \"NDEBUG\" /mktyplib203 /win32\r\n".
- "# ADD BASE RSC /l 0x809 /d \"NDEBUG\"\r\n".
- "# ADD RSC /l 0x809 /d \"NDEBUG\"\r\n".
- "BSC32=bscmake.exe\r\n".
- "# ADD BASE BSC32 /nologo\r\n".
- "# ADD BSC32 /nologo\r\n".
- "LINK32=link.exe\r\n".
- "# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:$subsys /machine:I386\r\n".
- "# ADD LINK32 $libs /nologo /subsystem:$subsys /machine:I386\r\n".
- "# SUBTRACT LINK32 /pdb:none\r\n".
- "\r\n".
- "!ELSEIF \"\$(CFG)\" == \"$windows_project - Win32 Debug\"\r\n".
- "\r\n".
- "# PROP BASE Use_MFC 0\r\n".
- "# PROP BASE Use_Debug_Libraries 1\r\n".
- "# PROP BASE Output_Dir \"Debug\"\r\n".
- "# PROP BASE Intermediate_Dir \"Debug\"\r\n".
- "# PROP BASE Target_Dir \"\"\r\n".
- "# PROP Use_MFC 0\r\n".
- "# PROP Use_Debug_Libraries 1\r\n".
- "# PROP Output_Dir \"Debug\"\r\n".
- "# PROP Intermediate_Dir \"Debug\"\r\n".
- "# PROP Ignore_Export_Lib 0\r\n".
- "# PROP Target_Dir \"\"\r\n".
- "# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D \"WIN32\" /D \"_DEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /GZ /c\r\n".
- "# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D \"WIN32\" /D \"_DEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /GZ /c\r\n".
- "# ADD BASE MTL /nologo /D \"_DEBUG\" /mktyplib203 /win32\r\n".
- "# ADD MTL /nologo /D \"_DEBUG\" /mktyplib203 /win32\r\n".
- "# ADD BASE RSC /l 0x809 /d \"_DEBUG\"\r\n".
- "# ADD RSC /l 0x809 /d \"_DEBUG\"\r\n".
- "BSC32=bscmake.exe\r\n".
- "# ADD BASE BSC32 /nologo\r\n".
- "# ADD BSC32 /nologo\r\n".
- "LINK32=link.exe\r\n".
- "# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:$subsys /debug /machine:I386 /pdbtype:sept\r\n".
- "# ADD LINK32 $libs /nologo /subsystem:$subsys /debug /machine:I386 /pdbtype:sept\r\n".
- "# SUBTRACT LINK32 /pdb:none\r\n".
- "\r\n".
- "!ENDIF \r\n".
- "\r\n".
- "# Begin Target\r\n".
- "\r\n".
- "# Name \"$windows_project - Win32 Release\"\r\n".
- "# Name \"$windows_project - Win32 Debug\"\r\n".
- "# Begin Group \"Source Files\"\r\n".
- "\r\n".
- "# PROP Default_Filter \"cpp;c;cxx;rc;def;r;odl;idl;hpj;bat\"\r\n";
- foreach $source_file (@source_files) {
- print
- "# Begin Source File\r\n".
- "\r\n".
- "SOURCE=..\\..\\$source_file\r\n";
- if($source_file =~ /ssh\.c/io) {
- # Disable 'Edit and continue' as Visual Studio can't handle the macros
- print
- "\r\n".
- "!IF \"\$(CFG)\" == \"$windows_project - Win32 Release\"\r\n".
- "\r\n".
- "!ELSEIF \"\$(CFG)\" == \"$windows_project - Win32 Debug\"\r\n".
- "\r\n".
- "# ADD CPP /Zi\r\n".
- "\r\n".
- "!ENDIF \r\n".
- "\r\n";