[meego-commits] 9381: Changes to Trunk:Testing/icu

Wang Quanxian no_reply at build.meego.com
Thu Nov 11 03:41:09 UTC 2010


Hi,
I have made the following changes to icu in project Trunk:Testing. Please review and accept ASAP.

Thank You,
Wang Quanxian

[This message was auto-generated]

---

Request #9381:

  submit:   home:quanxianwang:branches:Trunk:Testing/icu(r4)(cleanup) -> Trunk:Testing/icu


Message:
    upgrade to 4.5.2 (bmc #8807) and diable atomic operation for arm since this blocks arm building

State:   new          2010-11-10T19:41:08 quanxianwang
Comment: None



changes files:
--------------
--- icu.changes
+++ icu.changes
@@ -0,0 +1,3 @@
+* Tue Nov 9 2010 Wang Quanxian <quanxian.wang at intel.com> - 4.5.2
+- upgrade to 4.5.2, disable atomic building for  arm, following upstream pc mechanism (bmc #8807) 
+

old:
----
  icu-3.4-multiarchdevel.patch
  icu.6969.pkgdata.patch
  icu4c-4_2_1-src.tgz

new:
----
  disable_arm_atomic.patch
  icu4c-4_5_2-src.tgz

spec files:
-----------
--- icu.spec
+++ icu.spec
@@ -1,23 +1,22 @@
 Name:      icu
-Version:   4.2.1
+Version:   4.5.2
 Release:   8
 Summary:   International Components for Unicode
 Group:     Development/Tools
 License:   MIT
 URL:       http://www.icu-project.org/
-Source0:   http://download.icu-project.org/files/icu4c/4.2.1/icu4c-4_2_1-src.tgz
+Source0:   http://download.icu-project.org/files/icu4c/4.5.2/icu4c-4_5_2-src.tgz
 Source1:   icu-config
 BuildRequires: doxygen, autoconf
 Requires: lib%{name} = %{version}-%{release}
 
-Patch1:  icu-3.4-multiarchdevel.patch
 Patch2:  icu.icu6284.strictalias.patch
 Patch3:  icu.6995.kannada.patch
 Patch4:  icu.icu7039.badextract.patch
-Patch5:  icu.6969.pkgdata.patch
 Patch6:  icu.XXXX.buildfix.patch
 Patch7:  0001-Fix-build-failure-on-ARM.patch
 Patch8:  icu.6969.arm.patch
+Patch9:  disable_arm_atomic.patch
 
 %description
 Tools and utilities for developing with icu.
@@ -57,14 +56,13 @@
 
 %prep
 %setup -q -n %{name}
-%patch1 -p1 -b .multiarchdevel
 %patch2 -p1 -b .icu6284.strictalias.patch
 %patch3 -p1 -b .icu6995.kannada.patch
 %patch4 -p1 -b .icu7039.badextract.patch
-%patch5 -p0 -b .icu.6969.pkgdata.patch
 %patch6 -p1 -b .icu.XXXX.buildfix.patch
 %patch7 -p1 -b .arm
 %patch8 -p0 -b .icu.6969.arm.patch
+%patch9 -p0 -b .atomic
 
 %build
 cd source
@@ -82,8 +80,6 @@
 chmod +x $RPM_BUILD_ROOT%{_libdir}/*.so.*
 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}-config
 chmod 0755 $RPM_BUILD_ROOT%{_bindir}/%{name}-config
-sed -i s/\\\$\(THREADSCXXFLAGS\)// $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/icu.pc
-sed -i s/\\\$\(THREADSCPPFLAGS\)/-D_REENTRANT/ $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/icu.pc
 
 find source/__docs/%{name}/html/ -type f -exec chmod a-x {} \;
 
@@ -113,6 +109,7 @@
 %{_bindir}/makeconv
 %{_bindir}/pkgdata
 %{_bindir}/uconv
+%{_bindir}/icuinfo
 %{_sbindir}/*
 %{_mandir}/man1/derb.1*
 %{_mandir}/man1/gencnval.1*
@@ -135,7 +132,7 @@
 %{_includedir}/layout
 %{_includedir}/unicode
 %{_libdir}/*.so
-%{_libdir}/pkgconfig/icu.pc
+%{_libdir}/pkgconfig/icu-*.pc
 %{_libdir}/%{name}
 %dir %{_datadir}/%{name}
 %dir %{_datadir}/%{name}/%{version}

other changes:
--------------

++++++ disable_arm_atomic.patch (new)
--- disable_arm_atomic.patch
+++ disable_arm_atomic.patch
+--- source/configure.in_orig	2010-11-10 01:13:01.665345519 +0800
++++ source/configure.in	2010-11-10 19:19:19.505407881 +0800
+@@ -776,21 +776,28 @@ AC_SUBST(U_HAVE_PLACEMENT_NEW)
+ 
+ # gcc atomic built-in functions check
+ # AC_TRY_LINK([], [int foo, bar; bar = __sync_val_compare_and_swap(&foo, 0, 1);],, 
+-AC_LANG(C)
+-AC_MSG_CHECKING([for gcc atomic functions])
+-AC_LINK_IFELSE([AC_LANG_PROGRAM(
+-    [[
+-        void *p;
+-        int   i;
+-    ]],
+-    [[
+-        __sync_fetch_and_add(&i, 1);
+-        __sync_fetch_and_sub(&i, 1);
+-        __sync_val_compare_and_swap(&p, 0, 0);
+-    ]]
+-)],
+-[U_HAVE_GCC_ATOMICS=1; AC_MSG_RESULT([yes])],
+-[U_HAVE_GCC_ATOMICS=0; AC_MSG_RESULT([no])])
++case `/bin/sh -c "uname -p"` in
++arm*)
++  U_HAVE_GCC_ATOMICS=0
++  ;;
++*)
++  AC_LANG(C)
++  AC_MSG_CHECKING([for gcc atomic functions])
++  AC_LINK_IFELSE([AC_LANG_PROGRAM(
++      [[
++          void *p;
++          int   i;
++      ]],
++      [[
++          __sync_fetch_and_add(&i, 1);
++          __sync_fetch_and_sub(&i, 1);
++          __sync_val_compare_and_swap(&p, 0, 0);
++      ]]
++  )],
++  [U_HAVE_GCC_ATOMICS=1; AC_MSG_RESULT([yes])],
++  [U_HAVE_GCC_ATOMICS=0; AC_MSG_RESULT([no])])
++  ;;
++esac
+ AC_SUBST(U_HAVE_GCC_ATOMICS)
+ 
+ AC_LANG(C)

++++++ icu.XXXX.buildfix.patch
--- icu.XXXX.buildfix.patch
+++ icu.XXXX.buildfix.patch
@@ -1,14 +1,3 @@
---- icu/source/Makefile.in	2009-08-31 21:15:03.000000000 +0100
-+++ icu/source/Makefile.in	2009-08-31 21:19:23.000000000 +0100
-@@ -146,7 +146,7 @@
- install-doc: doc
- 	$(RM) -r $(DESTDIR)$(docdir)/$(docsubdir)
- 	$(MKINSTALLDIRS) $(DESTDIR)$(docdir)/$(docsubdir)
--	$(INSTALL_DATA) doc/html/* $(DESTDIR)$(docdir)/$(docsubdir)
-+	cp -r doc/html/* $(DESTDIR)$(docdir)/$(docsubdir)
- endif
- 
- $(DESTDIR)$(pkglibdir)/%: $(top_srcdir)/../data/%
 --- icu/source/configure.in	2009-07-01 19:51:26.000000000 +0100
 +++ icu/source/configure.in	2009-11-19 09:12:23.000000000 +0000
 @@ -57,6 +57,11 @@

++++++ icu.icu6284.strictalias.patch
--- icu.icu6284.strictalias.patch
+++ icu.icu6284.strictalias.patch
@@ -1,14 +1,9 @@
-diff -ru icu.orig/source/common/putil.c icu/source/common/putil.c
---- icu.orig/source/common/putil.c	2008-08-26 13:12:58.000000000 +0100
-+++ icu/source/common/putil.c	2008-08-26 13:13:01.000000000 +0100
-@@ -160,30 +160,46 @@
- #   define U_POSIX_LOCALE    1
- #endif
- 
--/*
--    WARNING! u_topNBytesOfDouble and u_bottomNBytesOfDouble
--    can't be properly optimized by the gcc compiler sometimes (i.e. gcc 3.2).
--*/
+diff -urNap icu.orig/source/common/putil.c icu/source/common/putil.c
+--- icu.orig/source/common/putil.c	2010-11-10 20:33:26.220329425 +0800
++++ icu/source/common/putil.c	2010-11-10 20:43:08.153366353 +0800
+@@ -182,24 +182,45 @@ static const BitPatternConversion gInf =
+     can't be properly optimized by the gcc compiler sometimes (i.e. gcc 3.2).
+ */
  #if !IEEE_754
 -static char*
 -u_topNBytesOfDouble(double* d, int n)
@@ -36,7 +31,6 @@
 +#  endif
 +    ];
  }
