From 89d25d58c594b5082d01823c1e2aa42471b407e3 Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Tue, 2 Oct 2001 02:22:18 +0000
Subject: [PATCH] first new sample project file - comments welcome

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 distrib/msw/tmake/vc6app.t  | 365 ++++++++++++++++++++++++++----------
 samples/minimal/minimal.dsp | 266 ++++++++++++++++++++++++++
 samples/minimal/minimal.dsw |  59 ++++++
 samples/minimal/minimal.pro |  13 ++
 4 files changed, 602 insertions(+), 101 deletions(-)
 create mode 100644 samples/minimal/minimal.dsp
 create mode 100644 samples/minimal/minimal.dsw
 create mode 100644 samples/minimal/minimal.pro

diff --git a/distrib/msw/tmake/vc6app.t b/distrib/msw/tmake/vc6app.t
index 6826836cb1..7574ec20ef 100644
--- a/distrib/msw/tmake/vc6app.t
+++ b/distrib/msw/tmake/vc6app.t
@@ -36,62 +36,12 @@
 	    }
 	}
 
-	AddIncludePath($WXDIR . "\\include");
+	AddIncludePath("$WXDIR\\include");
     }
 
-    if ( Config("unicode") ) {
-	$UNICODE="Unicode";
-	$UNICODE_SUFFIX="u";
-	$UNICODE_FLAGS="/D _UNICODE /D UNICODE ";
-
-	$project{"TARGET"} .= "Unicode";
-	$project{"MAKEFILE"} .= "Unicode";
-    }
-    else {
-	$UNICODE="";
-	$UNICODE_SUFFIX="";
-	$UNICODE_FLAGS=" ";
-    }
-
-    if ( Config("wx") ) {
-	if ( Config("wxbase") ) {
-	    $KIND="Base";
-	    $DLL_OR_LIB="wxbase";
-       	}
-	elsif ( Config("wxuniv") ) {
-	    $KIND="Univ";
-	    $DLL_OR_LIB="wxuniv";
-	}
-	else {
-	    $DLL_OR_LIB="wxmsw"
-	}
-
-	if ( Config("dll") ) {
-	    $DLL="Dll";
-
-	    $DLL_OR_LIB .= "232";
-	    $DLL_FLAGS="/D WXUSINGDLL ";
-	    $EXTRA_LIBS="";
-
-	    $project{"TARGET"} .= "Dll";
-	    $project{"MAKEFILE"} .= "Dll";
-	}
-	else {
-	    $DLL="";
-	    $DLL_FLAGS=" ";
-	    #! actually this should depend on the contents of setup.h!
-	    $EXTRA_LIBS="zlib regex";
-	    if ( !Config("wxbase") ) {
-		$EXTRA_LIBS.=" png jpeg tiff";
-	    }
-	}
-    }
-
-    $DEBUG_SUFFIX="d";
-
     #! let's be smart: if no extension is given, add .lib (this allows for
-    #! LIBS=libname in project files which map either on -l libname.lib under
-    #! Windows or on -llibname under Unix).
+    #! LIBS=libname in project files which map either to -l libname.lib under
+    #! Windows or to -llibname under Unix).
     @libs = split(/\s+/, Project('LIBS'));
     foreach $lib (@libs) {
 	if ( $lib !~ "\.lib\$" ) { $lib .= ".lib"; }
@@ -106,50 +56,92 @@
 			'oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ';
 	if ( Config("wx") ) {
 	    $vc_base_libs .= "comctl32.lib rpcrt4.lib wsock32.lib ";
-
-	    $vc_link_release = "$WXDIR\\lib\\$DLL_OR_LIB$UNICODE_SUFFIX.lib ";
-	    $vc_link_debug = "$WXDIR\\lib\\$DLL_OR_LIB$UNICODE_SUFFIX$DEBUG_SUFFIX.lib ";
-	    foreach ( split(/ /, $EXTRA_LIBS) ) {
-		$vc_link_release .= "$WXDIR\\lib\\$_.lib ";
-		$vc_link_debug .= "$WXDIR\\lib\\$_" . "d.lib ";
-	    }
 	}
 	$vc_link_release .= '/nologo /subsystem:windows /machine:I386';
 	$vc_link_debug   .= '/nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept';
 
-	$vc_cpp_def_common = '/D "WIN32" /D "_WINDOWS" ' . $UNICODE_FLAGS . $DLL_FLAGS;
-	$vc_cpp_def_release = '/D "NDEBUG" ' . $vc_cpp_def_common;
-	$vc_cpp_def_debug   = '/D "_DEBUG" ' . $vc_cpp_def_common;
+	$vc_cpp_def_common = '/D "WIN32" /D "_WINDOWS" /D WINVER=0x400 ';
     } else {
 	$project{"VC_PROJ_TYPE"} = 'Win32 (x86) Console Application';
 	$project{"VC_PROJ_CODE"} = '0x0103';
 	$vc_base_libs = 'kernel32.lib user32.lib advapi32.lib ';
 	if ( Config("wx") ) {
 	    $vc_base_libs .= 'wsock32.lib ';
-	    $vc_link_release = "$WXDIR\\lib\\$DLL_OR_LIB$UNICODE_SUFFIX.lib ";
-	    $vc_link_debug = "$WXDIR\\lib\\$DLL_OR_LIB$UNICODE_SUFFIX$DEBUG_SUFFIX.lib ";
-	    foreach ( split(/ /, $EXTRA_LIBS) ) {
-		$vc_link_release .= "$WXDIR\\lib\\$_.lib ";
-		$vc_link_debug .= "$WXDIR\\lib\\$_" . "d.lib ";
-	    }
 	}
 	$vc_link_release .= '/nologo /subsystem:console /machine:I386';
 	$vc_link_debug   .= '/nologo /subsystem:console /debug /machine:I386 /pdbtype:sept';
 
-	$vc_cpp_def_common = '/D "WIN32" /D "_CONSOLE" ' . $UNICODE_FLAGS . $DLL_FLAGS;
-	$vc_cpp_def_release = '/D "NDEBUG" ' . $vc_cpp_def_common; 
-	$vc_cpp_def_debug   = '/D "_DEBUG" ' . $vc_cpp_def_common;
+	$vc_cpp_def_common = '/D "WIN32" /D "_CONSOLE" ';
     }
 
