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 0eff29e0e41915e64925dd00269fe101a3c6a0bb..6352e0ed4abc3f9849e94b2bd75dd0787eebf8c0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+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
index 024d06476fbd643f4f5f82a7ac3fef034d06ae6f..dccb0ad6c37db995e665d32917bcce032d4de076 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