mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-07 06:25:30 +00:00
ICU-1596 treat the ICU data library as any other regular library,
giving it a proper name and versioning scheme, and using rpath as needed too. X-SVN-Rev: 7366
This commit is contained in:
parent
d8facfd734
commit
42b2966822
6 changed files with 21 additions and 23 deletions
|
@ -142,8 +142,7 @@ binary-arch: build install
|
|||
#
|
||||
$(RM) debian/tmp/usr/lib/libicuctestfw.*
|
||||
dh_movefiles -plibicu$(major) \
|
||||
usr/lib/*.so.* \
|
||||
usr/lib/libicudt*
|
||||
usr/lib/*.so.*
|
||||
mkdir debian/libicu$(major)/usr/lib/icu
|
||||
#
|
||||
# build icu package by moving files from icu-dev
|
||||
|
|
|
@ -28,7 +28,7 @@ include @platform_make_fragment@
|
|||
|
||||
## Files to remove for 'make clean'
|
||||
ifeq ($(strip $(PKGDATA_MODE)), dll)
|
||||
CLEANFILES = *~ $(SPECIALTESTDATA) $(LIB_ICUDATA_NAME).$(SO) libicudata.$(SO)
|
||||
CLEANFILES = *~ $(SPECIALTESTDATA) $(LIB_ICUDATA_NAME).$(SO)
|
||||
else
|
||||
CLEANFILES = *~ $(SPECIALTESTDATA)
|
||||
endif
|
||||
|
@ -45,7 +45,7 @@ top_builddir_from_tmp = $(patsubst ..%,../..%,$(top_builddir))
|
|||
INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(top_builddir_from_tmp)/common:$(top_builddir_from_tmp)/tools/toolutil:$(top_builddir_from_tmp)/stubdata:$$$(LDLIBRARYPATH_ENVVAR)
|
||||
CURDIR=$(shell pwd)
|
||||
PKGDATA = $(top_builddir_from_tmp)/tools/pkgdata/pkgdata -O $(top_builddir_from_tmp)/tools/pkgdata/icupkg.inc -d $(CURDIR)
|
||||
|
||||
PKGDATA_VERSIONING = -V $(SO_TARGET_VERSION)
|
||||
|
||||
## List of phony targets
|
||||
.PHONY : all all-local all-recursive install install-local install-udata install-udata-files install-udata-dlls install-convrtrstxt \
|
||||
|
@ -110,27 +110,21 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|||
|
||||
packagedata: build/icudata.lst $(top_builddir)/tools/pkgdata/icupkg.inc
|
||||
cd build ; \
|
||||
$(INVOKE) $(PKGDATA) -e $(ICUDATA_BASENAME_VERSION) -s . -T . -p $(ICUDATA_NAME) -m $(PKGDATA_MODE) icudata.lst
|
||||
ifeq ($(strip $(PKGDATA_MODE)), dll)
|
||||
$(RM) libicudata.$(SO) && ln -s $(LIB_ICUDATA_NAME).$(SO) libicudata.$(SO) ;
|
||||
endif
|
||||
$(INVOKE) $(PKGDATA) -e $(ICUDATA_BASENAME_VERSION) -s . -T . -p $(ICUDATA_NAME) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) icudata.lst
|
||||
|
||||
packagetest: $(TESTDATAOBJDIR)/testdata.lst $(top_builddir)/tools/pkgdata/icupkg.inc
|
||||
cd $(TESTDATAOBJDIR) ; $(INVOKE) $(PKGDATA) -T . -s . -p testdata -m common testdata.lst
|
||||
|
||||
cleanpackage:
|
||||
@echo Cleaning up packaged data..
|
||||
@-cd build ; $(INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) -s . -T . -p $(ICUDATA_NAME) icudata.lst --clean 2> /dev/null
|
||||
@-cd build ; $(INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -s . -T . -p $(ICUDATA_NAME) icudata.lst --clean 2> /dev/null
|
||||
@-cd $(TESTDATAOBJDIR) ; $(INVOKE) $(PKGDATA) -m common -T . -s . -p testdata testdata.lst --clean 2> /dev/null
|
||||
$(RMV) $(ICUDATA_NAME).* build/icudata.lst build/*.mak
|
||||
|
||||
## Install ICU data. Make a convenience link 'icudata' library if it's a library mode.
|
||||
install-local: build/icudata.lst $(top_builddir)/tools/pkgdata/icupkg.inc install-convrtrstxt $(OS390INSTALL)
|
||||
$(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(ICUPKGDATA_DIR)
|
||||
cd build ; $(INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) -e $(ICUDATA_BASENAME_VERSION) -T . -s . -p $(ICUDATA_NAME) icudata.lst -I $(DESTDIR)$(ICUPKGDATA_DIR)
|
||||
ifeq ($(strip $(PKGDATA_MODE)),dll)
|
||||
cd $(DESTDIR)$(ICUPKGDATA_DIR); $(RM) libicudata.$(SO) && ln -s $(LIB_ICUDATA_NAME).$(SO) libicudata.$(SO)
|
||||
endif
|
||||
cd build ; $(INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_BASENAME_VERSION) -T . -s . -p $(ICUDATA_NAME) icudata.lst -I $(DESTDIR)$(ICUPKGDATA_DIR)
|
||||
|
||||
install-convrtrstxt: $(top_srcdir)/../data/convrtrs.txt
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(pkgsysconfdir)
|
||||
|
@ -150,7 +144,7 @@ testudata_nam.typ: build/te_IN.res
|
|||
#### 390 support
|
||||
install390: build/icudata390.lst $(top_builddir)/tools/pkgdata/icupkg.inc
|
||||
$(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(libdir)
|
||||
cd build ; $(INVOKE) $(PKGDATA) -s . -T ../tmp3901 -p $(ICUDATA_NAME)$(BATCH_STUB_SUFFIX) -e $(ICUDATA_BASENAME_VERSION) icudata390.lst -m dll -I $(DESTDIR)$(ICUPKGDATA_DIR)
|
||||
cd build ; $(INVOKE) $(PKGDATA) -s . -T ../tmp3901 -p $(ICUDATA_NAME)$(BATCH_STUB_SUFFIX) -e $(ICUDATA_BASENAME_VERSION) icudata390.lst -m dll $(PKGDATA_VERSIONING) -I $(DESTDIR)$(ICUPKGDATA_DIR)
|
||||
|
||||
#### $(LIB_ICUDATA_NAME)$(BATCH_SUFFIX) is the subset data for batch mode
|
||||
package390: build/icudata390.lst build/icudata.lst $(top_builddir)/tools/pkgdata/icupkg.inc
|
||||
|
|
|
@ -35,13 +35,19 @@ UNICODE_VERSION = @UNICODE_VERSION@
|
|||
SO_TARGET_VERSION = @LIB_VERSION@
|
||||
SO_TARGET_VERSION_MAJOR = @LIB_VERSION_MAJOR@
|
||||
|
||||
# Should be the same as U_ICUDATA_NAME
|
||||
# The ICU data external name is usually icudata; the entry point name is
|
||||
# the version-dependent name (for no particula reason except it was easier
|
||||
# to change the build this way). When building in common mode, the data
|
||||
# name is the versioned platform-dependent one.
|
||||
|
||||
ICUDATA_BASENAME_VERSION = icudt@LIB_VERSION_MAJOR@
|
||||
ICUDATA_NAME = $(ICUDATA_BASENAME_VERSION)@ICUDATA_CHAR@
|
||||
ICUDATA_PLATFORM_NAME = $(ICUDATA_BASENAME_VERSION)@ICUDATA_CHAR@
|
||||
ICUDATA_NAME = icudata
|
||||
ifeq ($(strip $(PKGDATA_MODE)),)
|
||||
PKGDATA_MODE=@DATA_PACKAGING_MODE@
|
||||
endif
|
||||
ifeq ($(PKGDATA_MODE),common)
|
||||
ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
|
||||
ICUDATA_DIR = $(pkgdatadir)
|
||||
ICUPKGDATA_DIR = $(ICUDATA_DIR)
|
||||
else
|
||||
|
|
|
@ -48,8 +48,8 @@ endif
|
|||
#
|
||||
ifneq ($(ENABLE_SHARED),)
|
||||
SO_TARGET = libicudata.$(SO)
|
||||
MIDDLE_SO_TARGET = lib$(ICUDATA_NAME)$(BATCH_STUB_SUFFIX).$(SO)
|
||||
ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(BATCH_STUB_TARGET)
|
||||
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
|
||||
|
||||
ALL_TARGETS = $(TARGET) $(ALL_SO_TARGETS)
|
||||
|
@ -129,11 +129,9 @@ $(TARGET): $(TARGET)($(STATIC_OBJECTS))
|
|||
endif
|
||||
|
||||
ifneq ($(ENABLE_SHARED),)
|
||||
$(MIDDLE_SO_TARGET): $(OBJECTS)
|
||||
$(FINAL_SO_TARGET): $(OBJECTS)
|
||||
$(SHLIB.c) $(LD_SONAME) -o $@ $^ $(LIBS)
|
||||
|
||||
$(SO_TARGET): $(MIDDLE_SO_TARGET)
|
||||
$(RM) $(SO_TARGET) && ln -s $(MIDDLE_SO_TARGET) $(SO_TARGET)
|
||||
ifeq ($(OS390BATCH),1)
|
||||
$(BATCH_STUB_TARGET): $(OBJECTS)
|
||||
$(SHLIB.c) $(LD_SONAME) -o $@ $^ $(LIBS)
|
||||
|
|
|
@ -40,7 +40,7 @@ BUILDDIR := $(shell pwd)/../..
|
|||
|
||||
# we define ICU_UNICODE_VERSION so we can test it
|
||||
CPPFLAGS = @CPPFLAGS@ -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/ctestfw -I$(top_srcdir)/tools/toolutil \
|
||||
-DICU_UNICODE_VERSION=\"$(UNICODE_VERSION)\" -DICU_VERSION=\"@VERSION@\" -DICUDATA_NAME=\"$(ICUDATA_NAME)\" -DU_TOPSRCDIR=\"$(top_srcdir)/\" -DU_TOPBUILDDIR=\"$(BUILDDIR)\"
|
||||
-DICU_UNICODE_VERSION=\"$(UNICODE_VERSION)\" -DICU_VERSION=\"@VERSION@\" -DICUDATA_NAME=\"$(ICUDATA_PLATFORM_NAME)\" -DU_TOPSRCDIR=\"$(top_srcdir)/\" -DU_TOPBUILDDIR=\"$(BUILDDIR)\"
|
||||
CFLAGS = @CFLAGS@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
ENABLE_RPATH = @ENABLE_RPATH@
|
||||
|
|
|
@ -39,6 +39,7 @@ DATABUILDDIR=$(OBJDATADIR)
|
|||
top_builddir_from_tmp = $(patsubst ..%,../..%,$(top_builddir))
|
||||
INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(top_builddir_from_tmp)/common:$(top_builddir_from_tmp)/tools/toolutil:$$$(LDLIBRARYPATH_ENVVAR)
|
||||
PKGDATA = ../pkgdata/pkgdata -T . -s $(DATABUILDDIR) -O ./icupkg.inc -d $(DATABUILDDIR)
|
||||
PKGDATA_VERSIONING = -V $(SO_TARGET_VERSION)
|
||||
|
||||
## Install program information
|
||||
MKINSTALLDIRS = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
|
@ -151,7 +152,7 @@ clean-local: clean-pkgdata
|
|||
$(RMV) $(DATAFILES)
|
||||
$(RMV) icupkg.inc
|
||||
-@if [ -f $(TMPDATADIR)/$(ICUDATA_NAME)_dll.mak ]; then \
|
||||
(cd pkgdata ; $(INVOKE) ./pkgdata -T $(TMPDATADIR) -m dll -p $(ICUDATA_NAME) -O $(DATABUILDDIR)/icupkg.inc $(TMPDATADIR)/$(ICUDATA_NAME).lst -d $(DATABUILDDIR) --clean ) \
|
||||
(cd pkgdata ; $(INVOKE) ./pkgdata -T $(TMPDATADIR) -m dll $(PKGDATA_VERSIONING) -p $(ICUDATA_NAME) -O $(DATABUILDDIR)/icupkg.inc $(TMPDATADIR)/$(ICUDATA_NAME).lst -d $(DATABUILDDIR) --clean ) \
|
||||
fi
|
||||
-@if [ -f $(TMPDATADIR)/$(ICUDATA_NAME)_common.mak ]; then \
|
||||
(cd pkgdata; $(INVOKE) ./pkgdata -T $(TMPDATADIR) -m common -p $(ICUDATA_NAME) -O $(DATABUILDDIR)/icupkg.inc $(TMPDATADIR)/$(ICUDATA_NAME).lst -d $(DATABUILDDIR) --clean ) \
|
||||
|
|
Loading…
Add table
Reference in a new issue