X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/51004dcb01e06fef634b61be77ed73dd61cb6db9..0f5d89e82340278ed3d7d50029f37cab2c41a57e:/icuSources/config/mh-mingw64 diff --git a/icuSources/config/mh-mingw64 b/icuSources/config/mh-mingw64 index 1b37f293..6d0c5575 100644 --- a/icuSources/config/mh-mingw64 +++ b/icuSources/config/mh-mingw64 @@ -1,6 +1,8 @@ ## -*-makefile-*- +## Copyright (C) 2016 and later: Unicode, Inc. and others. +## License & terms of use: http://www.unicode.org/copyright.html ## Cygwin64/MinGW64 specific setup -## Copyright (c) 2012-2013, International Business Machines Corporation and +## Copyright (c) 2012-2014, International Business Machines Corporation and ## others. All Rights Reserved. # TODO: Finish the rest of this port. This platform port is incomplete. @@ -26,6 +28,10 @@ else STATICCPPFLAGS = -DU_STATIC_IMPLEMENTATION endif +## ICU requires a minimum target of Windows 7, and MinGW does not set this by default. +## https://msdn.microsoft.com/en-us/library/aa383745.aspx +CPPFLAGS += -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 + ## Flags for position independent code SHAREDLIBCFLAGS = SHAREDLIBCXXFLAGS = @@ -44,8 +50,8 @@ LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) LD_SOOPTIONS= -Wl,-Bsymbolic ## Commands to make a shared library -SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(dir $@)$(notdir $(@:$(SO_TARGET_VERSION_MAJOR).$(SO)=))$(IMPORT_LIB_EXT)#M# -SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(dir $@)$(notdir $(@:$(SO_TARGET_VERSION_MAJOR).$(SO)=))$(IMPORT_LIB_EXT)#M# +SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(dir $@)lib$(notdir $(@:$(SO_TARGET_VERSION_MAJOR).$(SO)=))$(IMPORT_LIB_EXT)#M# +SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(dir $@)lib$(notdir $(@:$(SO_TARGET_VERSION_MAJOR).$(SO)=))$(IMPORT_LIB_EXT)#M# ## Compiler switch to embed a runtime search path LD_RPATH= @@ -66,11 +72,11 @@ SO_TARGET_VERSION_SUFFIX = endif # Static library prefix and file extension -LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX) +LIBSICU = lib$(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX) A = a ## An import library is needed for z/OS and MSVC -IMPORT_LIB_EXT = .lib +IMPORT_LIB_EXT = .dll.a LIBPREFIX= @@ -80,6 +86,18 @@ DATA_STUBNAME = dt I18N_STUBNAME = in LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) +#SH### copied from Makefile.inc +#SH## for icu-config to test with +#SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}" +#SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}" + +#SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)" +#SH#ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)" +#SH# +#SH## ICULIBS is the set of libraries your application should link +#SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well. +#SH#ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} " + # The #M# is used to delete lines for icu-config # Current full path directory. #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS @@ -118,7 +136,7 @@ CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO) MIDDLE_SO_TARGET=$(FINAL_SO_TARGET) -FINAL_IMPORT_LIB = $(dir $(SO_TARGET))$(notdir $(basename $(SO_TARGET)))$(IMPORT_LIB_EXT)#M# +FINAL_IMPORT_LIB = $(dir $(SO_TARGET))lib$(notdir $(basename $(SO_TARGET)))$(IMPORT_LIB_EXT)#M# IMPORT_LIB = $(FINAL_IMPORT_LIB)#M# MIDDLE_IMPORT_LIB = $(FINAL_IMPORT_LIB)#M#