diff --git a/icu4c/source/common/Makefile.in b/icu4c/source/common/Makefile.in index 22943e46c51..0ece85780d7 100644 --- a/icu4c/source/common/Makefile.in +++ b/icu4c/source/common/Makefile.in @@ -24,7 +24,7 @@ CLEANFILES = *~ $(DEPS) $(IMPORT_LIB) $(MIDDLE_IMPORT_LIB) $(FINAL_IMPORT_LIB) ## Target information -TARGET_STUBNAME=uc +TARGET_STUBNAME=$(COMMON_STUBNAME) ifneq ($(ENABLE_STATIC),) TARGET = $(LIBDIR)/$(LIBSICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(A) diff --git a/icu4c/source/config/mh-cygwin-msvc b/icu4c/source/config/mh-cygwin-msvc index abc671c3d60..dbb7c6e9904 100644 --- a/icu4c/source/config/mh-cygwin-msvc +++ b/icu4c/source/config/mh-cygwin-msvc @@ -1,4 +1,4 @@ -## -*-makefile-*- + ## Cygwin-specific setup ## Copyright (c) 2001-2004, International Business Machines Corporation and ## others. All Rights Reserved. @@ -71,15 +71,20 @@ IMPORT_LIB_EXT = .lib LIBPREFIX= DEFAULT_LIBS = advapi32.lib +# Change the stubnames so that poorly working FAT disks and installation programs can work. +# This is also for backwards compatibility. +DATA_STUBNAME = dt +I18N_STUBNAME = in + ## Link commands to link to ICU libs -LIBICUDT= $(LIBDIR)/$(LIBICU)data$(ICULIBSUFFIX).lib -LIBICUUC= $(LIBDIR)/$(LIBICU)uc$(ICULIBSUFFIX).lib -LIBICUI18N= $(LIBDIR)/$(LIBICU)i18n$(ICULIBSUFFIX).lib -LIBICULE= $(LIBDIR)/$(LIBICU)le$(ICULIBSUFFIX).lib -LIBICULX= $(LIBDIR)/$(LIBICU)lx$(ICULIBSUFFIX).lib -LIBCTESTFW= $(top_builddir)/tools/ctestfw/$(LIBICU)ctestfw$(ICULIBSUFFIX).lib -LIBICUTOOLUTIL= $(LIBDIR)/$(LIBICU)tu$(ICULIBSUFFIX).lib -LIBICUIO= $(LIBDIR)/$(LIBICU)io$(ICULIBSUFFIX).lib +LIBICUDT= $(LIBDIR)/$(LIBICU)$(DATA_STUBNAME)$(ICULIBSUFFIX).lib +LIBICUUC= $(LIBDIR)/$(LIBICU)$(COMMON_STUBNAME)$(ICULIBSUFFIX).lib +LIBICUI18N= $(LIBDIR)/$(LIBICU)$(I18N_STUBNAME)$(ICULIBSUFFIX).lib +LIBICULE= $(LIBDIR)/$(LIBICU)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX).lib +LIBICULX= $(LIBDIR)/$(LIBICU)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX).lib +LIBCTESTFW= $(top_builddir)/tools/ctestfw/$(LIBICU)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX).lib +LIBICUTOOLUTIL= $(LIBDIR)/$(LIBICU)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX).lib +LIBICUIO= $(LIBDIR)/$(LIBICU)$(IO_STUBNAME)$(ICULIBSUFFIX).lib # Current full path directory. CURR_FULL_DIR=$(shell cygpath -wma .) diff --git a/icu4c/source/config/mh-os400 b/icu4c/source/config/mh-os400 index 4068a7662f6..52d371e544b 100644 --- a/icu4c/source/config/mh-os400 +++ b/icu4c/source/config/mh-os400 @@ -36,6 +36,12 @@ POST_DATA_BUILD = os400-data-rebind FINAL_SO_TARGET = $(SO_TARGET) MIDDLE_SO_TARGET = +# this one is for icudefs.mk's use +SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR) + +# this one is for the individual make files and linking +ICULIBSUFFIX = $(SO_TARGET_VERSION_SUFFIX) + ## object suffix TO= o @@ -50,15 +56,20 @@ RMV = del INSTALL-S = cp -fph INSTALL-L = $(INSTALL-S) +# Stub name overrides for iSeries +DATA_STUBNAME = dt +I18N_STUBNAME = in +CTESTFW_STUBNAME = tf + ## Link commands to link to ICU service programs -LIBICUDT = $(LIBDIR)/$(LIBICU)data$(ICULIBSUFFIX).$(SO) -LIBICUUC = $(LIBDIR)/$(LIBICU)uc$(ICULIBSUFFIX).$(SO) -LIBICUI18N = $(LIBDIR)/$(LIBICU)i18n$(ICULIBSUFFIX).$(SO) -LIBICULE = $(LIBDIR)/$(LIBICU)le$(ICULIBSUFFIX).$(SO) -LIBICULX = $(LIBDIR)/$(LIBICU)lx$(ICULIBSUFFIX).$(SO) -LIBCTESTFW = $(top_builddir)/tools/ctestfw/$(LIBICU)ctestfw$(ICULIBSUFFIX).$(SO) -LIBICUTOOLUTIL = $(LIBDIR)/$(LIBICU)tu$(ICULIBSUFFIX).$(SO) -LIBICUIO= $(LIBDIR)/$(LIBICU)io$(ICULIBSUFFIX).$(SO) +LIBICUDT = $(LIBDIR)/$(LIBICU)$(DATA_STUBNAME)$(ICULIBSUFFIX).$(SO) +LIBICUUC = $(LIBDIR)/$(LIBICU)$(COMMON_STUBNAME)$(ICULIBSUFFIX).$(SO) +LIBICUI18N = $(LIBDIR)/$(LIBICU)$(I18N_STUBNAME)$(ICULIBSUFFIX).$(SO) +LIBICULE = $(LIBDIR)/$(LIBICU)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX).$(SO) +LIBICULX = $(LIBDIR)/$(LIBICU)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX).$(SO) +LIBCTESTFW = $(top_builddir)/tools/ctestfw/$(LIBICU)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX).$(SO) +LIBICUTOOLUTIL = $(LIBDIR)/$(LIBICU)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX).$(SO) +LIBICUIO= $(LIBDIR)/$(LIBICU)$(IO_STUBNAME)$(ICULIBSUFFIX).$(SO) ## Special OS400 rules diff --git a/icu4c/source/extra/ustdio/Makefile.in b/icu4c/source/extra/ustdio/Makefile.in index efbfd9a6a9a..32fdf84451f 100644 --- a/icu4c/source/extra/ustdio/Makefile.in +++ b/icu4c/source/extra/ustdio/Makefile.in @@ -24,7 +24,7 @@ CLEANFILES = *~ $(DEPS) $(IMPORT_LIB) $(MIDDLE_IMPORT_LIB) $(FINAL_IMPORT_LIB) ## Target information -TARGET_STUBNAME=io +TARGET_STUBNAME=$(IO_STUBNAME) ifneq ($(ENABLE_STATIC),) TARGET = $(LIBDIR)/$(LIBSICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(A) diff --git a/icu4c/source/i18n/Makefile.in b/icu4c/source/i18n/Makefile.in index afc52807f36..ee625d96315 100644 --- a/icu4c/source/i18n/Makefile.in +++ b/icu4c/source/i18n/Makefile.in @@ -25,7 +25,7 @@ CLEANFILES = *~ $(DEPS) $(IMPORT_LIB) $(MIDDLE_IMPORT_LIB) $(FINAL_IMPORT_LIB) ## Target information -TARGET_STUBNAME=i18n +TARGET_STUBNAME=$(I18N_STUBNAME) ifneq ($(ENABLE_STATIC),) TARGET = $(LIBDIR)/$(LIBSICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(A) diff --git a/icu4c/source/icudefs.mk.in b/icu4c/source/icudefs.mk.in index 42f75b40d32..354af2e1630 100644 --- a/icu4c/source/icudefs.mk.in +++ b/icu4c/source/icudefs.mk.in @@ -54,10 +54,10 @@ ICUPKGDATA_DIR = $(ICUDATA_DIR) else ifeq ($(PKGDATA_MODE),dll) ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME) -PKGDATA_LIBNAME = -L $(ICUPREFIX)data$(ICULIBSUFFIX) +PKGDATA_LIBNAME = -L $(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX) ICUPKGDATA_DIR = $(libdir) else -ICUDATA_NAME = $(ICUPREFIX)data +ICUDATA_NAME = $(ICUPREFIX)$(DATA_STUBNAME) ICUPKGDATA_DIR = $(ICUDATA_DIR) endif endif @@ -179,15 +179,26 @@ CURR_FULL_DIR=$(shell pwd) # Current full path directory for use in source code in a -D compiler option. CURR_SRCCODE_FULL_DIR=$(shell pwd) +# Name flexibility for the library naming scheme. Any modifications should +# be made in the mh- file for the specific platform. +DATA_STUBNAME = data +COMMON_STUBNAME = uc +I18N_STUBNAME = i18n +LAYOUT_STUBNAME = le +LAYOUTEX_STUBNAME = lx +IO_STUBNAME = io +TOOLUTIL_STUBNAME = tu +CTESTFW_STUBNAME = test + # Link commands to link to ICU libs -LIBICUDT= -L$(LIBDIR) -l$(ICUPREFIX)data$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) -LIBICUUC= -L$(LIBDIR) -l$(ICUPREFIX)uc$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) $(LIBICUDT) -LIBICUI18N= -L$(LIBDIR) -l$(ICUPREFIX)i18n$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) -LIBICULE= -L$(LIBDIR) -l$(ICUPREFIX)le$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) -LIBICULX= -L$(LIBDIR) -l$(ICUPREFIX)lx$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) -LIBCTESTFW= -L$(top_builddir)/tools/ctestfw -l$(ICUPREFIX)ctestfw$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) -LIBICUTOOLUTIL= -L$(LIBDIR) -l$(ICUPREFIX)tu$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) -LIBICUIO= -L$(LIBDIR) -l$(ICUPREFIX)io$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) +LIBICUDT= -L$(LIBDIR) -l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) +LIBICUUC= -L$(LIBDIR) -l$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) +LIBICUI18N= -L$(LIBDIR) -l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) +LIBICULE= -L$(LIBDIR) -l$(ICUPREFIX)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) +LIBICULX= -L$(LIBDIR) -l$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) +LIBCTESTFW= -L$(top_builddir)/tools/ctestfw -l$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) +LIBICUTOOLUTIL= -L$(LIBDIR) -l$(ICUPREFIX)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) +LIBICUIO= -L$(LIBDIR) -l$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) # Invoke, set library path for all ICU libraries. INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(top_builddir)/data/out:$(LIBDIR):$(top_builddir)/tools/ctestfw:$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER) diff --git a/icu4c/source/layout/Makefile.in b/icu4c/source/layout/Makefile.in index b522b66426f..e6d34f854f5 100644 --- a/icu4c/source/layout/Makefile.in +++ b/icu4c/source/layout/Makefile.in @@ -18,7 +18,7 @@ CLEANFILES = *~ $(DEPS) $(IMPORT_LIB) $(MIDDLE_IMPORT_LIB) $(FINAL_IMPORT_LIB) ## Target information -TARGET_STUBNAME=le +TARGET_STUBNAME=$(LAYOUT_STUBNAME) ifneq ($(ENABLE_STATIC),) TARGET = $(LIBDIR)/$(LIBSICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(A) diff --git a/icu4c/source/layoutex/Makefile.in b/icu4c/source/layoutex/Makefile.in index be75e227d96..ed96cd7cb5f 100644 --- a/icu4c/source/layoutex/Makefile.in +++ b/icu4c/source/layoutex/Makefile.in @@ -18,7 +18,7 @@ CLEANFILES = *~ $(DEPS) $(IMPORT_LIB) $(MIDDLE_IMPORT_LIB) $(FINAL_IMPORT_LIB) ## Target information -TARGET_STUBNAME=lx +TARGET_STUBNAME=$(LAYOUTEX_STUBNAME) ifneq ($(ENABLE_STATIC),) TARGET = $(LIBDIR)/$(LIBSICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(A) diff --git a/icu4c/source/stubdata/Makefile.in b/icu4c/source/stubdata/Makefile.in index ab0a9fba907..d571439b25e 100644 --- a/icu4c/source/stubdata/Makefile.in +++ b/icu4c/source/stubdata/Makefile.in @@ -24,7 +24,7 @@ CLEANFILES = *~ $(DEPS) $(IMPORT_LIB) $(MIDDLE_IMPORT_LIB) $(FINAL_IMPORT_LIB) ## Target information -TARGET_STUBNAME=data +TARGET_STUBNAME=$(DATA_STUBNAME) ifneq ($(ENABLE_STATIC),) TARGET = $(LIBDIR)/$(LIBSICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(A) diff --git a/icu4c/source/tools/ctestfw/Makefile.in b/icu4c/source/tools/ctestfw/Makefile.in index 3a454c246be..de35e1c1afb 100644 --- a/icu4c/source/tools/ctestfw/Makefile.in +++ b/icu4c/source/tools/ctestfw/Makefile.in @@ -20,7 +20,7 @@ CLEANFILES = *~ $(DEPS) $(IMPORT_LIB) $(MIDDLE_IMPORT_LIB) $(FINAL_IMPORT_LIB) ## Target information ifneq ($(ENABLE_STATIC),) -TARGET = $(LIBSICU)ctestfw$(ICULIBSUFFIX).a +TARGET = $(LIBSICU)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX).a endif CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(srcdir) @@ -28,7 +28,7 @@ DEFS += -DT_CTEST_IMPLEMENTATION ifneq ($(ENABLE_SHARED),) -SO_TARGET = $(LIBICU)ctestfw$(ICULIBSUFFIX).$(SO) +SO_TARGET = $(LIBICU)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX).$(SO) ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET) endif diff --git a/icu4c/source/tools/toolutil/Makefile.in b/icu4c/source/tools/toolutil/Makefile.in index 7cc6e7e8631..e094d1e3516 100644 --- a/icu4c/source/tools/toolutil/Makefile.in +++ b/icu4c/source/tools/toolutil/Makefile.in @@ -20,7 +20,7 @@ CLEANFILES = *~ $(DEPS) $(IMPORT_LIB) $(MIDDLE_IMPORT_LIB) $(FINAL_IMPORT_LIB) ## Target information -TARGET_STUBNAME=tu +TARGET_STUBNAME=$(TOOLUTIL_STUBNAME) ifneq ($(ENABLE_STATIC),) TARGET = $(LIBDIR)/$(LIBSICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(A)