patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Problem: A lot of code is shared between vim.exe and gvim.exe.
Solution: Optionally put the shared code in vim.dll. (Ken Takata,
closes #4287)
diff --git a/src/vim.rc b/src/vim.rc
index 51c3b7b..195536c 100644
--- a/src/vim.rc
+++ b/src/vim.rc
@@ -23,7 +23,7 @@
//
IDR_VIM ICON "vim.ico"
-#ifdef FEAT_GUI_MSWIN
+#if (defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)) || defined(RCDLL)
IDR_VIM_ERROR ICON "vim_error.ico"
IDR_VIM_ALERT ICON "vim_alert.ico"
IDR_VIM_INFO ICON "vim_info.ico"
@@ -34,7 +34,9 @@
//
IDB_TEAROFF BITMAP DISCARDABLE "tearoff.bmp"
IDR_TOOLBAR1 BITMAP DISCARDABLE "tools.bmp"
+#endif // FEAT_GUI_MSWIN
+#ifndef RCDLL
//
// WinXP theme support
//
@@ -46,7 +48,7 @@
#endif
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "gvim.exe.mnf"
-#endif // FEAT_GUI_MSWIN
+#endif // RCDLL
//
// Type Library
@@ -79,7 +81,11 @@
#endif
FILEOS VOS__WINDOWS32
+#ifdef RCDLL
+ FILETYPE VFT_DLL
+#else
FILETYPE VFT_APP
+#endif
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
@@ -93,7 +99,13 @@
VALUE "InternalName", "VIM\0"
VALUE "LegalCopyright", "Copyright \251 1996\0"
VALUE "LegalTrademarks", "Vim\0"
- VALUE "OriginalFilename", "VIM.EXE\0"
+#ifdef VIMDLLBASE
+ VALUE "OriginalFilename", VIMDLLBASE ".dll\0"
+#elif defined(FEAT_GUI_MSWIN)
+ VALUE "OriginalFilename", "gvim.exe\0"
+#else
+ VALUE "OriginalFilename", "vim.exe\0"
+#endif
VALUE "ProductName", "Vim\0"
VALUE "ProductVersion", VIM_VERSION_MAJOR_STR ", " VIM_VERSION_MINOR_STR ", " VIM_VERSION_BUILD_STR ", " VIM_VERSION_PATCHLEVEL_STR "\0"
END
@@ -104,6 +116,7 @@
END
END
+#if !defined(VIMDLL) || defined(RCDLL)
/*
* Printing Status Dialog (should only be used when FEAT_PRINTER is defined)
*/
@@ -121,3 +134,4 @@
CTEXT "Initializing...",IDC_PROGRESS,24,38,157,9
GROUPBOX "",IDC_BOX1,19,9,170,47
END
+#endif