Avoid error with SunPRO C 5.0 on Solaris 2.5.1.
authorBruno Haible <bruno@clisp.org>
Sun, 11 Mar 2007 22:28:43 +0000 (22:28 +0000)
committerBruno Haible <bruno@clisp.org>
Sun, 11 Mar 2007 22:28:43 +0000 (22:28 +0000)
ChangeLog
lib/dummy.c

index 0eff29e..6352e0e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2007-03-11  Bruno Haible  <bruno@clisp.org>
 
+       * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
+       Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
+
+2007-03-11  Bruno Haible  <bruno@clisp.org>
+
        * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
        <stdbool.h> substitute doesn't pass.
 
index 024d064..dccb0ad 100644 (file)
@@ -1,5 +1,5 @@
 /* A dummy file, to prevent empty libraries from breaking builds.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    Compiling this file, and adding its object file to the library, will
    prevent the library from being empty.  */
 
+/* Some systems, such as Solaris with cc 5.0, refuse to work with libraries
+   that don't export any symbol.  You might get an error like:
+
+   > cc ... libgnu.a
+   > ild: (bad file) garbled symbol table in archive ../gllib/libgnu.a
+
+   Compiling this file, and adding its object file to the library, will
+   prevent the library from exporting no symbols.  */
+
+#ifdef __sun
+/* This declaration ensures that the library will export at least 1 symbol.  */
+int dummy;
+#else
 /* This declaration is solely to ensure that after preprocessing
    this file is never empty.  */
 typedef int dummy;
+#endif