+    $vc_cpp_def_release = '/D "NDEBUG" ' . $vc_cpp_def_common; 
+    $vc_cpp_def_debug   = '/D "_DEBUG" ' . $vc_cpp_def_common;
+
     foreach ( split(/ /, Project('LIBPATH')) ) {
 	$vc_link_release .= " /libpath:$_\\Release";
 	$vc_link_debug .= " /libpath:$_\\Debug";
     }
 
-    #! define wxWin debug flags in debug build
     if ( Config("wx") ) {
-	$vc_cpp_def_debug .= '/MDd /D "__WXDEBUG__" /D "WXDEBUG=1" ';
-	$vc_cpp_def_release .= '/MD '
+	if ( Config("wxbase") ) {
+	    $KIND="Base";
+	    $TOOLKIT="base";
+	}
+	elsif ( Config("wxuniv") ) {
+	    $KIND="Univ";
+	    $TOOLKIT="univ";
+	}
+	else {
+	    $TOOLKIT="msw"
+	}
+
+	$WX_BASENAME = "$WXDIR\\lib\\wx$TOOLKIT";
+	$UNICODE_SUFFIX = "u";
+	$DEBUG_SUFFIX = "d";
+
+	#! compiler options: for the given configuration they are just obrained
+	#! by concatenating together all relevant values from the list below
+	$project{"WX_CPP_DEBUG"} = '/MDd /D "__WXDEBUG__" /D "WXDEBUG=1" ';
+	$project{"WX_CPP_RELEASE"} = '/MD ';
+	$project{"WX_CPP_UNICODE"} = '/D _UNICODE /D UNICODE ';
+	$project{"WX_CPP_DLL"} = '/D WXUSINGDLL ';
+
+	#! ... plus the config-dependent path to setup.h
+	$project{"WX_SETUPH_DEBUG"} = "/I$WXDIR\\lib\\$TOOLKIT$DEBUG_SUFFIX ";
+	$project{"WX_SETUPH_RELEASE"} = "/I$WXDIR\\lib\\$TOOLKIT ";
+	$project{"WX_SETUPH_DEBUG_DLL"} = "/I$WXDIR\\lib\\$TOOLKIT$DLL$DEBUG_SUFFIX ";
+	$project{"WX_SETUPH_RELEASE_DLL"} = "/I$WXDIR\\lib\\$TOOLKIT$DLL ";
+	$project{"WX_SETUPH_DEBUG_UNICODE"} = "/I$WXDIR\\lib\\$TOOLKIT$UNICODE_SUFFIX$DEBUG_SUFFIX ";
+	$project{"WX_SETUPH_RELEASE_UNICODE"} = "/I$WXDIR\\lib\\$TOOLKIT$UNICODE_SUFFIX ";
+	$project{"WX_SETUPH_DEBUG_UNICODE_DLL"} = "/I$WXDIR\\lib\\$TOOLKIT$DLL$UNICODE_SUFFIX$DEBUG_SUFFIX ";
+	$project{"WX_SETUPH_RELEASE_UNICODE_DLL"} = "/I$WXDIR\\lib\\$TOOLKIT$DLL$UNICODE_SUFFIX ";
+
+	#! the libraries we must link with when linking against static wxWin
+	#! library (DLL already includes all needed libs)
+	#!
+	#! FIXME: actually this should depend on the contents of setup.h!
+	$EXTRA_LIBS="zlib regex";
+	if ( !Config("wxbase") ) {
+	    $EXTRA_LIBS.=" png jpeg tiff";
+	}
+	foreach ( split(/ /, $EXTRA_LIBS) ) {
+	    $DEBUG_EXTRA_LIBS .= "$WXDIR\\lib\\$_.lib ";
+	    $RELEASE_EXTRA_LIBS .= "$WXDIR\\lib\\$_" . "d.lib ";
+	}
+
+	#! the wxWin lib name itself is composed from the basename with various
+	#! suffixes: 'u' for Unicode, 'd' for debug and we also need the version
+	#! for the DLL
+	$DLL_VERSION = "232";
+
+	$project{"WX_LINK_DEBUG"} = $DEBUG_EXTRA_LIBS . "$WX_BASENAME$DEBUG_SUFFIX.lib";
+	$project{"WX_LINK_RELEASE"} = $RELEASE_EXTRA_LIBS . "$WX_BASENAME.lib";
+	$project{"WX_LINK_DEBUG_DLL"} = "$WX_BASENAME$DLL_VERSION$DEBUG_SUFFIX.lib";
+	$project{"WX_LINK_RELEASE_DLL"} = "$WX_BASENAME$DLL_VERSION.lib";
+	$project{"WX_LINK_DEBUG_UNICODE"} = $DEBUG_EXTRA_LIBS . "$WX_BASENAME$UNICODE_SUFFIX$DEBUG_SUFFIX.lib";
+	$project{"WX_LINK_RELEASE_UNICODE"} = $RELEASE_EXTRA_LIBS . "$WX_BASENAME$UNICODE_SUFFIX.lib";
+	$project{"WX_LINK_DEBUG_UNICODE_DLL"} = "$WX_BASENAME$DLL_VERSION$UNICODE_SUFFIX$DEBUG_SUFFIX.lib";
+	$project{"WX_LINK_RELEASE_UNICODE_DLL"} = "$WX_BASENAME$DLL_VERSION$UNICODE_SUFFIX.lib";
     }
 
     $project{"VC_BASE_LINK_RELEASE"} = $vc_base_libs . $vc_link_release;
