ICU-1632 versioning of libraries for Darwin.

do not set SO_MIDDLE_NAME in Makefile!

X-SVN-Rev: 7528
This commit is contained in:
Yves Arrouye 2002-01-30 02:10:28 +00:00
parent 7c7f7c70d8
commit 5cabc9f134
2 changed files with 15 additions and 18 deletions
icu4c/source
config
stubdata

View file

@ -4,7 +4,7 @@
## Copyright (c) 1999-2002, International Business Machines Corporation and
## others. All Rights Reserved.
##
## $Id: mh-darwin,v 1.20 2002/01/25 06:28:45 yves-oss Exp $
## $Id: mh-darwin,v 1.21 2002/01/30 02:10:27 yves-oss Exp $
## Flags for position independent code
SHAREDLIBCFLAGS = -dynamic
@ -20,25 +20,25 @@ COMPILE.c= $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) -fno-common -c
COMPILE.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) -fno-common -c
## Commands to make a shared library
SHLIB.c= $(CC) -dynamiclib -dynamic $(DEFS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -install_name $(DESTDIR)$(libdir)/$(TARGET)
SHLIB.cc= $(CXX) -dynamiclib -dynamic $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -install_name $(DESTDIR)$(libdir)/$(TARGET)
SHLIB.c= $(CC) -dynamiclib -dynamic $(DEFS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -install_name $(DESTDIR)$(libdir)/$(FINAL_SO_TARGET)
SHLIB.cc= $(CXX) -dynamiclib -dynamic $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -install_name $(DESTDIR)$(libdir)/$(FINAL_SO_TARGET)
## Compiler switch to embed a runtime search path
LD_RPATH= -L
LD_RPATH=
LD_RPATH_PRE=
## Environment variable to set a runtime search path
LDLIBRARYPATH_ENVVAR = DYLD_LIBRARY_PATH
## Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET)
MIDDLE_SO_TARGET =
## Shared object suffix
SO= dylib
## Non-shared intermediate object suffix
STATIC_O = ao
## Versioned target for a shared library.
FINAL_SO_TARGET = $(basename $(SO_TARGET)).$(SO_TARGET_VERSION).$(SO)
MIDDLE_SO_TARGET = $(basename $(SO_TARGET)).$(SO)
## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
$(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
@ -66,4 +66,11 @@ STATIC_O = ao
| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
[ -s $@ ] || rm -f $@'
## Versioned libraries rules
%.$(SO_TARGET_VERSION_MAJOR).$(SO): %.$(SO_TARGET_VERSION).$(SO)
$(RM) $@ && ln -s ${<F} $@
%.$(SO): %.$(SO_TARGET_VERSION_MAJOR).$(SO)
$(RM) $@ && ln -s ${*F}.$(SO_TARGET_VERSION).$(SO) $@
## End Darwin-specific setup

View file

@ -37,18 +37,8 @@ TARGET = libicudata.a
RANLIB = @RANLIB@
endif
#
# note: the variable $MIDDLE_SO_TARGET is special, in that it also appears
# in the definition of LD_SONAME in the config/mh<platform> files, which
# ends up defining the actual name of the library to the linker.
#
# Also, data probably wants to have three alias names, in the same
# way that the code libraries do. Doing that would require changing
# the stub data and the real data at the same time.
#
ifneq ($(ENABLE_SHARED),)
SO_TARGET = libicudata.$(SO)
MIDDLE_SO_TARGET = libicudata$(BATCH_STUB_SUFFIX).$(SO).$(SO_TARGET_VERSION_MAJOR)
ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET) $(BATCH_STUB_TARGET)
endif