poco/build/config/MinGW
Chris Johnson def90185aa Added build support for stock MinGW/MSYS build of POCO.
Components now supported by default:
 Foundation {including internal PCRE lib}
 Util
 Net
 XML
 SQL
 SQL/ODBC
 SQL/SQLite
 samples/{all components supported}

Components supported with additional 3rd party MinGW/MSYS libs:
 NetSSL w/OpenSSH

Components unsupported at this time:
 testsuite: Fails to build due to TupleTest - needs slight code change MinGW can't deal with currently.  Only thing causing failure.
 CppUnit: Unable to support this due to WIN32 version of this functionality relying on MFC which does not ship with MinGW/MSYS.
 --no-wstring support due libstdc++ - will require STLPort {support coming soon}


:build/config/MinGW
 +Fixed compiler environment flags and switches
 +Linkage build supports:  SHARED, STATIC, or BOTH
 +Fixed duplicate symbol/unresolved symbol during compile
 +Added PCRE build flag for internal library build/eliminate link errors
 +Disable support of UTF-8 by default, MinGW will require STLPort 
 +Corrected system link libs for MinGW "dumb" linker

:build/rules/global
 +Added MinGW environment deduction logic

:configure
 +Fine tuned environment deduction recognizing MinGW as valid

:Data/ODBC/Makefile
 +Fixed correct ODBC libs to link

:Foundation/Makefile
 +Added logic for building correct subsystem dependency

:Util/Makefile
 +Added logic for building correct subsystem dependency
2008-02-21 09:08:44 +00:00

75 lines
1.4 KiB
Plaintext

#
# $Id: //poco/Main/build/config/MinGW#6 $
#
# MinGW32
#
# Make settings for MinGW on WinXP
#
#
# General Settings
#
LINKMODE = BOTH
POCO_TARGET_OSNAME = MinGW
POCO_TARGET_OSARCH = ia32
#
# Define Tools
#
CC = gcc
CXX = g++
LINK = $(CXX)
LIB = ar -cr
RANLIB = ranlib
SHLIB = $(CXX) -shared -mno-cygwin -o $@ -Wl,--out-implib=$(dir $@)$(subst cyg,lib,$(basename $(notdir $@))).a
SHLIBLN = $(POCO_BASE)/build/script/shlibln
STRIP = strip
DEP = $(POCO_BASE)/build/script/makedepend.gcc
SHELL = sh
RM = rm -rf
CP = cp
MKDIR = mkdir -p
#
# Extension for Shared Libraries
#
SHAREDLIBEXT = .dll
SHAREDLIBLINKEXT = .dll
BINEXT = .exe
#
# Compiler and Linker Flags
#
CFLAGS =
CFLAGS32 =
CFLAGS64 =
CXXFLAGS =
CXXFLAGS32 =
CXXFLAGS64 =
LINKFLAGS = -Wl,--allow-multiple-definition
LINKFLAGS32 =
LINKFLAGS64 =
STATICOPT_CC =
STATICOPT_CXX =
STATICOPT_LINK = -static
SHAREDOPT_CC =
SHAREDOPT_CXX =
SHAREDOPT_LINK = -shared
DEBUGOPT_CC = -g -D_DEBUG
DEBUGOPT_CXX = -g -D_DEBUG
DEBUGOPT_LINK = -g
RELEASEOPT_CC = -O2 -DNDEBUG
RELEASEOPT_CXX = -O2 -DNDEBUG
RELEASEOPT_LINK = -O2
#
# System Specific Flags
#
SYSFLAGS = -mno-cygwin -D_WIN32 -DPOCO_NO_FPENVIRONMENT -DPCRE_STATIC -DFoundation_Config_INCLUDED
#
# System Specific Libraries
#
SYSLIBS = -liphlpapi -lws2_32 -lssl -lcrypto -lws2_32 -lgdi32