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 |