intl/icu/source/config/mh-cygwin

changeset 0
6474c204b198
     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 +

mercurial