ICU-3682 Make it easier for os/400 and Cygwin to do proper library versioning with usable names.

X-SVN-Rev: 15007
This commit is contained in:
George Rhoten 2004-04-19 17:32:30 +00:00
parent 9f3b055b1e
commit d25bc2ab9b
11 changed files with 63 additions and 36 deletions

View File

@ -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)

View File

@ -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 .)

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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)