New patches from Fedora.
[fedora-mingw.git] / poco / poco-01-buildsystem.patch
1 --- build/config/MinGW-cross.old        2008-11-08 13:58:50.000000000 +0000
2 +++ build/config/MinGW-cross    2008-11-08 13:44:24.000000000 +0000
3 @@ -9,21 +9,22 @@
4  #
5  # General Settings
6  #
7 -LINKMODE = STATIC
8 +LINKMODE = SHARED
9  POCO_TARGET_OSNAME = MinGW
10  POCO_TARGET_OSARCH = ia32
11  
12  #
13  # Define Tools
14  #
15 -CC      = gcc
16 -CXX     = g++
17 +CC      = i686-pc-mingw32-gcc
18 +CXX     = i686-pc-mingw32-g++
19  LINK    = $(CXX)
20 -LIB     = ar -cr
21 -RANLIB  = ranlib
22 -SHLIB   = $(CXX) -shared -mno-cygwin -o $@ -Wl,--out-implib=$(dir $@)$(subst cyg,lib,$(basename $(notdir $@))).a
23 +LIB     = i686-pc-mingw32-ar -cr
24 +#RANLIB  = i686-pc-mingw32-ranlib
25 +RANLIB  = :
26 +SHLIB   = $(CXX) -shared -o $@ -Wl,--out-implib=$(dir $@)$(subst cyg,lib,$(basename $(notdir $@))).dll.a
27  SHLIBLN = $(POCO_BASE)/build/script/shlibln
28 -STRIP   = strip
29 +STRIP   = i686-pc-mingw32-strip
30  DEP     = $(POCO_BASE)/build/script/makedepend.gcc 
31  SHELL   = sh
32  RM      = rm -rf
33 @@ -36,7 +37,10 @@
34  SHAREDLIBEXT     = .dll
35  SHAREDLIBLINKEXT = .dll
36  
37 -BINEXT          = .exe
38 +# RWMJ: They do, but only if you specify -o foo.exe.  I see now
39 +# way to do that, so instead pretend that they don't have the .exe
40 +# extension.
41 +#BINEXT          = .exe
42  
43  #
44  # Compiler and Linker Flags
45 @@ -66,9 +70,12 @@
46  #
47  # System Specific Flags
48  #
49 -SYSFLAGS = -mno-cygwin -D_WIN32 -DMINGW32 -DWINVER=0x500 -DPOCO_NO_FPENVIRONMENT -DPCRE_STATIC -DPOCO_THREAD_STACK_SIZE -DFoundation_Config_INCLUDED -I/usr/local/include -I/usr/include
50 +SYSFLAGS = -D_WIN32 -DMINGW32 -DWINVER=0x500 -DPOCO_NO_FPENVIRONMENT -DPCRE_STATIC -DPOCO_THREAD_STACK_SIZE -DFoundation_Config_INCLUDED
51  
52  #
53  # System Specific Libraries
54  #
55 -SYSLIBS  = -L/usr/local/lib -L/usr/lib -liphlpapi -lws2_32 -lssl -lcrypto -lws2_32 -lgdi32
56 +# RWMJ: Not clear why, but for some reason the linker cannot find
57 +# the SSL and libcrypto libraries using just -lssl -lcrypto. (XXX)
58 +SSLLIBS = /usr/i686-pc-mingw32/sys-root/mingw/lib/libssl.dll.a /usr/i686-pc-mingw32/sys-root/mingw/lib/libcrypto.dll.a
59 +SYSLIBS  = -liphlpapi -lws2_32 $(SSLLIBS) -lws2_32 -lgdi32