X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/729e4ab9bc6618bc3d8a898e575df7f4019e29ca..51004dcb01e06fef634b61be77ed73dd61cb6db9:/icuSources/config/mh-mingw diff --git a/icuSources/config/mh-mingw b/icuSources/config/mh-mingw index a79e3d7e..eb25c8ab 100644 --- a/icuSources/config/mh-mingw +++ b/icuSources/config/mh-mingw @@ -1,10 +1,13 @@ ## -*-makefile-*- ## Cygwin/MinGW specific setup -## Copyright (c) 2001-2009, International Business Machines Corporation and +## Copyright (c) 2001-2013, International Business Machines Corporation and ## others. All Rights Reserved. # TODO: Finish the rest of this port. This platform port is incomplete. +# This file is similar to mh-mingw64 +# Any changes made here may also need to be made in mh-mingw64 + # We install sbin tools into the same bin directory because # pkgdata needs some of the tools in sbin, and we can't always depend on # icu-config working on Windows. @@ -37,9 +40,12 @@ LIBCPPFLAGS = LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) #LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) +## Shared library options +LD_SOOPTIONS= -Wl,-Bsymbolic + ## Commands to make a shared library -SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared -SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared +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# ## Compiler switch to embed a runtime search path LD_RPATH= @@ -52,14 +58,19 @@ LD_SONAME = SO = dll ## Non-shared intermediate object suffix STATIC_O = ao + +ifeq ($(ENABLE_SHARED),YES) SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR) +else +SO_TARGET_VERSION_SUFFIX = +endif # Static library prefix and file extension -LIBSICU = $(STATIC_PREFIX)$(ICUPREFIX) -A = lib +LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX) +A = a ## An import library is needed for z/OS and MSVC -#IMPORT_LIB_EXT = .lib +IMPORT_LIB_EXT = .lib LIBPREFIX= @@ -72,7 +83,7 @@ LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) # The #M# is used to delete lines for icu-config # Current full path directory. #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS -CURR_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell +CURR_FULL_DIR?=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell # Current full path directory for use in source code in a -D compiler option. #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell @@ -107,6 +118,10 @@ 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# +IMPORT_LIB = $(FINAL_IMPORT_LIB)#M# +MIDDLE_IMPORT_LIB = $(FINAL_IMPORT_LIB)#M# + ## Special pkgdata information that is needed PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR) #ICUPKGDATA_INSTALL_DIR = $(shell cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M#