@@ -175,21 +167,12 @@
 
 	if ( Config("wxbase") ) {
 	    $vc_def .= '/D wxUSE_GUI=0 ';
-	    $vc_inc_debug .= "/I$WXDIR\\lib\\based ";
-	    $vc_inc_release .= "/I$WXDIR\\lib\\base ";
 	}
 	else {
 	    $vc_def .= '/D wxUSE_GUI=1 ';
 
 	    if ( Config("wxuniv") ) {
 		$vc_def .= '/D "__WXUNIVERSAL__" ';
-
-		$vc_inc_debug .= "/I$WXDIR\\lib\\univd ";
-		$vc_inc_release .= "/I$WXDIR\\lib\\univ ";
-	    }
-	    else {
-		$vc_inc_debug .= "/I$WXDIR\\lib\\mswd ";
-		$vc_inc_release .= "/I$WXDIR\\lib\\msw ";
 	    }
 	}
     }
@@ -254,8 +237,14 @@ CFG=#$ Substitute('$$TARGET - Win32 Debug');
 !MESSAGE 
 !MESSAGE Possible choices for configuration are:
 !MESSAGE 
-!MESSAGE #$ Substitute('"$$TARGET - Win32 Release" (based on "$$VC_PROJ_TYPE")');
 !MESSAGE #$ Substitute('"$$TARGET - Win32 Debug" (based on "$$VC_PROJ_TYPE")');
+!MESSAGE #$ Substitute('"$$TARGET - Win32 Release" (based on "$$VC_PROJ_TYPE")');
+!MESSAGE #$ Substitute('"$$TARGET - Win32 Debug DLL" (based on "$$VC_PROJ_TYPE")');
+!MESSAGE #$ Substitute('"$$TARGET - Win32 Release DLL" (based on "$$VC_PROJ_TYPE")');
+!MESSAGE #$ Substitute('"$$TARGET - Win32 Debug Unicode" (based on "$$VC_PROJ_TYPE")');
+!MESSAGE #$ Substitute('"$$TARGET - Win32 Release Unicode" (based on "$$VC_PROJ_TYPE")');
+!MESSAGE #$ Substitute('"$$TARGET - Win32 Debug Unicode DLL" (based on "$$VC_PROJ_TYPE")');
+!MESSAGE #$ Substitute('"$$TARGET - Win32 Release Unicode DLL" (based on "$$VC_PROJ_TYPE")');
 !MESSAGE 
 
 # Begin Project
