- add build support for curses extension to be a normal DLL as well as
  a Python extension, so that the curses_panel extension works.
- minor compiler switch tweak.
diff --git a/PC/os2emx/Makefile b/PC/os2emx/Makefile
index fae7fb4..04d618c 100644
--- a/PC/os2emx/Makefile
+++ b/PC/os2emx/Makefile
@@ -91,7 +91,7 @@
   CFLAGS+=	-g -O
   LDFLAGS+=	-g
 else
-  CFLAGS+=	-s -O3 -fomit-frame-pointer
+  CFLAGS+=	-s -O3 -fomit-frame-pointer -mprobe
   LDFLAGS+=	-s
 endif
 CFLAGS+=	$(PY_DEF)
@@ -113,6 +113,7 @@
 
 # File extensions
 MODULE.EXT=	.pyd
+MODLIB.EXT=	.dll
 ifeq ($(OMF),yes)
   O=		.obj
   A=		.lib
@@ -253,7 +254,7 @@
 DESCRIPTION.mpz$(MODULE.EXT)=		Python Extension DLL for access to GNU multi-precision library
 DESCRIPTION.readline$(MODULE.EXT)=	Python Extension DLL for access to GNU ReadLine library
 DESCRIPTION.bsddb185$(MODULE.EXT)=	Python Extension DLL for access to BSD DB (v1.85) library
-DESCRIPTION._curses$(MODULE.EXT)=	Python Extension DLL for access to ncurses library
+DESCRIPTION._curses$(MODLIB.EXT)=	Python Extension DLL for access to ncurses library
 DESCRIPTION.pyexpat$(MODULE.EXT)=	Python Extension DLL for access to expat library
 DESCRIPTION.bz2$(MODULE.EXT)=		Python Extension DLL for accessing the bz2 compression library
 
@@ -429,6 +430,10 @@
 		_testcap \
 		unicoded
 
+# Python modules that are used as libraries and therefore must use
+# a .DLL extension
+LIBEXTMODULES=
+
 # Python external ($(MODULE.EXT)) modules - can be EASY or HARD
 ifeq ($(HAVE_ZLIB),yes)
   HARDEXTMODULES+=	zlib
@@ -451,7 +456,8 @@
   HARDEXTMODULES+=	bsddb185
 endif
 ifeq ($(HAVE_NCURSES),yes)
-  HARDEXTMODULES+=	_curses _curses_
+  LIBEXTMODULES+=	_curses
+  HARDEXTMODULES+=	_curses_
 endif
 ifeq ($(HAVE_GDBM),yes)
   HARDEXTMODULES+=	gdbm dbm
@@ -473,6 +479,7 @@
 # all the external modules
 EXTERNDLLS=	$(addsuffix $(MODULE.EXT),$(patsubst %module,%,$(EASYEXTMODULES)))
 EXTERNDLLS+=	$(addsuffix $(MODULE.EXT),$(patsubst %module,%,$(HARDEXTMODULES)))
+EXTERNDLLS+=	$(addsuffix $(MODLIB.EXT),$(patsubst %module,%,$(LIBEXTMODULES)))
 
 # Targets
 all:  $(OUT) $(PYTHON.LIB) $(PYTHON.DEF) $(PYTHON.IMPLIB) $(PYTHON.DLL) \
@@ -583,7 +590,7 @@
 $(OUT)_curses_m.def:
 	@echo Creating .DEF file: $@
 	@echo LIBRARY $(notdir $*) INITINSTANCE TERMINSTANCE >$@
-	@echo DESCRIPTION $(DQUOTE)$(DESCRIPTION.$(notdir $*)$(MODULE.EXT))$(DQUOTE) >>$@
+	@echo DESCRIPTION $(DQUOTE)$(DESCRIPTION.$(notdir $*)$(MODLIB.EXT))$(DQUOTE) >>$@
 	@echo DATA MULTIPLE NONSHARED >>$@
 	@echo EXPORTS >>$@
 	@echo 	init_curses >>$@
@@ -609,7 +616,7 @@
 	@echo EXPORTS >>$@
 	@echo 	init_curses_panel >>$@
 
-_curses$(MODULE.EXT): $(OUT)_cursesmodule$O $(OUT)_curses_m.def $(PYTHON.IMPLIB)
+_curses$(MODLIB.EXT): $(OUT)_cursesmodule$O $(OUT)_curses_m.def $(PYTHON.IMPLIB)
 	$(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lncurses
 
 # curses_panel needs to be renamed to be useful