Link only a single .rc file with application.
diff --git a/programs/notepad/.cvsignore b/programs/notepad/.cvsignore
index 1d8f959..4a47377 100644
--- a/programs/notepad/.cvsignore
+++ b/programs/notepad/.cvsignore
@@ -8,3 +8,4 @@
Pt.s
Sw.s
notepad
+rsrc.s
diff --git a/programs/notepad/Makefile.in b/programs/notepad/Makefile.in
index 74aeda3..defede0 100644
--- a/programs/notepad/Makefile.in
+++ b/programs/notepad/Makefile.in
@@ -6,29 +6,19 @@
MODULE = none
PROGRAMS = notepad
ALL_LIBS = $(WINELIB) $(X_LIBS) $(XLIB) $(LIBS)
-RCFLAGS = -w32 -h
-WRCEXTRA = -t -A -p $*
+WRCEXTRA = -t -A -p notepad
-LANGUAGES = En Da De Fr Sw Es Fi Wa Pt
LICENSELANG = En
-MOSTSRCS = \
+C_SRCS = \
license.c \
main.c \
dialog.c \
language.c \
- search.c
-
-# Some strings need addresses >= 0x10000
-STRINGSRCS = \
+ search.c \
$(LICENSELANG:%=License_%.c)
-RC_SRCS = $(LANGUAGES:%=%.rc)
-
-C_SRCS = $(MOSTSRCS) $(STRINGSRCS)
-
-MOSTOBJS = $(MOSTSRCS:.c=.o)
-STRINGOBJS = $(STRINGSRCS:.c=.o) $(RC_SRCS:.rc=.o)
+RC_SRCS = rsrc.rc
all: check_wrc $(PROGRAMS)
@@ -40,21 +30,13 @@
.rc.s:
$(CPP) $(DEFS) $(OPTIONS) $(DIVINCL) -DRC_INVOKED -P -x c $< | $(WRC) $(WRCFLAGS) $(WRCEXTRA) -o $*.s
-.rc.h:
- $(CPP) $(DEFS) $(OPTIONS) $(DIVINCL) -DRC_INVOKED -P -x c $< | $(WRC) $(WRCFLAGS) $(WRCEXTRA) -nH $*.h
+notepad: $(OBJS) $(WINESTUB)
+ $(CC) -o notepad $(OBJS) $(LDOPTIONS) $(ALL_LIBS)
-
-notepad: $(MOSTOBJS) $(STRINGOBJS) $(WINESTUB)
- $(CC) -o notepad $(MOSTOBJS) $(LDOPTIONS) $(ALL_LIBS) $(STRINGOBJS)
-
-install: dummy
+install:: dummy
$(INSTALL_PROGRAM) notepad $(bindir)/notepad
-uninstall: dummy
+uninstall:: dummy
$(RM) $(bindir)/notepad
-$(RC_SRCS:.rc=.s): $(WRC)
-
-dummy:
-
### Dependencies:
diff --git a/programs/notepad/dialog.c b/programs/notepad/dialog.c
index e4c9428..f8ebd36 100644
--- a/programs/notepad/dialog.c
+++ b/programs/notepad/dialog.c
@@ -5,6 +5,7 @@
* To be distributed under the Wine License
*/
+#include <assert.h>
#include <stdio.h>
#include <windows.h>
#include <commdlg.h>
diff --git a/programs/notepad/main.c b/programs/notepad/main.c
index 388ba6c..b09bef3 100644
--- a/programs/notepad/main.c
+++ b/programs/notepad/main.c
@@ -17,22 +17,6 @@
#include "dialog.h"
#include "language.h"
-#if !defined(LCC) || defined(WINELIB)
-#include "shell.h"
-#endif
-
-#ifdef WINELIB
-#include "options.h"
-#include "resource.h"
-void LIBWINE_Register_Da();
-void LIBWINE_Register_De();
-void LIBWINE_Register_En();
-void LIBWINE_Register_Es();
-void LIBWINE_Register_Fi();
-void LIBWINE_Register_Fr();
-void LIBWINE_Register_Sw();
-#endif
-
NOTEPAD_GLOBALS Globals;
/***********************************************************************
@@ -158,17 +142,6 @@
char className[] = "NPClass"; /* To make sure className >= 0x10000 */
char winName[] = "Notepad";
- #if defined(WINELIB) && !defined(HAVE_WINE_CONSTRUCTOR)
- /* Register resources */
- LIBWINE_Register_Da();
- LIBWINE_Register_De();
- LIBWINE_Register_En();
- LIBWINE_Register_Es();
- LIBWINE_Register_Fi();
- LIBWINE_Register_Fr();
- LIBWINE_Register_Sw();
- #endif
-
/* Select Language */
LANGUAGE_Init();
diff --git a/programs/notepad/main.h b/programs/notepad/main.h
index 47c4417..b42880e 100644
--- a/programs/notepad/main.h
+++ b/programs/notepad/main.h
@@ -85,12 +85,12 @@
#define IDS_OUT_OF_MEMORY STRINGID(0C)
#define IDS_UNTITLED STRINGID(0D)
-#define IDS_PAGESETUP_HEADERVALUE STRINGID(0D)
-#define IDS_PAGESETUP_FOOTERVALUE STRINGID(0E)
-#define IDS_PAGESETUP_LEFTVALUE STRINGID(0F)
-#define IDS_PAGESETUP_RIGHTVALUE STRINGID(010)
-#define IDS_PAGESETUP_TOPVALUE STRINGID(011)
-#define IDS_PAGESETUP_BOTTOMVALUE STRINGID(012)
+#define IDS_PAGESETUP_HEADERVALUE STRINGID(0E)
+#define IDS_PAGESETUP_FOOTERVALUE STRINGID(0F)
+#define IDS_PAGESETUP_LEFTVALUE STRINGID(10)
+#define IDS_PAGESETUP_RIGHTVALUE STRINGID(11)
+#define IDS_PAGESETUP_TOPVALUE STRINGID(12)
+#define IDS_PAGESETUP_BOTTOMVALUE STRINGID(13)
/* main menu */
diff --git a/programs/notepad/notepad.rc b/programs/notepad/notepad.rc
index 9d19d24..fa14a82 100644
--- a/programs/notepad/notepad.rc
+++ b/programs/notepad/notepad.rc
@@ -5,12 +5,6 @@
* To be distributed under the Wine License
*/
-#include "windows.h"
-#include "main.h"
-
-#define CONCAT(a, b) CONCAT1(a, b)
-#define CONCAT1(a, b) a##b
-
/* Main Menu */
CONCAT(MENU_, LANGUAGE_ID) MENU
@@ -76,13 +70,13 @@
GROUPBOX DIALOG_PAGESETUP_MARGIN, NP_PAGESETUP_MARGIN, 10, 43,160, 45
LTEXT DIALOG_PAGESETUP_LEFT, NP_PAGESETUP_LEFT_TXT, 20, 55, 30, 10, WS_CHILD
-EDITTEXT STRING_PAGESETUP_LEFTVALUE, NP_PAGESETUP_LEFT, 50, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
+EDITTEXT /*STRING_PAGESETUP_LEFTVALUE,*/ NP_PAGESETUP_LEFT, 50, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
LTEXT DIALOG_PAGESETUP_TOP, NP_PAGESETUP_TOP_TXT, 20, 73, 30, 10, WS_CHILD
-EDITTEXT STRING_PAGESETUP_TOPVALUE, NP_PAGESETUP_TOP, 50, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
+EDITTEXT /*STRING_PAGESETUP_TOPVALUE,*/ NP_PAGESETUP_TOP, 50, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
LTEXT DIALOG_PAGESETUP_RIGHT, NP_PAGESETUP_RIGHT_TXT, 100, 55, 30, 10, WS_CHILD
-EDITTEXT STRING_PAGESETUP_RIGHTVALUE, NP_PAGESETUP_RIGHT, 130, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
+EDITTEXT /*STRING_PAGESETUP_RIGHTVALUE,*/ NP_PAGESETUP_RIGHT, 130, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
LTEXT DIALOG_PAGESETUP_BOTTOM, NP_PAGESETUP_BOTTOM_TXT,100, 73, 30, 10, WS_CHILD
-EDITTEXT STRING_PAGESETUP_BOTTOMVALUE, NP_PAGESETUP_BOTTOM, 130, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
+EDITTEXT /*STRING_PAGESETUP_BOTTOMVALUE,*/ NP_PAGESETUP_BOTTOM, 130, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
DEFPUSHBUTTON DIALOG_OK, IDOK, 180, 3, 40, 15, WS_TABSTOP
@@ -93,13 +87,6 @@
/* Strings */
-#define ADDSTRING(str) ADDSTRING1(LANGUAGE_NUMBER, IDS_ ## str) STRING_ ## str
-#define ADDSTRING1(langnum, ids) ADDSTRING2(langnum, ids)
-#define ADDSTRING2(langnum, ids) 0x ## langnum ## ids
-
-#define STRINGIFY(str) STRINGIFY1(str)
-#define STRINGIFY1(str) #str
-
#define STRING_LANGUAGE_ID STRINGIFY(LANGUAGE_ID)
#define STRING_LANGUAGE_MENU_ITEM LANGUAGE_MENU_ITEM
@@ -126,3 +113,76 @@
ADDSTRING(PAGESETUP_TOPVALUE)
ADDSTRING(PAGESETUP_BOTTOMVALUE)
}
+
+
+/* Undefine all language-specific strings */
+
+#undef LANGUAGE_ID
+#undef LANGUAGE_NUMBER
+#undef LANGUAGE_MENU_ITEM
+
+#undef MENU_FILE
+#undef MENU_FILE_NEW
+#undef MENU_FILE_OPEN
+#undef MENU_FILE_SAVE
+#undef MENU_FILE_SAVEAS
+#undef MENU_FILE_PRINT
+#undef MENU_FILE_PAGESETUP
+#undef MENU_FILE_PRINTSETUP
+#undef MENU_FILE_EXIT
+#undef MENU_EDIT
+#undef MENU_EDIT_UNDO
+#undef MENU_EDIT_CUT
+#undef MENU_EDIT_COPY
+#undef MENU_EDIT_PASTE
+#undef MENU_EDIT_DELETE
+#undef MENU_EDIT_SELECTALL
+#undef MENU_EDIT_TIMEDATE
+#undef MENU_EDIT_WRAP
+#undef MENU_SEARCH
+#undef MENU_SEARCH_SEARCH
+#undef MENU_SEARCH_NEXT
+#undef MENU_LANGUAGE
+#undef MENU_HELP
+#undef MENU_HELP_CONTENTS
+#undef MENU_HELP_SEARCH
+#undef MENU_HELP_HELP_ON_HELP
+#undef MENU_INFO
+#undef MENU_INFO_LICENSE
+#undef MENU_INFO_NO_WARRANTY
+#undef MENU_INFO_ABOUT_WINE
+
+#undef DIALOG_OK
+#undef DIALOG_CANCEL
+#undef DIALOG_BROWSE
+#undef DIALOG_HELP
+#undef DIALOG_PAGESETUP_CAPTION
+#undef DIALOG_PAGESETUP_HEAD
+#undef DIALOG_PAGESETUP_TAIL
+#undef DIALOG_PAGESETUP_MARGIN
+#undef DIALOG_PAGESETUP_LEFT
+#undef DIALOG_PAGESETUP_RIGHT
+#undef DIALOG_PAGESETUP_TOP
+#undef DIALOG_PAGESETUP_BOTTOM
+
+#undef STRING_LANGUAGE_ID
+#undef STRING_LANGUAGE_MENU_ITEM
+#undef STRING_PAGESETUP_HEADERVALUE
+#undef STRING_PAGESETUP_FOOTERVALUE
+#undef STRING_PAGESETUP_LEFTVALUE
+#undef STRING_PAGESETUP_RIGHTVALUE
+#undef STRING_PAGESETUP_TOPVALUE
+#undef STRING_PAGESETUP_BOTTOMVALUE
+#undef STRING_NOTEPAD
+#undef STRING_ERROR
+#undef STRING_WARNING
+#undef STRING_INFO
+#undef STRING_UNTITLED
+#undef STRING_ALL_FILES
+#undef STRING_TEXT_FILES_TXT
+#undef STRING_TOOLARGE
+#undef STRING_NOTEXT
+#undef STRING_NOTSAVED
+#undef STRING_NOTFOUND
+#undef STRING_OUT_OF_MEMORY
+
diff --git a/programs/notepad/rsrc.rc b/programs/notepad/rsrc.rc
new file mode 100644
index 0000000..8db7d47
--- /dev/null
+++ b/programs/notepad/rsrc.rc
@@ -0,0 +1,24 @@
+
+#include "windows.h"
+#include "main.h"
+
+#define CONCAT(a, b) CONCAT1(a, b)
+#define CONCAT1(a, b) a##b
+
+#define ADDSTRING(str) ADDSTRING1(LANGUAGE_NUMBER, IDS_ ## str) STRING_ ## str
+#define ADDSTRING1(langnum, ids) ADDSTRING2(langnum, ids)
+#define ADDSTRING2(langnum, ids) 0x ## langnum ## ids
+
+#define STRINGIFY(str) STRINGIFY1(str)
+#define STRINGIFY1(str) #str
+
+#include "Da.rc"
+#include "De.rc"
+#include "En.rc"
+#include "Es.rc"
+#include "Fi.rc"
+#include "Fr.rc"
+#include "Pt.rc"
+#include "Sw.rc"
+#include "Wa.rc"
+