@@ -265,21 +254,105 @@ CPP=cl.exe
 #$ Config("windows") && ($text='MTL=midl.exe');
 RSC=rc.exe
 
-!IF  "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Release"');
+!IF  "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Debug"');
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir #$ $text = "\"${KIND}Debug\""
+# PROP BASE Intermediate_Dir #$ $text = "\"${KIND}Debug\""
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir #$ $text = "\"${KIND}Debug\""
+# PROP Intermediate_Dir #$ $text = "\"${KIND}Debug\""
+#$ Config("windows") && ($text='# PROP Ignore_Export_Lib 0');
+# PROP Target_Dir ""
+# ADD BASE CPP #$ Expand("VC_BASE_CPP_DEBUG");
+# ADD CPP #$ $text = "'$project{'VC_CPP_DEBUG'} $project{'WX_CPP_DEBUG'} $project{'WX_SETUPH_DEBUG'}'";
+#$ Config("windows") || DisableOutput();
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+#$ Config("windows") || EnableOutput();
+# ADD BASE RSC /l 0x409 /d "_DEBUG" #$ Expand("VC_CPP_INCLUDE");
+# ADD RSC /l 0x409 /d "_DEBUG" #$ Expand("VC_CPP_INCLUDE");
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 #$ Expand("VC_BASE_LINK_DEBUG");
+# ADD LINK32 #$ $text = "$project{'VC_LINK_DEBUG'} $project{'WX_LINK_DEBUG'}";
+
+!ELSEIF  "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Release"');
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir #$ $text = "\"${KIND}Release\""
+# PROP BASE Intermediate_Dir #$ $text = "\"${KIND}Release\""
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir #$ $text = "\"${KIND}Release\""
+# PROP Intermediate_Dir #$ $text = "\"${KIND}Release\""
+#$ Config("windows") && ($text='# PROP Ignore_Export_Lib 0');
+# PROP Target_Dir ""
+# ADD BASE CPP #$ Expand("VC_BASE_CPP_RELEASE");
+# ADD CPP #$ $text = "$project{'VC_CPP_RELEASE'} $project{'WX_CPP_RELEASE'} $project{'WX_SETUPH_RELEASE'}";
+#$ Config("windows") || DisableOutput();
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+#$ Config("windows") || EnableOutput();
+# ADD BASE RSC /l 0x409 /d "NDEBUG" #$ Expand("VC_CPP_INCLUDE");
+# ADD RSC /l 0x409 /d "NDEBUG" #$ Expand("VC_CPP_INCLUDE");
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 #$ Expand("VC_BASE_LINK_RELEASE");
+# ADD LINK32 #$ $text = "$project{'VC_LINK_RELEASE'} $project{'WX_LINK_RELEASE'}";
+
+!ELSEIF  "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Debug DLL"');
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir #$ $text = "\"${KIND}DebugDll\""
+# PROP BASE Intermediate_Dir #$ $text = "\"${KIND}DebugDll\""
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir #$ $text = "\"${KIND}DebugDll\""
+# PROP Intermediate_Dir #$ $text = "\"${KIND}DebugDll\""
+#$ Config("windows") && ($text='# PROP Ignore_Export_Lib 0');
+# PROP Target_Dir ""
+# ADD BASE CPP #$ Expand("VC_BASE_CPP_DEBUG");
+# ADD CPP #$ $text = "$project{'VC_CPP_DEBUG'} $project{'WX_CPP_DEBUG'} $project{'WX_CPP_DLL'} $project{'WX_SETUPH_DEBUG_DLL'}";
+#$ Config("windows") || DisableOutput();
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+#$ Config("windows") || EnableOutput();
+# ADD BASE RSC /l 0x409 /d "_DEBUG" #$ Expand("VC_CPP_INCLUDE");
+# ADD RSC /l 0x409 /d "_DEBUG" #$ Expand("VC_CPP_INCLUDE");
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 #$ Expand("VC_BASE_LINK_DEBUG");
+# ADD LINK32 #$ $text = "$project{'VC_LINK_DEBUG'} $project{'WX_LINK_DEBUG_DLL'}";
+
+!ELSEIF  "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Release DLL"');
 
 # PROP BASE Use_MFC 0
 # PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir #$ $text = "\"${KIND}Release$UNICODE$DLL\""
