[csw-devel] SF.net SVN: gar:[5600] csw/mgar/pkg/libiconv/trunk

skayser at users.sourceforge.net skayser at users.sourceforge.net
Sat Jul 18 16:34:42 CEST 2009


Revision: 5600
          http://gar.svn.sourceforge.net/gar/?rev=5600&view=rev
Author:   skayser
Date:     2009-07-18 14:34:42 +0000 (Sat, 18 Jul 2009)

Log Message:
-----------
libiconv: work around hanging acomp when -fast is set

Modified Paths:
--------------
    csw/mgar/pkg/libiconv/trunk/Makefile
    csw/mgar/pkg/libiconv/trunk/checksums

Added Paths:
-----------
    csw/mgar/pkg/libiconv/trunk/files/patch-configure-stdbool.diff

Modified: csw/mgar/pkg/libiconv/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libiconv/trunk/Makefile	2009-07-17 20:40:27 UTC (rev 5599)
+++ csw/mgar/pkg/libiconv/trunk/Makefile	2009-07-18 14:34:42 UTC (rev 5600)
@@ -38,17 +38,19 @@
 
 REQUIRED_PKGS_CSWiconvdevel = CSWiconv
 
-# Work around Sun Studio Preprocessor bug #6655406
-#   http://sunsolve.sun.com/search/document.do?assetkey=1-1-6655406-1
-#PATCHFILES = patch-workaround-cc-bug-6655406.diff
-
 # The current 1.12 only has a 32-Bit iconv binary, leave it that way
 EXTRA_MERGE_EXCLUDE_FILES = /opt/csw/bin/.*/iconv
 NO_ISAEXEC = 1
 BUILD64 = 1
 
-# Tweak optimization flags, BEWARE: ./configure on build8s hangs
+# Optimize. -fast causes ./configure on Sparc to hang on the stdbool.h test.
+# Patch the stdbool test away, stdbool is only available in C99 anyway.
+#
+# See the following posts for details
+# - http://lists.opencsw.org/pipermail/maintainers/2009-July/003152.html
+# - http://forums.sun.com/thread.jspa?threadID=5397065&tstart=0
 OPT_FLAGS_SOS = -fast -xnolibmopt
+PATCHFILES += patch-configure-stdbool.diff
 
 # 'gmake test' shows three errors of coredumping printf's
 #

Modified: csw/mgar/pkg/libiconv/trunk/checksums
===================================================================
--- csw/mgar/pkg/libiconv/trunk/checksums	2009-07-17 20:40:27 UTC (rev 5599)
+++ csw/mgar/pkg/libiconv/trunk/checksums	2009-07-18 14:34:42 UTC (rev 5600)
@@ -1,2 +1,2 @@
 048032a3032ebd182150bdee30a5d533  download/libiconv-1.13.tar.gz
-8a4c4cc08a021936cb72538b6e26ce61  download/patch-workaround-cc-bug-6655406.diff
+c63aff759e703f28a2ad6d6c3e507eeb  download/patch-configure-stdbool.diff

