office-gobmx/external/icu/icu4c-aix.patch.1
Eike Rathke 263961306e Update to ICU 70.1
Unicode 14, 5 new scripts, 12 new Unicode blocks.

In i18npool/qa/cppunit/test_breakiterator.cxx
TestBreakIterator::testLao() had to be disabled/adapted.
Needs to be investigated, see comments there.
As is, Lao script word break has regressions.

Correct UBLOCK_TANGUT_SUPPLEMENT Unicode range endpoint to
0x18D7F, see
https://www.unicode.org/versions/Unicode14.0.0/erratafixed.html
for which ublock_getCode(0x18D8F) now returned UBLOCK_NO_BLOCK and
thus luckily the assert in svx/source/dialog/charmap.cxx hit.

Change-Id: I4bad16ecfab3f44be365b8f884c57f34af68218e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125322
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2021-11-16 20:23:45 +01:00

143 lines
4.9 KiB
Groff

diff -ur icu.org/source/config/mh-aix-gcc icu/source/config/mh-aix-gcc
--- icu.org/source/config/mh-aix-gcc 2021-10-28 18:04:57.000000000 +0200
+++ icu/source/config/mh-aix-gcc 2021-11-15 18:35:48.737774348 +0100
@@ -18,84 +18,29 @@
GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS)
GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS)
-## Commands to link
-## We need to use the C++ linker, even when linking C programs, since
-## our libraries contain C++ code (C++ static init not called)
-LINK.c= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS)
-LINK.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS)
-
-## Shared library options
-LD_SOOPTIONS= -Wl,-bsymbolic
-
-## Commands to make a shared library
-SHLIB.c= $(AIX_PREDELETE) $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS)
-SHLIB.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS)
-
-## Compiler switch to embed a runtime search path
-LD_RPATH= -I
-LD_RPATH_PRE=
+## Flags for position independent code
+SHAREDLIBCFLAGS = -fPIC
+SHAREDLIBCXXFLAGS = -fPIC
+SHAREDLIBCPPFLAGS = -DPIC
+
+## Additional flags when building libraries and with threads
+THREADSCPPFLAGS = -D_REENTRANT -D_THREAD_SAFE
+LIBCPPFLAGS =
-## enable the shared lib loader
-LDFLAGS += -Wl,-bbigtoc
+LD_RPATH=
+LD_RPATH_PRE=
## These are the library specific LDFLAGS
LDFLAGSICUDT=-nodefaultlibs -nostdlib
-## We need to delete things prior to linking, or else we'll get
-## SEVERE ERROR: output file in use .. on AIX.
-## But, shell script version should NOT delete target as we don't
-## have $@ in that context. (SH = only shell script, icu-config)
-AIX_PREDELETE=rm -f $@ ;
-#SH# AIX_PREDELETE=
-
## Environment variable to set a runtime search path
LDLIBRARYPATH_ENVVAR = LIBPATH
-## Override Versioned target for a shared library.
-FINAL_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION).$(SO)
-MIDDLE_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO)
-SHARED_OBJECT = $(notdir $(FINAL_SO_TARGET:.$(SO)=.$(SOBJ)))
-SHARED_OBJECT_NO_VERSION = $(basename $(SO_TARGET)).$(SOBJ)
-
-# The following is for Makefile.inc's use.
-ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
-
-# this one is for icudefs.mk's use
-ifeq ($(ENABLE_SHARED),YES)
-SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR)
-endif
-
-## Compiler switch to embed a library name. Not present on AIX.
-LD_SONAME =
-
-## The type of assembly needed when pkgdata is used for generating shared libraries.
-GENCCODE_ASSEMBLY=-a xlc
-
## Shared object suffix
-SOBJ= so
-# without the -brtl option, the library names use .a. AIX is funny that way.
-SO= a
-A= a
+SO= so
## Non-shared intermediate object suffix
-STATIC_O = o
-
-## Special AIX rules
-
-## Build archive from shared object
-%.a : %.so
- ln -f $< $(SHARED_OBJECT_NO_VERSION)
- $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION)
- rm -f $(SHARED_OBJECT_NO_VERSION)
-$(LIBDIR)/%.a : %.so
- ln -f $< $(SHARED_OBJECT_NO_VERSION)
- $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION)
- rm -f $(SHARED_OBJECT_NO_VERSION)
-
-## Build import list from export list
-%.e : %.exp
- @echo "Building an import list for $<"
- @$(SHELL) -ec "echo '#! $*.a($*.so)' | cat - $< > $@"
+STATIC_O = ao
## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
@@ -123,10 +68,10 @@
[ -s $@ ] || rm -f $@'
## Versioned libraries rules
-%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
- $(RM) $@ && ln -s ${*F}$(SO_TARGET_VERSION).$(SO) $@
-%.$(SO): %$(SO_TARGET_VERSION).$(SO)
- $(RM) $@ && ln -s ${*F}$(SO_TARGET_VERSION).$(SO) $@
+%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
+ $(RM) $@ && ln -s ${<F} $@
+%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
+ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
## BIR - bind with internal references [so app data and icu data doesn't collide]
diff -ur icu.org/source/tools/pkgdata/pkgdata.cpp icu/source/tools/pkgdata/pkgdata.cpp
--- icu.org/source/tools/pkgdata/pkgdata.cpp 2021-10-28 18:04:57.000000000 +0200
+++ icu/source/tools/pkgdata/pkgdata.cpp 2021-11-15 18:28:38.342143852 +0100
@@ -959,7 +959,7 @@
uprv_strcat(pkgDataFlags[SO_EXT], ".");
uprv_strcat(pkgDataFlags[SO_EXT], pkgDataFlags[A_EXT]);
-#elif U_PLATFORM == U_PF_OS400 || defined(_AIX)
+#elif U_PLATFORM == U_PF_OS400
sprintf(libFileNames[LIB_FILE_VERSION_TMP], "%s%s%s",
libFileNames[LIB_FILE],
FILE_EXTENSION_SEP,
@@ -1439,15 +1439,6 @@
pkgDataFlags[LDICUDTFLAGS],
targetDir,
libFileNames[LIB_FILE_CYGWIN_VERSION],
-#elif U_PLATFORM == U_PF_AIX
- sprintf(cmd, "%s %s%s;%s %s -o %s%s %s %s%s %s %s",
- RM_CMD,
- targetDir,
- libFileNames[LIB_FILE_VERSION_TMP],
- pkgDataFlags[GENLIB],
- pkgDataFlags[LDICUDTFLAGS],
- targetDir,
- libFileNames[LIB_FILE_VERSION_TMP],
#else
sprintf(cmd, "%s %s -o %s%s %s %s%s %s %s",
pkgDataFlags[GENLIB],