-# PROP BASE Intermediate_Dir #$ $text = "\"${KIND}Release$UNICODE$DLL\""
+# PROP BASE Output_Dir #$ $text = "\"${KIND}ReleaseDll\""
+# PROP BASE Intermediate_Dir #$ $text = "\"${KIND}ReleaseDll\""
 # PROP BASE Target_Dir ""
 # PROP Use_MFC 0
 # PROP Use_Debug_Libraries 0
-# PROP Output_Dir #$ $text = "\"${KIND}Release$UNICODE$DLL\""
-# PROP Intermediate_Dir #$ $text = "${KIND}Release$UNICODE$DLL\""
+# PROP Output_Dir #$ $text = "\"${KIND}ReleaseDll\""
+# PROP Intermediate_Dir #$ $text = "\"${KIND}ReleaseDll\""
 #$ Config("windows") && ($text='# PROP Ignore_Export_Lib 0');
 # PROP Target_Dir ""
 # ADD BASE CPP #$ Expand("VC_BASE_CPP_RELEASE");
-# ADD CPP #$ Expand("VC_CPP_RELEASE");
+# ADD CPP #$ $text = "$project{'VC_CPP_RELEASE'} $project{'WX_CPP_RELEASE'} $project{'WX_CPP_DLL'} $project{'WX_SETUPH_RELEASE_DLL'}";
 #$ Config("windows") || DisableOutput();
 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
@@ -291,23 +364,23 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 #$ Expand("VC_BASE_LINK_RELEASE");
-# ADD LINK32 #$ Expand("VC_LINK_RELEASE");
+# ADD LINK32 #$ $text = "$project{'VC_LINK_RELEASE'} $project{'WX_LINK_RELEASE_DLL'}";
 
-!ELSEIF  "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Debug"');
+!ELSEIF  "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Debug Unicode"');
 
 # PROP BASE Use_MFC 0
 # PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir #$ $text = "\"${KIND}Debug$UNICODE$DLL\""
-# PROP BASE Intermediate_Dir #$ $text = "\"${KIND}Debug$UNICODE$DLL\""
+# PROP BASE Output_Dir #$ $text = "\"${KIND}DebugUnicode\""
+# PROP BASE Intermediate_Dir #$ $text = "\"${KIND}DebugUnicode\""
 # PROP BASE Target_Dir ""
 # PROP Use_MFC 0
 # PROP Use_Debug_Libraries 1
-# PROP Output_Dir #$ $text = "\"${KIND}Debug$UNICODE$DLL\""
-# PROP Intermediate_Dir #$ $text = "\"${KIND}Debug$UNICODE$DLL\""
+# PROP Output_Dir #$ $text = "\"${KIND}DebugUnicode\""
+# PROP Intermediate_Dir #$ $text = "\"${KIND}DebugUnicode\""
 #$ Config("windows") && ($text='# PROP Ignore_Export_Lib 0');
 # PROP Target_Dir ""
 # ADD BASE CPP #$ Expand("VC_BASE_CPP_DEBUG");
-# ADD CPP #$ Expand("VC_CPP_DEBUG");
+# ADD CPP #$ $text = "$project{'VC_CPP_DEBUG'} $project{'WX_CPP_DEBUG'} $project{'WX_CPP_UNICODE'} $project{'WX_SETUPH_DEBUG_UNICODE'}";
 #$ Config("windows") || DisableOutput();
 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