- #endif
  
 -static char*
 -u_bottomNBytesOfDouble(double* d, int n)
@@ -63,10 +57,11 @@
 +      0
 +#  endif
 +    ];
++ }
  }
+ #endif   /* !IEEE_754 */
  
- #if defined (U_DEBUG_FAKETIME)
-@@ -297,10 +313,8 @@
+@@ -344,10 +365,8 @@ uprv_isNaN(double number)
      return (UBool)((convertedNumber.i64 & U_INT64_MAX) > gInf.i64);
  
  #elif defined(OS390)
@@ -79,7 +74,7 @@
  
      return ((highBits & 0x7F080000L) == 0x7F080000L) &&
        (lowBits == 0x00000000L);
-@@ -322,10 +336,8 @@
+@@ -369,10 +388,8 @@ uprv_isInfinite(double number)
      /* Infinity is exactly 0x7FF0000000000000U. */
      return (UBool)((convertedNumber.i64 & U_INT64_MAX) == gInf.i64);
  #elif defined(OS390)
@@ -92,7 +87,7 @@
  
      return ((highBits  & ~SIGN) == 0x70FF0000L) && (lowBits == 0x00000000L);
  
-@@ -354,8 +366,7 @@
+@@ -401,8 +418,7 @@ uprv_isNegativeInfinity(double number)
      return (UBool)(number < 0 && uprv_isInfinite(number));
  
  #else
