| Index: source/config/mh-msys-msvc
|
| diff --git a/source/config/mh-cygwin-msvc b/source/config/mh-msys-msvc
|
| similarity index 74%
|
| copy from source/config/mh-cygwin-msvc
|
| copy to source/config/mh-msys-msvc
|
| index b6682c90420935fe43cf3e6f1cd40ec9e3bf7fd7..0a2004289eb3a330f77cd79b3a9c3ffdd2ee0f4c 100644
|
| --- a/source/config/mh-cygwin-msvc
|
| +++ b/source/config/mh-msys-msvc
|
| @@ -1,5 +1,6 @@
|
| -## Cygwin with Microsoft Visual C++ compiler specific setup
|
| -## Copyright (c) 2001-2013, International Business Machines Corporation and
|
| +## -*-makefile-*-
|
| +## MSYS with Microsoft Visual C++ compiler specific setup
|
| +## Copyright (c) 2014, International Business Machines Corporation and
|
| ## others. All Rights Reserved.
|
|
|
| # We install sbin tools into the same bin directory because
|
| @@ -7,11 +8,15 @@
|
| # icu-config working on Windows.
|
| sbindir=$(bindir)
|
|
|
| +# Need this option to use / instead of - when specifying options for the
|
| +# rc.exe command
|
| +MSYS_RC_MODE=1
|
| +
|
| ## Commands to generate dependency files
|
| GEN_DEPS.c= :
|
| GEN_DEPS.cc= :
|
| -#GEN_DEPS.c= $(COMPILE.c) /E
|
| -#GEN_DEPS.cc= $(COMPILE.cc) /E
|
| +#GEN_DEPS.c= $(COMPILE.c) -E
|
| +#GEN_DEPS.cc= $(COMPILE.cc) -E
|
|
|
| ## Flags to create/use a static library
|
| ifneq ($(ENABLE_SHARED),YES)
|
| @@ -41,41 +46,41 @@ CPPFLAGS+=-D_DEBUG=1#M#
|
| ICULIBSUFFIX:=$(ICULIBSUFFIX)d#M#
|
| endif
|
|
|
| -# /GF pools strings and places them into read-only memory
|
| -# /EHsc enables exception handling
|
| -# /Zc:wchar_t makes wchar_t a native type. Required for C++ ABI compatibility.
|
| +# -GF pools strings and places them into read-only memory
|
| +# -EHsc enables exception handling
|
| +# -Zc:wchar_t makes wchar_t a native type. Required for C++ ABI compatibility.
|
| # -D_CRT_SECURE_NO_DEPRECATE is needed to quiet warnings about using standard C functions.
|
| -CFLAGS+=/GF /nologo
|
| -CXXFLAGS+=/GF /nologo /EHsc /Zc:wchar_t
|
| +CFLAGS+=-GF -nologo
|
| +CXXFLAGS+=-GF -nologo -EHsc -Zc:wchar_t
|
| CPPFLAGS+=-D_CRT_SECURE_NO_DEPRECATE
|
| DEFS+=-DWIN32 -DCYGWINMSVC
|
| -LDFLAGS+=/nologo
|
| +LDFLAGS+=-nologo
|
|
|
| # Commands to compile
|
| -COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) /c
|
| -COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) /c
|
| +COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c
|
| +COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c
|
|
|
| # Commands to link
|
| -LINK.c= LINK.EXE /subsystem:console $(LDFLAGS)
|
| -LINK.cc= LINK.EXE /subsystem:console $(LDFLAGS)
|
| +LINK.c= LINK.EXE -subsystem:console $(LDFLAGS)
|
| +LINK.cc= LINK.EXE -subsystem:console $(LDFLAGS)
|
|
|
| ## Commands to make a shared library
|
| -SHLIB.c= LINK.EXE /DLL $(LDFLAGS)
|
| -SHLIB.cc= LINK.EXE /DLL $(LDFLAGS)
|
| +SHLIB.c= LINK.EXE -DLL $(LDFLAGS)
|
| +SHLIB.cc= LINK.EXE -DLL $(LDFLAGS)
|
|
|
| ## Compiler switch to embed a runtime search path
|
| LD_RPATH=
|
| LD_RPATH_PRE=
|
|
|
| ## Compiler switch to embed a library name
|
| -LD_SONAME = /IMPLIB:$(SO_TARGET:.dll=.lib)
|
| +LD_SONAME = -IMPLIB:$(SO_TARGET:.dll=.lib)
|
|
|
| ## Shared object suffix
|
| SO = dll
|
| ## Non-shared intermediate object suffix
|
| STATIC_O = ao
|
| # OUTOPT is for creating a specific output name
|
| -OUTOPT = /out:
|
| +OUTOPT = -out:
|
|
|
| # Static library prefix and file extension
|
| LIBSICU = $(STATIC_PREFIX)$(ICUPREFIX)
|
| @@ -83,11 +88,11 @@ A = lib
|
|
|
| # Cygwin's ar can't handle Win64 right now. So we use Microsoft's tool instead.
|
| AR = LIB.EXE#M#
|
| -ARFLAGS := /nologo $(ARFLAGS:r=)#M#
|
| +ARFLAGS := -nologo $(ARFLAGS:r=)#M#
|
| RANLIB = ls -s#M#
|
| -AR_OUTOPT = /OUT:#M#
|
| +AR_OUTOPT = -OUT:#M#
|
|
|
| -## An import library is needed for z/OS, MSVC and Cygwin
|
| +## An import library is needed for z-OS, MSVC and Cygwin
|
| IMPORT_LIB_EXT = .lib
|
|
|
| LIBPREFIX=
|
| @@ -114,37 +119,25 @@ LIBCTESTFW= $(top_builddir)/tools/ctestfw/$(LIBICU)$(CTESTFW_STUBNAME)$(ICULIBSU
|
| LIBICUTOOLUTIL= $(LIBDIR)/$(LIBICU)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX).lib
|
|
|
| ## These are the library specific LDFLAGS
|
| -LDFLAGSICUDT+= /base:"0x4ad00000" /NOENTRY# The NOENTRY option is required for creating a resource-only DLL.
|
| -LDFLAGSICUUC= /base:"0x4a800000"# in-uc = 1MB
|
| -LDFLAGSICUI18N= /base:"0x4a900000"# io-in = 2MB
|
| -LDFLAGSICUIO= /base:"0x4ab00000"# le-io = 1MB
|
| -LDFLAGSICULE= /base:"0x4ac00000"# lx-le = 512KB
|
| -LDFLAGSICULX= /base:"0x4ac80000"
|
| +LDFLAGSICUDT+= -base:"0x4ad00000" -NOENTRY# The NOENTRY option is required for creating a resource-only DLL.
|
| +LDFLAGSICUUC= -base:"0x4a800000"# in-uc = 1MB
|
| +LDFLAGSICUI18N= -base:"0x4a900000"# io-in = 2MB
|
| +LDFLAGSICUIO= -base:"0x4ab00000"# le-io = 1MB
|
| +LDFLAGSICULE= -base:"0x4ac00000"# lx-le = 512KB
|
| +LDFLAGSICULX= -base:"0x4ac80000"
|
| LDFLAGSCTESTFW=# Unused for now.
|
| -LDFLAGSICUTOOLUTIL= /base:"0x4ac00000"# Same as layout. Layout and tools probably won't mix.
|
| -
|
| -# The #M# is used to delete lines for icu-config
|
| -# Current full path directory.
|
| -CURR_FULL_DIR?=$(subst \,/,$(shell cygpath -da .))#M# -m isn't used because it doesn't work on Win98
|
| -# Current full path directory for use in source code in a -D compiler option.
|
| -CURR_SRCCODE_FULL_DIR=$(subst \,\\,$(shell cygpath -da .))#M#
|
| -
|
| -ifeq ($(srcdir),.)
|
| -SOURCE_FILE=$<
|
| -else
|
| -SOURCE_FILE=$(shell cygpath -dma $<)#M#
|
| -endif
|
| +LDFLAGSICUTOOLUTIL= -base:"0x4ac00000"# Same as layout. Layout and tools probably won't mix.
|
|
|
| ## Compilation rules
|
| %.$(STATIC_O): $(srcdir)/%.c
|
| - $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) /Fo$@ $(SOURCE_FILE)
|
| + $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -Fo$@ $<
|
| %.o: $(srcdir)/%.c
|
| - $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) /Fo$@ $(SOURCE_FILE)
|
| + $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -Fo$@ $<
|
|
|
| %.$(STATIC_O): $(srcdir)/%.cpp
|
| - $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) /Fo$@ $(SOURCE_FILE)
|
| + $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -Fo$@ $<
|
| %.o: $(srcdir)/%.cpp
|
| - $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) /Fo$@ $(SOURCE_FILE)
|
| + $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -Fo$@ $<
|
|
|
|
|
| ## Dependency rules
|
| @@ -175,7 +168,7 @@ endif
|
|
|
| ## Compile a Windows resource file
|
| %.res : $(srcdir)/%.rc
|
| - rc.exe /fo$@ $(CPPFLAGS) $(SOURCE_FILE)
|
| + rc.exe -fo$@ $(CPPFLAGS) $<
|
|
|
| ## Versioned target for a shared library.
|
| FINAL_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO)
|
| @@ -191,8 +184,8 @@ MIDDLE_SO_TARGET=$(FINAL_SO_TARGET)
|
|
|
| ## Special pkgdata information that is needed
|
| PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR)
|
| -ICUPKGDATA_INSTALL_DIR = $(shell mkdir -p $(DESTDIR)$(ICUPKGDATA_DIR) ; cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M#
|
| -ICUPKGDATA_INSTALL_LIBDIR = $(shell mkdir -p $(DESTDIR)$(libdir) ; cygpath -dma $(DESTDIR)$(libdir))#M#
|
| +ICUPKGDATA_INSTALL_DIR = $(shell mkdir -p $(DESTDIR)$(ICUPKGDATA_DIR) ; echo $(DESTDIR)$(ICUPKGDATA_DIR))#M#
|
| +ICUPKGDATA_INSTALL_LIBDIR = $(shell mkdir -p $(DESTDIR)$(libdir) ; echo $(DESTDIR)$(libdir))#M#
|
|
|
| ## Versioned import library names. The library names are versioned,
|
| ## but the import libraries do not need versioning.
|
| @@ -225,5 +218,4 @@ PKGDATA_INVOKE_OPTS = MAKEFLAGS=
|
| # Include the version information in the shared library
|
| ENABLE_SO_VERSION_DATA=1
|
|
|
| -## End Cygwin-specific setup
|
| -
|
| +## End MSYS-specific setup
|
|
|