@@ -319,14 +392,104 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 #$ Expand("VC_BASE_LINK_DEBUG");
-# ADD LINK32 #$ Expand("VC_LINK_DEBUG");
+# ADD LINK32 #$ $text = "$project{'VC_LINK_DEBUG'} $project{'WX_LINK_DEBUG_UNICODE'}";
+
+!ELSEIF  "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Release Unicode"');
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir #$ $text = "\"${KIND}ReleaseUnicode\""
+# PROP BASE Intermediate_Dir #$ $text = "\"${KIND}ReleaseUnicode\""
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir #$ $text = "\"${KIND}ReleaseUnicode\""
+# PROP Intermediate_Dir #$ $text = "\"${KIND}ReleaseUnicode\""
+#$ Config("windows") && ($text='# PROP Ignore_Export_Lib 0');
+# PROP Target_Dir ""
+# ADD BASE CPP #$ Expand("VC_BASE_CPP_RELEASE");
+# ADD CPP #$ $text = "$project{'VC_CPP_RELEASE'} $project{'WX_CPP_RELEASE'} $project{'WX_CPP_UNICODE'} $project{'WX_SETUPH_RELEASE_UNICODE'}";
+#$ Config("windows") || DisableOutput();
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+#$ Config("windows") || EnableOutput();
+# ADD BASE RSC /l 0x409 /d "NDEBUG" #$ Expand("VC_CPP_INCLUDE");
+# ADD RSC /l 0x409 /d "NDEBUG" #$ Expand("VC_CPP_INCLUDE");
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 #$ Expand("VC_BASE_LINK_RELEASE");
+# ADD LINK32 #$ $text = "$project{'VC_LINK_RELEASE'} $project{'WX_LINK_RELEASE_UNICODE'}";
+
+!ELSEIF  "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Debug Unicode DLL"');
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir #$ $text = "\"${KIND}DebugUnicodeDll\""
+# PROP BASE Intermediate_Dir #$ $text = "\"${KIND}DebugUnicodeDll\""
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir #$ $text = "\"${KIND}DebugUnicodeDll\""
+# PROP Intermediate_Dir #$ $text = "\"${KIND}DebugUnicodeDll\""
+#$ Config("windows") && ($text='# PROP Ignore_Export_Lib 0');
+# PROP Target_Dir ""
+# ADD BASE CPP #$ Expand("VC_BASE_CPP_DEBUG");
+# ADD CPP #$ $text = "$project{'VC_CPP_DEBUG'} $project{'WX_CPP_DEBUG'} $project{'WX_CPP_DLL'} $project{'WX_CPP_UNICODE'} $project{'WX_SETUPH_DEBUG_UNICODE_DLL'}";
+#$ Config("windows") || DisableOutput();
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+#$ Config("windows") || EnableOutput();
+# ADD BASE RSC /l 0x409 /d "_DEBUG" #$ Expand("VC_CPP_INCLUDE");
+# ADD RSC /l 0x409 /d "_DEBUG" #$ Expand("VC_CPP_INCLUDE");
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 #$ Expand("VC_BASE_LINK_DEBUG");
+# ADD LINK32 #$ $text = "$project{'VC_LINK_DEBUG'} $project{'WX_LINK_DEBUG_UNICODE_DLL'}";
+
+!ELSEIF  "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Release Unicode DLL"');
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir #$ $text = "\"${KIND}ReleaseUnicodeDll\""
+# PROP BASE Intermediate_Dir #$ $text = "\"${KIND}ReleaseUnicodeDll\""
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir #$ $text = "\"${KIND}ReleaseUnicodeDll\""
+# PROP Intermediate_Dir #$ $text = "\"${KIND}ReleaseUnicodeDll\""
+#$ Config("windows") && ($text='# PROP Ignore_Export_Lib 0');
+# PROP Target_Dir ""
+# ADD BASE CPP #$ Expand("VC_BASE_CPP_RELEASE");
+# ADD CPP #$ $text = "$project{'VC_CPP_RELEASE'} $project{'WX_CPP_RELEASE'} $project{'WX_CPP_DLL'} $project{'WX_CPP_UNICODE'} $project{'WX_SETUPH_RELEASE_UNICODE_DLL'}";
+#$ Config("windows") || DisableOutput();
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+#$ Config("windows") || EnableOutput();
+# ADD BASE RSC /l 0x409 /d "NDEBUG" #$ Expand("VC_CPP_INCLUDE");
+# ADD RSC /l 0x409 /d "NDEBUG" #$ Expand("VC_CPP_INCLUDE");
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 #$ Expand("VC_BASE_LINK_RELEASE");
+# ADD LINK32 #$ $text = "$project{'VC_LINK_RELEASE'} $project{'WX_LINK_RELEASE_UNICODE_DLL'}";
 
 !ENDIF 
 
 # Begin Target
 