@@ -102,31 +97,3 @@
      return((highBits & SIGN) && uprv_isInfinite(number));
  
  #endif
-@@ -447,7 +458,7 @@
-         return uprv_getNaN();
- 
-     /* check for -0 and 0*/
--    lowBits = *(uint32_t*) u_bottomNBytesOfDouble(&x, sizeof(uint32_t));
-+    lowBits = u_bottomOfDoubleAsUint32(x);
-     if(x == 0.0 && y == 0.0 && (lowBits & SIGN))
-         return y;
- 
-@@ -468,7 +479,7 @@
-         return uprv_getNaN();
- 
-     /* check for -0 and 0*/
--    lowBits = *(uint32_t*) u_bottomNBytesOfDouble(&y, sizeof(uint32_t));
-+    lowBits = u_bottomOfDoubleAsUint32(y);
-     if(x == 0.0 && y == 0.0 && (lowBits & SIGN))
-         return y;
- 
-@@ -497,7 +508,7 @@
-     if(uprv_isInfinite(d))
-         return uprv_getInfinity();
- 
--    lowBits = *(uint32_t*) u_bottomNBytesOfDouble(&d, sizeof(uint32_t));
-+    lowBits = u_bottomOfDoubleAsUint32(d);
-     if( (d == 0.0 && (lowBits & SIGN)) || d < 0)
-         return ceil(d);
-     else
-Only in icu/source/common: putil.c.orig

++++++ icu.icu7039.badextract.patch
--- icu.icu7039.badextract.patch
+++ icu.icu7039.badextract.patch
@@ -1,15 +1,3 @@
-diff -ru icu.orig/source/common/unicode/unistr.h icu/source/common/unicode/unistr.h
---- icu.orig/source/common/unicode/unistr.h	2009-07-28 16:02:03.000000000 +0100
-+++ icu/source/common/unicode/unistr.h	2009-07-28 16:36:48.000000000 +0100
-@@ -4048,7 +4048,7 @@
- 
- {
-   // This dstSize value will be checked explicitly
--  return extract(start, _length, dst, dst!=0 ? 0xffffffff : 0, codepage);
-+  return extract(start, _length, dst, dst!=0 ? (((size_t)dst >= ((size_t)-1) - UINT32_MAX) ? (((char*)UINT32_MAX) - dst) : UINT32_MAX) : 0, codepage);
- }
- 
- #endif
 diff -ru icu.orig/source/test/intltest/dadrcal.cpp icu/source/test/intltest/dadrcal.cpp
 --- icu.orig/source/test/intltest/dadrcal.cpp	2009-07-28 16:01:10.000000000 +0100
 +++ icu/source/test/intltest/dadrcal.cpp	2009-07-28 16:52:15.000000000 +0100

++++++ icu4c-4_5_2-src.tgz (new)

++++++ deleted files:
--- icu-3.4-multiarchdevel.patch
--- icu.6969.pkgdata.patch
--- icu4c-4_2_1-src.tgz




More information about the MeeGo-commits mailing list