X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/73c04bcfe1096173b00431f0cdc742894b15eef0..f3c0d7a59d99c2a94c6b8822291f0e42be3773c9:/icuSources/config/mh-mingw diff --git a/icuSources/config/mh-mingw b/icuSources/config/mh-mingw index 18937e0e..b8d2ee05 100644 --- a/icuSources/config/mh-mingw +++ b/icuSources/config/mh-mingw @@ -1,10 +1,15 @@ ## -*-makefile-*- +## Copyright (C) 2016 and later: Unicode, Inc. and others. +## License & terms of use: http://www.unicode.org/copyright.html ## Cygwin/MinGW specific setup -## Copyright (c) 2001-2006, International Business Machines Corporation and +## Copyright (c) 2001-2014, 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 +42,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 $@)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= @@ -52,16 +60,21 @@ 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 = .dll.a -LIBPREFIX= +LIBPREFIX=lib # Change the stubnames so that poorly working FAT disks and installation programs can work. # This is also for backwards compatibility. @@ -69,11 +82,25 @@ 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# +#CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS +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# +#CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS +CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell ## Compilation rules %.$(STATIC_O): $(srcdir)/%.c @@ -105,6 +132,10 @@ CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO) MIDDLE_SO_TARGET=$(FINAL_SO_TARGET) +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# + ## Special pkgdata information that is needed PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR) #ICUPKGDATA_INSTALL_DIR = $(shell cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M#