1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/intl/icu/source/config/mh-cygwin Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,141 @@ 1.4 +## -*-makefile-*- 1.5 +## Cygwin-specific setup 1.6 +## Copyright (c) 2001-2010, International Business Machines Corporation and 1.7 +## others. All Rights Reserved. 1.8 + 1.9 +## Commands to generate dependency files 1.10 +GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) 1.11 +GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) 1.12 + 1.13 +## Flags to create/use a static library 1.14 +ifneq ($(ENABLE_SHARED),YES) 1.15 +## Make sure that the static libraries can be built and used 1.16 +CPPFLAGS += -DU_STATIC_IMPLEMENTATION 1.17 +else 1.18 +## Make sure that the static libraries can be built 1.19 +STATICCPPFLAGS = -DU_STATIC_IMPLEMENTATION 1.20 +endif 1.21 + 1.22 +## Flags for position independent code 1.23 +SHAREDLIBCFLAGS = 1.24 +SHAREDLIBCXXFLAGS = 1.25 +SHAREDLIBCPPFLAGS = -DPIC 1.26 + 1.27 +## Additional flags when building libraries and with threads 1.28 +THREADSCPPFLAGS = -D_REENTRANT 1.29 +LIBCPPFLAGS = 1.30 + 1.31 +# Commands to link. Link with C++ in case static libraries are used. 1.32 +LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) 1.33 +#LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) 1.34 + 1.35 +## Shared library options 1.36 +LD_SOOPTIONS= -Wl,-Bsymbolic 1.37 + 1.38 +## Commands to make a shared library 1.39 +# $(subst) won't work in shell script. #M# at the end omits these 1.40 +# lines from the shell script (Make only) 1.41 +SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(subst cyg,lib,$@).$(A)#M# 1.42 +SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(subst cyg,lib,$@).$(A)#M# 1.43 +# the #SH# lines don't go through further postprocessing. 1.44 +# so, they must be valid shell script starting from column 4 1.45 +#SH#SHLIB_c="$(CC) $(CFLAGS) $(LDFLAGS) -shared " 1.46 +#SH#SHLIB_cc="$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared " 1.47 + 1.48 + 1.49 +## Compiler switch to embed a runtime search path 1.50 +LD_RPATH= 1.51 +LD_RPATH_PRE= -Wl,-rpath, 1.52 + 1.53 +## Compiler switch to embed a library name 1.54 +LD_SONAME = 1.55 + 1.56 +## Shared object suffix 1.57 +SO = dll 1.58 +## Non-shared intermediate object suffix 1.59 +STATIC_O = ao 1.60 +LIBICU = cyg$(ICUPREFIX) 1.61 +## To have an import library is better on Cygwin 1.62 +IMPORT_LIB_EXT = .dll.a 1.63 + 1.64 +## Compilation rules 1.65 +%.$(STATIC_O): $(srcdir)/%.c 1.66 + $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< 1.67 +%.o: $(srcdir)/%.c 1.68 + $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $< 1.69 + 1.70 +%.$(STATIC_O): $(srcdir)/%.cpp 1.71 + $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $< 1.72 +%.o: $(srcdir)/%.cpp 1.73 + $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $< 1.74 + 1.75 + 1.76 +## Dependency rules 1.77 +%.d: $(srcdir)/%.c 1.78 + @echo "generating dependency information for $<" 1.79 + @echo -n "$@ " > $@ 1.80 + @$(GEN_DEPS.c) $< >> $@ || (rm -f $@ && FALSE) 1.81 + 1.82 +%.d: $(srcdir)/%.cpp 1.83 + @echo "generating dependency information for $<" 1.84 + @echo -n "$@ " > $@ 1.85 + @$(GEN_DEPS.cc) $< >> $@ || (rm -f $@ && FALSE) 1.86 + 1.87 +## Versioned target for a shared library. 1.88 +## Since symbolic links don't work the same way on Windows, 1.89 +## we only use the version major number. 1.90 +#FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION).$(SO) 1.91 +FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO) 1.92 +MIDDLE_SO_TARGET=$(FINAL_SO_TARGET) 1.93 + 1.94 +IMPORT_LIB = $(subst cyg,lib,$(FINAL_SO_TARGET)).$(A)#M# 1.95 +MIDDLE_IMPORT_LIB = $(subst cyg,lib,$(basename $(SO_TARGET)))$(SO_TARGET_VERSION_MAJOR).$(SO).$(A)#M# 1.96 +FINAL_IMPORT_LIB = $(IMPORT_LIB)#M# 1.97 + 1.98 +# The following is for Makefile.inc's use. 1.99 +ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR) 1.100 + 1.101 +## Versioned libraries rules 1.102 +#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO) 1.103 +# $(RM) $@ && cp ${<F} $@ 1.104 +%.$(SO): %$(SO_TARGET_VERSION_MAJOR).$(SO) 1.105 + $(RM) $(subst cyg,lib,$@).$(A) && ln -s $(subst cyg,lib,${<F}).$(A) $(subst cyg,lib,$@).$(A) 1.106 + 1.107 +## Install libraries as executable 1.108 +INSTALL-L=$(INSTALL_PROGRAM) 1.109 + 1.110 +## Bind internal references 1.111 + 1.112 +# LDflags that pkgdata will use 1.113 +BIR_LDFLAGS= -Wl,-Bsymbolic 1.114 + 1.115 +# Dependencies [i.e. map files] for the final library 1.116 +BIR_DEPS= 1.117 + 1.118 +# Environment variable to set a runtime search path 1.119 +LDLIBRARYPATH_ENVVAR = PATH 1.120 + 1.121 +# The type of assembly to write for generating an object file 1.122 +GENCCODE_ASSEMBLY=-a gcc-cygwin 1.123 + 1.124 +# put this here again so it gets cyguc... 1.125 + 1.126 +#SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}uc${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}" 1.127 + 1.128 +# for icu-config 1.129 + 1.130 +#SH### copied from Makefile.inc 1.131 +#SH#ICULIBS_COMMON="-l${LIBICU}uc${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 1.132 +#SH#ICULIBS_DATA="-l${LIBICU}${DATA_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 1.133 +#SH#ICULIBS_I18N="-l${LIBICU}${I18N_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 1.134 +#SH#ICULIBS_TOOLUTIL="-l${LIBICU}tu${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 1.135 +#SH#ICULIBS_CTESTFW="-l${LIBICU}ctestfw${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 1.136 +#SH#ICULIBS_ICUIO="-l${LIBICU}io${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 1.137 +#SH#ICULIBS_OBSOLETE="-l${LIBICU}obsolete${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 1.138 +#SH#ICULIBS_LAYOUT="-l${LIBICU}le${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 1.139 +#SH#ICULIBS_LAYOUTEX="-l${LIBICU}lx${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 1.140 +#SH#ICULIBS_BASE="${LIBS} -L${libdir}" 1.141 +#SH#ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA}" 1.142 + 1.143 +## End Cygwin-specific setup 1.144 +