1--- misc/CoinMP-1.6.0/CoinUtils/src/CoinSignal.hpp	2014-08-27 13:57:26.000000000 +0200
2+++ misc/build/CoinMP-1.6.0/CoinUtils/src/CoinSignal.hpp	2014-08-27 12:15:58.000000000 +0200
3@@ -29,7 +29,7 @@
4
5 //-----------------------------------------------------------------------------
6
7-#if defined(__CYGWIN__) && defined(__GNUC__)
8+#if defined(__CYGWIN__) && defined(__GNUC__) || defined(__KLIBC__)
9    typedef typeof(SIG_DFL) CoinSighandler_t;
10 #  define CoinSighandler_t_defined
11 #endif
12--- misc/CoinMP-1.6.0/CoinUtils/src/CoinTime.hpp	2011-01-04 00:31:00.000000000 +0100
13+++ misc/build/CoinMP-1.6.0/CoinUtils/src/CoinTime.hpp	2014-08-27 12:58:06.000000000 +0200
14@@ -23,6 +23,9 @@
15 #include <sys/time.h>
16 #endif
17 #if !defined(__MSVCRT__)
18+#ifdef __KLIBC__
19+#include <sys/types.h>
20+#endif
21 #include <sys/resource.h>
22 #endif
23 #endif
24@@ -121,6 +124,12 @@
25   cpu_temp = (double)((double)ticksnow/CLOCKS_PER_SEC);
26 #endif
27
28+#elif defined(__KLIBC__)
29+
30+  unsigned int ticksnow;        /* clock_t is same as int */
31+  ticksnow = (unsigned int)clock();
32+  cpu_temp = (double)((double)ticksnow/CLOCKS_PER_SEC);
33+
34 #else
35   struct rusage usage;
36 # ifdef ZEROFAULT
37@@ -141,7 +150,7 @@
38 static inline double CoinSysTime()
39 {
40   double sys_temp;
41-#if defined(_MSC_VER) || defined(__MSVCRT__)
42+#if defined(_MSC_VER) || defined(__MSVCRT__) || defined(__KLIBC__)
43   sys_temp = 0.0;
44 #else
45   struct rusage usage;
46@@ -161,7 +170,7 @@
47 static inline double CoinCpuTimeJustChildren()
48 {
49   double cpu_temp;
50-#if defined(_MSC_VER) || defined(__MSVCRT__)
51+#if defined(_MSC_VER) || defined(__MSVCRT__) || defined(__KLIBC__)
52   cpu_temp = 0.0;
53 #else
54   struct rusage usage;
55--- misc/CoinMP-1.6.0/CoinMP/src/Makefile.in	2011-08-07 17:09:46.000000000 +0200
56+++ misc/build/CoinMP-1.6.0/CoinMP/src/Makefile.in	2014-08-28 00:29:22.000000000 +0200
57@@ -20,6 +20,10 @@
58
59 # Author:  Andreas Waechter           IBM    2006-04-13
60
61+OS2_LA_NAME=CoinMP
62+OS2_DLL_NAME=CoinMP
63+OS2_DLL_OBJ=$(libCoinMP_la_OBJECTS:%.lo=%.o)
64+OS2_DLL_LIBS=../../Cbc/src/.libs/CbcSolver.a ../../Cbc/src/.libs/Cbc.a ../../Cgl/src/.libs/Cgl.a ../../Clp/src/OsiClp/.libs/OsiClp.a ../../Clp/src/.libs/Clp.a ../../Osi/src/Osi/.libs/Osi.a ../../CoinUtils/src/.libs/CoinUtils.a -lstdc++ $(LIBS)
65
66 srcdir = @srcdir@
67 top_srcdir = @top_srcdir@
68@@ -547,7 +551,7 @@
69 	done
70 check-am: all-am
71 check: check-am
72-all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h config_coinmp.h
73+all-am: Makefile $(LTLIBRARIES) $(OS2_DLL_NAME).dll $(HEADERS) config.h config_coinmp.h
74 installdirs:
75 	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includecoindir)"; do \
76 	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
77@@ -656,3 +660,13 @@
78 # Tell versions [3.59,3.63) of GNU make to not export all variables.
79 # Otherwise a system limit (for SysV at least) may be exceeded.
80 .NOEXPORT:
81+
82+$(OS2_DLL_NAME).dll: lib$(OS2_LA_NAME).la
83+	cp .libs/$(OS2_LA_NAME).a .libs/$(OS2_LA_NAME)_s.a
84+	echo "LIBRARY $(OS2_DLL_NAME) INITINSTANCE TERMINSTANCE" > $(OS2_DLL_NAME).def
85+	echo "DATA MULTIPLE" >> $(OS2_DLL_NAME).def
86+	echo "EXPORTS" >> $(OS2_DLL_NAME).def
87+	emxexp $(OS2_DLL_OBJ) >> $(OS2_DLL_NAME).def
88+	gcc -g -Zbin-files -Zhigh-mem -Zomf -Zdll $(OS2_DLL_NAME).def -o $@ $(OS2_DLL_OBJ) $(OS2_DLL_LIBS)
89+	emximp -o .libs/$(OS2_LA_NAME).a $(OS2_DLL_NAME).def
90+	emximp -o .libs/$(OS2_LA_NAME).lib $(OS2_DLL_NAME).def
91