ICU-208 changes for versioned libraries.

X-SVN-Rev: 2434
This commit is contained in:
Yves Arrouye 2000-09-15 05:07:43 +00:00
parent 2475b8db79
commit a35fcf29e1
20 changed files with 138 additions and 31 deletions

View File

@ -28,6 +28,7 @@ pkgincludedir = $(includedir)/@PACKAGE@
## Build directory information
top_builddir = .
subdir = .
## Install program information
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -44,7 +45,7 @@ AUTOCONF = @AUTOCONF@
@host_frag@
## Pacakge information
## Package information
PACKAGE = @PACKAGE@
VERSION = @VERSION@
UNICODE_VERSION = @UNICODE_VERSION@

View File

@ -37,6 +37,8 @@ INSTALL_DATA = @INSTALL_DATA@
CC = @CC@
CXX = @CXX@
PACKAGE = @PACKAGE@
SO_TARGET_VERSION = @VERSION@
SO_TARGET_VERSION_MAJOR = @VERSION_MAJOR@
VERSION = @VERSION@
## Platform-specific setup
@ -50,10 +52,11 @@ subdir = common
CLEANFILES = *~
## Target information
TARGET = $(LIBICU)uc.$(SO)
SO_TARGET = $(LIBICU)uc.$(SO)
ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET)
DEFS = @DEFS@
CPPFLAGS = @CPPFLAGS@ -I. -I$(srcdir) -DICU_DATA_DIR=\"$(pkgdatadir)/$(VERSION)/\" -DUDATA_SO_SUFFIX=\".$(SO)\" -DU_COMMON_LIBNAME=\"$(TARGET)\"
CPPFLAGS = @CPPFLAGS@ -I. -I$(srcdir) -DICU_DATA_DIR=\"$(pkgdatadir)/$(VERSION)/\" -DUDATA_SO_SUFFIX=\".$(SO)\" -DU_COMMON_LIBNAME=\"$(FINAL_SO_TARGET)\"
CFLAGS = @CFLAGS@
CXXFLAGS = @CXXFLAGS@
LDFLAGS = @LDFLAGS@
@ -98,13 +101,18 @@ distclean : distclean-local
dist: dist-local
check: all check-local
all-local: $(TARGET)
all-local: $(ALL_SO_TARGETS)
install-local: install-headers install-library
install-library: all-local
$(mkinstalldirs) $(DESTDIR)$(libdir)
$(INSTALL-S) $(TARGET) $(DESTDIR)$(libdir)/$(TARGET)
$(INSTALL-S) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)/$(FINAL_SO_TARGET)
$(INSTALL-S) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)/$(FINAL_SO_TARGET)
ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
cd $(DESTDIR)$(libdir) && $(RM) $(MIDDLE_SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(MIDDLE_SO_TARGET)
cd $(DESTDIR)$(libdir) && $(RM) $(SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(SO_TARGET)
endif
install-headers:
$(mkinstalldirs) $(DESTDIR)$(includedir)/unicode
@ -117,7 +125,7 @@ dist-local:
clean-local:
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
$(RMV) $(OBJECTS) $(TARGET)
$(RMV) $(OBJECTS) $(ALL_SO_TARGETS)
distclean-local: clean-local
$(RMV) Makefile $(DEPS)
@ -132,8 +140,8 @@ unicode/platform.h: $(srcdir)/unicode/platform.h.in $(top_builddir)/config.statu
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(TARGET) : $(OBJECTS)
$(SHLIB.cc) -o $@ $^ $(LIBS)
$(FINAL_SO_TARGET): $(OBJECTS)
$(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(LIBS)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)

View File

@ -2,7 +2,7 @@
#******************************************************************************
# Copyright (C) 1999, International Business Machines
# Corporation and others. All Rights Reserved.
# $Revision: 1.4 $
# $Revision: 1.5 $
#******************************************************************************
# This Makefile is designed to be included into projects which make use
# of the ICU.
@ -33,6 +33,8 @@ oldincludedir=@oldincludedir@
infodir=@infodir@
mandir=@mandir@
PACKAGE=@PACKAGE@
VERSION_MAJOR=@VERSION_MAJOR@
VERSION_MINOR=@VERSION_MINOR@
VERSION=@VERSION@
CC=@CC@
CXX=@CXX@

View File

@ -26,6 +26,9 @@ SHLIB.cc= makeC++SharedLib_r -p 5000
LD_RPATH= -I
LD_RPATH_PRE=
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names

View File

@ -26,6 +26,9 @@ SHLIB.cc= xlC_r -qmkshrobj
LD_RPATH= -I
LD_RPATH_PRE=
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names

View File

@ -24,6 +24,10 @@ SHLIB.cc= $(CXX) -dynamiclib -dynamic $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
LD_RPATH= -L
LD_RPATH_PRE=
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names
LIBICU = libicu-

View File

@ -23,6 +23,10 @@ SHLIB.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -shared
LD_RPATH=
LD_RPATH_PRE= -Wl,-rpath,
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names
LIBICU = libicu-

View File

@ -26,6 +26,10 @@ SHLIB.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -b
LD_RPATH= -Wl,+b,
LD_RPATH_PRE=
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names
LIBICU = libicu-

View File

@ -33,6 +33,10 @@ SHLIB.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -b
LD_RPATH= -Wl,+b,
LD_RPATH_PRE=
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names
LIBICU = libicu-

View File

@ -27,12 +27,14 @@ LINK.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
SHLIB.c= $(CC) -shared $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
SHLIB.cc= $(CXX) -shared $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
## Compiler switch to embed a runtime search path
LD_RPATH= -I
LD_RPATH_PRE=
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names
LIBICU = libicu-

View File

@ -23,6 +23,13 @@ SHLIB.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -shared
LD_RPATH=
LD_RPATH_PRE= -Wl,-rpath,
## Compiler switch to embed a library name
LD_SONAME = -Wl,-soname -Wl,$(MIDDLE_SO_TARGET)
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
MIDDLE_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR)
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names
LIBICU = libicu-
@ -64,4 +71,11 @@ LIBUSTDIO= -L$(top_builddir)/extra/ustdio -lustdio
| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
[ -s $@ ] || rm -f $@'
## Versioned libraries rules
%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
$(RM) $@ && ln -s $< $@
%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
$(RM) $@ && ln -s $*.$(SO).$(SO_TARGET_VERSION) $@
## End Linux-specific setup

View File

@ -55,6 +55,10 @@ SHLIB.cc= $(LINK.cc) -Wl,dll
## Compiler switch to embed a runtime search path
LD_RPATH= -I
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names
LIBICU = libicu-

View File

@ -26,6 +26,10 @@ ARFLAGS = -cuv
LD_RPATH= -I
LD_RPATH_PRE= -I
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names [Note - no hyphen for 400]
LIBICU = libicu

View File

@ -24,6 +24,10 @@ SHLIB.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -DPTX -G
LD_RPATH= -R
LD_RPATH_PRE=
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names
LIBICU = libicu-

View File

@ -25,6 +25,10 @@ SHLIB.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -G
LD_RPATH= -R
LD_RPATH_PRE=
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names
LIBICU = libicu-

View File

@ -23,6 +23,17 @@ SHLIB.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -G
LD_RPATH= -R
LD_RPATH_PRE=
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
## Compiler switch to embed a library name
LD_SONAME = -h $(MIDDLE_SO_TARGET)
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
MIDDLE_SO_TARGET = $(SO_TARGET)
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names
LIBICU = libicu-
@ -64,4 +75,11 @@ LIBUSTDIO= -L$(top_builddir)/extra/ustdio -lustdio
| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
[ -s $@ ] || rm -f $@'
## Versioned libraries rules
%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
$(RM) $@ && ln -s $< $@
%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
$(RM) $@ && ln -s $*.$(SO).$(SO_TARGET_VERSION) $@
## End Solaris-specific setup

View File

@ -24,6 +24,10 @@ SHLIB.cc= $(CXX) -xtarget=ultra -xarch=v9 $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFL
LD_RPATH= -R
LD_RPATH_PRE=
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
### How ICU libraries are named... ex. $(LIBICU)uc$(SO)
## Prefix for the ICU library names
LIBICU = libicu-

View File

@ -38,6 +38,8 @@ CC = @CC@
CXX = @CXX@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
SO_TARGET_VERSION = @VERSION@
SO_TARGET_VERSION_MAJOR = @VERSION_MAJOR@
## Platform-specific setup
@host_frag@
@ -50,7 +52,8 @@ subdir = extra/ustdio
CLEANFILES = *~
## Target information
TARGET = libustdio.$(SO)
SO_TARGET = libustdio.$(SO)
ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET)
DEFS = @DEFS@
CPPFLAGS = @CPPFLAGS@ -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n
@ -82,13 +85,17 @@ distclean : distclean-local
dist: dist-local
check: all check-local
all-local: $(TARGET)
all-local: $(ALL_SO_TARGETS)
install-local: all-local install-headers install-library
install-library: all-local
$(mkinstalldirs) $(DESTDIR)$(libdir)
$(INSTALL-S) $(TARGET) $(DESTDIR)$(libdir)/$(TARGET)
$(INSTALL-S) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)/$(FINAL_SO_TARGET)
$(INSTALL-S) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)/$(FINAL_SO_TARGET)
ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
cd $(DESTDIR)$(libdir) && $(RM) $(MIDDLE_SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(MIDDLE_SO_TARGET)
cd $(DESTDIR)$(libdir) && $(RM) $(SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(SO_TARGET)
endif
install-headers:
$(mkinstalldirs) $(DESTDIR)$(includedir)/unicode
@ -102,7 +109,7 @@ dist-local:
clean-local:
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
$(RMV) $(OBJECTS) $(TARGET)
$(RMV) $(OBJECTS) $(ALL_SO_TARGETS)
distclean-local: clean-local
$(RMV) Makefile $(DEPS)
@ -113,8 +120,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(TARGET) : $(OBJECTS)
$(SHLIB.c) -o $@ $^ $(LIBS)
$(FINAL_SO_TARGET): $(OBJECTS)
$(SHLIB.c) $(LD_SONAME) -o $@ $^ $(LIBS)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)

View File

@ -32,6 +32,8 @@ CC = @CC@
CXX = @CXX@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
SO_TARGET_VERSION = @VERSION@
SO_TARGET_VERSION_MAJOR = @VERSION_MAJOR@
## Platform-specific setup
@host_frag@
@ -44,7 +46,8 @@ subdir = i18n
CLEANFILES = *~
## Target information
TARGET = $(LIBICU)i18n.$(SO)
SO_TARGET = $(LIBICU)i18n.$(SO)
ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET)
DEFS = @DEFS@
CPPFLAGS = @CPPFLAGS@ -I$(srcdir) -I$(top_builddir)/common -I$(top_srcdir)/common
@ -85,13 +88,17 @@ distclean : distclean-local
dist: dist-local
check: all check-local
all-local: $(TARGET)
all-local: $(ALL_SO_TARGETS)
install-local: install-headers install-library
install-library: all-local
$(mkinstalldirs) $(DESTDIR)$(libdir)
$(INSTALL-S) $(TARGET) $(DESTDIR)$(libdir)/$(TARGET)
$(INSTALL-S) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)/$(FINAL_SO_TARGET)
ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
cd $(DESTDIR)$(libdir) && $(RM) $(MIDDLE_SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(MIDDLE_SO_TARGET)
cd $(DESTDIR)$(libdir) && $(RM) $(SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(SO_TARGET)
endif
install-headers:
$(mkinstalldirs) $(DESTDIR)$(includedir)/unicode
@ -104,7 +111,7 @@ dist-local:
clean-local:
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
$(RMV) $(OBJECTS) $(TARGET)
$(RMV) $(OBJECTS) $(ALL_SO_TARGETS)
distclean-local: clean-local
$(RMV) Makefile $(DEPS)
@ -115,8 +122,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(TARGET) : $(OBJECTS)
$(SHLIB.cc) -o $@ $^ $(LIBS)
$(FINAL_SO_TARGET): $(OBJECTS)
$(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(LIBS)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)

View File

@ -32,6 +32,8 @@ CC = @CC@
CXX = @CXX@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
SO_TARGET_VERSION = @VERSION@
SO_TARGET_VERSION_MAJOR = @VERSION_MAJOR@
## Platform-specific setup
@host_frag@
@ -44,7 +46,8 @@ subdir = tools/toolutil
CLEANFILES = *~
## Target information
TARGET = $(LIBICU)toolutil.$(SO)
SO_TARGET = $(LIBICU)toolutil.$(SO)
ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET)
DEFS = @DEFS@
CPPFLAGS = @CPPFLAGS@ -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/ctestfw
@ -72,20 +75,23 @@ distclean : distclean-local
dist: dist-local
check: all check-local
all-local: $(TARGET)
all-local: $(ALL_SO_TARGETS)
install-local: install-library
install-library: all-local
$(mkinstalldirs) $(DESTDIR)$(libdir)
$(INSTALL-S) $(TARGET) $(DESTDIR)$(libdir)/$(TARGET)
$(INSTALL-S) $(TARGET_FULLNAME) $(DESTDIR)$(libdir)/$(TARGET_FULLNAME)
ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
cd $(DESTDIR)$(libdir) && $(RM) $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR) && ln -s $(SO_TARGET) $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR)
cd $(DESTDIR)$(libdir) && $(RM) $(SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(SO_TARGET)
endif
dist-local:
clean-local:
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
$(RMV) $(OBJECTS) $(TARGET)
$(RMV) $(OBJECTS) $(ALL_SO_TARGETS)
distclean-local: clean-local
$(RMV) Makefile $(DEPS)
@ -96,8 +102,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(TARGET) : $(OBJECTS)
$(SHLIB.cc) -o $@ $^ $(LIBS)
$(FINAL_SO_TARGET): $(OBJECTS)
$(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(LIBS)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)