-# Name #$Substitute('"$$TARGET - Win32 Release"');
-# Name #$Substitute('"$$TARGET - Win32 Debug"');
+# Name #$ Substitute('"$$TARGET - Win32 Debug"');
+# Name #$ Substitute('"$$TARGET - Win32 Release"');
+# Name #$ Substitute('"$$TARGET - Win32 Debug DLL"');
+# Name #$ Substitute('"$$TARGET - Win32 Release DLL"');
+# Name #$ Substitute('"$$TARGET - Win32 Debug Unicode"');
+# Name #$ Substitute('"$$TARGET - Win32 Release Unicode"');
+# Name #$ Substitute('"$$TARGET - Win32 Debug Unicode DLL"');
+# Name #$ Substitute('"$$TARGET - Win32 Release Unicode DLL"');
 #${
     foreach $n ( sort keys %file_names ) {
 	$f  = $file_names{$n};
diff --git a/samples/minimal/minimal.dsp b/samples/minimal/minimal.dsp
new file mode 100644
index 0000000000..02bb15a19e
--- /dev/null
+++ b/samples/minimal/minimal.dsp
@@ -0,0 +1,266 @@
+# Microsoft Developer Studio Project File - Name="minimal" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=minimal - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "minimal.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "minimal.mak" CFG="minimal - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "minimal - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "minimal - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "minimal - Win32 Debug DLL" (based on "Win32 (x86) Application")
+!MESSAGE "minimal - Win32 Release DLL" (based on "Win32 (x86) Application")
+!MESSAGE "minimal - Win32 Debug Unicode" (based on "Win32 (x86) Application")
+!MESSAGE "minimal - Win32 Release Unicode" (based on "Win32 (x86) Application")
+!MESSAGE "minimal - Win32 Debug Unicode DLL" (based on "Win32 (x86) Application")
+!MESSAGE "minimal - Win32 Release Unicode DLL" (based on "Win32 (x86) Application")
+!MESSAGE 
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "minimal - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W4 /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /YX /FD /c
+# ADD CPP '/nologo /W4 /Zi /Od /I "$(wx)\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /D WIN32 /D WINVER=0x400 /D _MT /D wxUSE_GUI=1 /YX /FD /c /MDd /D "__WXDEBUG__" /D "WXDEBUG=1"  /I$(wx)\lib\mswd '
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /I "$(wx)\include"
+# ADD RSC /l 0x409 /d "_DEBUG" /I "$(wx)\include"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept $(wx)\lib\zlib.lib $(wx)\lib\regex.lib $(wx)\lib\png.lib $(wx)\lib\jpeg.lib $(wx)\lib\tiff.lib $(wx)\lib\wxmswd.lib
+
+!ELSEIF  "$(CFG)" == "minimal - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W4 /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /YX /FD /c
+# ADD CPP /nologo /W4 /O2 /I "$(wx)\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /D WIN32 /D WINVER=0x400 /D _MT /D wxUSE_GUI=1 /YX /FD /c /MD  /I$(wx)\lib\msw 
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG" /I "$(wx)\include"
+# ADD RSC /l 0x409 /d "NDEBUG" /I "$(wx)\include"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /machine:I386
+# ADD 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /machine:I386 $(wx)\lib\zlibd.lib $(wx)\lib\regexd.lib $(wx)\lib\pngd.lib $(wx)\lib\jpegd.lib $(wx)\lib\tiffd.lib $(wx)\lib\wxmsw.lib
+
+!ELSEIF  "$(CFG)" == "minimal - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugDll"
+# PROP BASE Intermediate_Dir "DebugDll"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDll"
+# PROP Intermediate_Dir "DebugDll"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W4 /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /YX /FD /c
+# ADD CPP /nologo /W4 /Zi /Od /I "$(wx)\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /D WIN32 /D WINVER=0x400 /D _MT /D wxUSE_GUI=1 /YX /FD /c /MDd /D "__WXDEBUG__" /D "WXDEBUG=1"  /D WXUSINGDLL  /I$(wx)\lib\mswd 
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /I "$(wx)\include"
+# ADD RSC /l 0x409 /d "_DEBUG" /I "$(wx)\include"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept $(wx)\lib\wxmsw232d.lib
+
+!ELSEIF  "$(CFG)" == "minimal - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseDll"
+# PROP BASE Intermediate_Dir "ReleaseDll"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDll"
+# PROP Intermediate_Dir "ReleaseDll"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W4 /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /YX /FD /c
+# ADD CPP /nologo /W4 /O2 /I "$(wx)\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /D WIN32 /D WINVER=0x400 /D _MT /D wxUSE_GUI=1 /YX /FD /c /MD  /D WXUSINGDLL  /I$(wx)\lib\msw 
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG" /I "$(wx)\include"
+# ADD RSC /l 0x409 /d "NDEBUG" /I "$(wx)\include"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /machine:I386
+# ADD 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /machine:I386 $(wx)\lib\wxmsw232.lib
+
+!ELSEIF  "$(CFG)" == "minimal - Win32 Debug Unicode"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugUnicode"
+# PROP BASE Intermediate_Dir "DebugUnicode"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugUnicode"
+# PROP Intermediate_Dir "DebugUnicode"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W4 /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /YX /FD /c
+# ADD CPP /nologo /W4 /Zi /Od /I "$(wx)\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /D WIN32 /D WINVER=0x400 /D _MT /D wxUSE_GUI=1 /YX /FD /c /MDd /D "__WXDEBUG__" /D "WXDEBUG=1"  /D _UNICODE /D UNICODE  /I$(wx)\lib\mswud 
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /I "$(wx)\include"
+# ADD RSC /l 0x409 /d "_DEBUG" /I "$(wx)\include"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept $(wx)\lib\zlib.lib $(wx)\lib\regex.lib $(wx)\lib\png.lib $(wx)\lib\jpeg.lib $(wx)\lib\tiff.lib $(wx)\lib\wxmswud.lib
+
+!ELSEIF  "$(CFG)" == "minimal - Win32 Release Unicode"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseUnicode"
+# PROP BASE Intermediate_Dir "ReleaseUnicode"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseUnicode"
+# PROP Intermediate_Dir "ReleaseUnicode"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W4 /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /YX /FD /c
+# ADD CPP /nologo /W4 /O2 /I "$(wx)\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /D WIN32 /D WINVER=0x400 /D _MT /D wxUSE_GUI=1 /YX /FD /c /MD  /D _UNICODE /D UNICODE  /I$(wx)\lib\mswu 
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG" /I "$(wx)\include"
+# ADD RSC /l 0x409 /d "NDEBUG" /I "$(wx)\include"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /machine:I386
+# ADD 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /machine:I386 $(wx)\lib\zlibd.lib $(wx)\lib\regexd.lib $(wx)\lib\pngd.lib $(wx)\lib\jpegd.lib $(wx)\lib\tiffd.lib $(wx)\lib\wxmswu.lib
+
+!ELSEIF  "$(CFG)" == "minimal - Win32 Debug Unicode DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "DebugUnicodeDll"
+# PROP BASE Intermediate_Dir "DebugUnicodeDll"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugUnicodeDll"
+# PROP Intermediate_Dir "DebugUnicodeDll"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W4 /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /YX /FD /c
+# ADD CPP /nologo /W4 /Zi /Od /I "$(wx)\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /D WIN32 /D WINVER=0x400 /D _MT /D wxUSE_GUI=1 /YX /FD /c /MDd /D "__WXDEBUG__" /D "WXDEBUG=1"  /D WXUSINGDLL  /D _UNICODE /D UNICODE  /I$(wx)\lib\mswud 
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /I "$(wx)\include"
+# ADD RSC /l 0x409 /d "_DEBUG" /I "$(wx)\include"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept $(wx)\lib\wxmsw232ud.lib
+
+!ELSEIF  "$(CFG)" == "minimal - Win32 Release Unicode DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "ReleaseUnicodeDll"
+# PROP BASE Intermediate_Dir "ReleaseUnicodeDll"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseUnicodeDll"
+# PROP Intermediate_Dir "ReleaseUnicodeDll"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W4 /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /YX /FD /c
+# ADD CPP /nologo /W4 /O2 /I "$(wx)\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D WINVER=0x400 /D WIN32 /D WINVER=0x400 /D _MT /D wxUSE_GUI=1 /YX /FD /c /MD  /D WXUSINGDLL  /D _UNICODE /D UNICODE  /I$(wx)\lib\mswu 
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG" /I "$(wx)\include"
+# ADD RSC /l 0x409 /d "NDEBUG" /I "$(wx)\include"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /machine:I386
+# ADD 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 comctl32.lib rpcrt4.lib wsock32.lib /nologo /subsystem:windows /machine:I386 $(wx)\lib\wxmsw232u.lib
+
+!ENDIF 
+
+# Begin Target
+
+# Name "minimal - Win32 Debug"
+# Name "minimal - Win32 Release"
+# Name "minimal - Win32 Debug DLL"
+# Name "minimal - Win32 Release DLL"
+# Name "minimal - Win32 Debug Unicode"
+# Name "minimal - Win32 Release Unicode"
+# Name "minimal - Win32 Debug Unicode DLL"
+# Name "minimal - Win32 Release Unicode DLL"
+# Begin Source File
+
+SOURCE=.\minimal.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\minimal.rc
+# End Source File
+# End Target
+# End Project
diff --git a/samples/minimal/minimal.dsw b/samples/minimal/minimal.dsw
new file mode 100644
index 0000000000..30fc81587a
--- /dev/null
+++ b/samples/minimal/minimal.dsw
@@ -0,0 +1,59 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "minimal"=.\minimal.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name wx
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name wxdll
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "wx"=..\..\src\wx.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "wxdll"=..\..\src\wxdll.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/samples/minimal/minimal.pro b/samples/minimal/minimal.pro
new file mode 100644
index 0000000000..e3caf9dd6c
--- /dev/null
+++ b/samples/minimal/minimal.pro
@@ -0,0 +1,13 @@
+# this is the project file for the minimal wxWindows sample
+
+# we generate the VC++ IDE project file, comment this line
+# to generate a makefile for (n)make
+TEMPLATE = vc6app
+
+# wx is mandatory for wxWindows projects
+CONFIG  = wx
+
+# project files
+SOURCES = minimal.cpp
+RC_FILE = minimal.rc
+TARGET  = minimal
-- 
2.47.2