build_os2emx.patch in issue 3868 - update OS/2 EMX makefile and config files

Part of source_os2emx.patch in issue 3868:
  Include/pystrcmp.h:  OS/2 has same C APIs as Windows
  Lib/test/test_io.py: OS/2 has same behaviour as Windows for this test

Reviewed by Amaury Forgeot d'Arc
diff --git a/PC/os2emx/Makefile b/PC/os2emx/Makefile
index 2e9e50e..ff04f72 100644
--- a/PC/os2emx/Makefile
+++ b/PC/os2emx/Makefile
@@ -287,7 +287,7 @@
 		Modules/binascii.c \
 		Modules/cmathmodule.c \
 		Modules/_codecsmodule.c \
-		Modules/collectionsmodule.c \
+		Modules/_collectionsmodule.c \
 		Modules/cPickle.c \
 		Modules/cStringIO.c \
 		Modules/_csv.c \
@@ -295,6 +295,7 @@
 		Modules/dlmodule.c \
 		Modules/errnomodule.c \
 		Modules/fcntlmodule.c \
+		Modules/_fileio.c \
 		Modules/_functoolsmodule.c \
 		Modules/_heapqmodule.c \
 		Modules/imageop.c \
@@ -305,7 +306,6 @@
 		Modules/md5module.c \
 		Modules/operator.c \
 		Modules/_randommodule.c \
-		Modules/rgbimgmodule.c \
 		Modules/shamodule.c \
 		Modules/sha256module.c \
 		Modules/sha512module.c \
@@ -343,6 +343,8 @@
 		Python/compile.c \
 		Python/codecs.c \
 		Python/errors.c \
+		Python/formatter_string.c \
+		Python/formatter_unicode.c \
 		Python/frozen.c \
 		Python/frozenmain.c \
 		Python/future.c \
@@ -359,8 +361,10 @@
 		Python/modsupport.c \
 		Python/mysnprintf.c \
 		Python/mystrtoul.c \
+		Python/peephole.c \
 		Python/pyarena.c \
 		Python/pyfpe.c \
+		Python/pymath.c \
 		Python/pystate.c \
 		Python/pystrtod.c \
 		Python/pythonrun.c \
@@ -370,11 +374,14 @@
 		Python/traceback.c \
 		Python/getopt.c \
 		Python/dynload_shlib.c \
-		Python/thread.c)
+		Python/thread.c \
+		Python/_warnings.c)
 SRC.OBJECT=	$(addprefix $(TOP), \
 		Objects/abstract.c \
 		Objects/boolobject.c \
 		Objects/bufferobject.c \
+		Objects/bytearrayobject.c \
+		Objects/bytes_methods.c \
 		Objects/cellobject.c \
 		Objects/classobject.c \
 		Objects/cobject.c \
diff --git a/PC/os2emx/config.c b/PC/os2emx/config.c
index 696c3bb..408381c 100644
--- a/PC/os2emx/config.c
+++ b/PC/os2emx/config.c
@@ -52,12 +52,13 @@
 extern void initbinascii();
 extern void initcPickle();
 extern void initcStringIO();
-extern void initcollections();
+extern void init_collections();
 extern void initcmath();
 extern void initdatetime();
 extern void initdl();
 extern void initerrno();
 extern void initfcntl();
+extern void init_fileio();
 extern void init_functools();
 extern void init_heapq();
 extern void initimageop();
@@ -65,7 +66,6 @@
 extern void initmath();
 extern void init_md5();
 extern void initoperator();
-extern void initrgbimg();
 extern void init_sha();
 extern void init_sha256();
 extern void init_sha512();
@@ -118,12 +118,13 @@
 	{"binascii", initbinascii},
 	{"cPickle", initcPickle},
 	{"cStringIO", initcStringIO},
-	{"collections", initcollections},
+	{"_collections", init_collections},
 	{"cmath", initcmath},
 	{"datetime", initdatetime},
 	{"dl", initdl},
 	{"errno", initerrno},
 	{"fcntl", initfcntl},
+	{"_fileio", init_fileio},
 	{"_functools", init_functools},
 	{"_heapq", init_heapq},
 	{"imageop", initimageop},
@@ -131,7 +132,6 @@
 	{"math", initmath},
 	{"_md5", init_md5},
 	{"operator", initoperator},
-	{"rgbimg", initrgbimg},
 	{"_sha", init_sha},
 	{"_sha256", init_sha256},
 	{"_sha512", init_sha512},
diff --git a/PC/os2emx/pyconfig.h b/PC/os2emx/pyconfig.h
index 1039d3d..13910dc 100644
--- a/PC/os2emx/pyconfig.h
+++ b/PC/os2emx/pyconfig.h
@@ -264,6 +264,9 @@
 /* Define if you have the <conio.h> header file. */
 #undef HAVE_CONIO_H
 
+/* Define to 1 if you have the `copysign' function. */
+#define HAVE_COPYSIGN 1
+
 /* Define if you have the <direct.h> header file. */
 #undef HAVE_DIRECT_H