From e0c76fe011698f6d6e946a930a1dd88f9c3e8459 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 11 Mar 2007 22:28:43 +0000 Subject: [PATCH] Avoid error with SunPRO C 5.0 on Solaris 2.5.1. --- ChangeLog | 5 +++++ lib/dummy.c | 16 +++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 0eff29e0e..6352e0ed4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2007-03-11 Bruno Haible + * 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 + * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's substitute doesn't pass. diff --git a/lib/dummy.c b/lib/dummy.c index 024d06476..dccb0ad6c 100644 --- a/lib/dummy.c +++ b/lib/dummy.c @@ -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 @@ -25,6 +25,20 @@ 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 -- 2.11.0