Added: csw/mgar/pkg/libiconv/trunk/files/patch-configure-stdbool.diff
===================================================================
--- csw/mgar/pkg/libiconv/trunk/files/patch-configure-stdbool.diff	                        (rev 0)
+++ csw/mgar/pkg/libiconv/trunk/files/patch-configure-stdbool.diff	2009-07-18 14:34:42 UTC (rev 5600)
@@ -0,0 +1,125 @@
+diff --speed-large-files --minimal -Nru libiconv-1.13.orig/configure libiconv-1.13/configure
+--- libiconv-1.13.orig/configure	2009-03-26 13:10:59.000000000 +0100
++++ libiconv-1.13/configure	2009-07-18 15:01:23.206092991 +0200
+@@ -20233,121 +20233,6 @@
+   REPLACE_GETLINE=0;
+   REPLACE_PERROR=0;
+ 
+-{ $as_echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5
+-$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
+-if test "${ac_cv_header_stdbool_h+set}" = set; then
+-  $as_echo_n "(cached) " >&6
+-else
+-  cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h.  */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h.  */
+-
+-	  #include <stdbool.h>
+-	  #ifndef bool
+-	   "error: bool is not defined"
+-	  #endif
+-	  #ifndef false
+-	   "error: false is not defined"
+-	  #endif
+-	  #if false
+-	   "error: false is not 0"
+-	  #endif
+-	  #ifndef true
+-	   "error: true is not defined"
+-	  #endif
+-	  #if true != 1
+-	   "error: true is not 1"
+-	  #endif
+-	  #ifndef __bool_true_false_are_defined
+-	   "error: __bool_true_false_are_defined is not defined"
+-	  #endif
+-
+-	  struct s { _Bool s: 1; _Bool t; } s;
+-
+-	  char a[true == 1 ? 1 : -1];
+-	  char b[false == 0 ? 1 : -1];
+-	  char c[__bool_true_false_are_defined == 1 ? 1 : -1];
+-	  char d[(bool) 0.5 == true ? 1 : -1];
+-	  bool e = &s;
+-	  char f[(_Bool) 0.0 == false ? 1 : -1];
+-	  char g[true];
+-	  char h[sizeof (_Bool)];
+-	  char i[sizeof s.t];
+-	  enum { j = false, k = true, l = false * true, m = true * 256 };
+-	  _Bool n[m];
+-	  char o[sizeof n == m * sizeof n[0] ? 1 : -1];
+-	  char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+-	  #if defined __xlc__ || defined __GNUC__
+-	   /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
+-	      reported by James Lemley on 2005-10-05; see
+-	      http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
+-	      This test is not quite right, since xlc is allowed to
+-	      reject this program, as the initializer for xlcbug is
+-	      not one of the forms that C requires support for.
+-	      However, doing the test right would require a run-time
+-	      test, and that would make cross-compilation harder.
+-	      Let us hope that IBM fixes the xlc bug, and also adds
+-	      support for this kind of constant expression.  In the
+-	      meantime, this test will reject xlc, which is OK, since
+-	      our stdbool.h substitute should suffice.  We also test
+-	      this with GCC, where it should work, to detect more
+-	      quickly whether someone messes up the test in the
+-	      future.  */
+-	   char digs[] = "0123456789";
+-	   int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1);
+-	  #endif
+-	  /* Catch a bug in an HP-UX C compiler.  See
+-	     http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+-	     http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+-	   */
+-	  _Bool q = true;
+-	  _Bool *pq = &q;
+-
+-int
+-main ()
+-{
+-
+-	  *pq |= q;
+-	  *pq |= ! q;
+-	  /* Refer to every declared value, to avoid compiler optimizations.  */
+-	  return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
+-		  + !m + !n + !o + !p + !q + !pq);
+-
+-  ;
+-  return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (ac_try="$ac_compile"
+-case "(($ac_try" in
+-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+-  *) ac_try_echo=$ac_try;;
+-esac
+-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+-$as_echo "$ac_try_echo") >&5
+-  (eval "$ac_compile") 2>conftest.er1
+-  ac_status=$?
+-  grep -v '^ *+' conftest.er1 >conftest.err
+-  rm -f conftest.er1
+-  cat conftest.err >&5
+-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+-  (exit $ac_status); } && {
+-	 test -z "$ac_c_werror_flag" ||
+-	 test ! -s conftest.err
+-       } && test -s conftest.$ac_objext; then
+-  ac_cv_header_stdbool_h=yes
+-else
+-  $as_echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-	ac_cv_header_stdbool_h=no
+-fi
+-
+-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+-fi
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5
+ $as_echo "$ac_cv_header_stdbool_h" >&6; }
+    { $as_echo "$as_me:$LINENO: checking for _Bool" >&5


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the devel mailing list