From 72ee644edd2f3dd7744baeff7dc513ad3800cf33 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Mon, 15 Aug 2011 22:39:53 -0700 Subject: [PATCH] Upgrade to newest Gnulib to help relocatable-prog on Mac OS X. --enable-relocatable currently fails on Mac OS X due to a link error related to symbols that Gnulib is supposed to replace. I see that Gnulib has the following commits, not previously in PSPP, that mention related changes: 357d319 relocatable-lib: Move AC_LIBOBJ invocations to module description. c2d8c01 relocatable-prog: Move AC_LIBOBJ invocations to module description. 325f131 relocatable-prog-wrapper: Fix possible link error. 886f850 relocatable-prog-wrapper: Assume strerror() exists. 02d4f86 relocatable-prog-wrapper: Update after module 'areadlink' changed. d14f18b relocatable-prog-wrapper: Update after module 'areadlink' changed. 69c99f3 * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise. ef11bf4 * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise. 10d90c8 * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise. 4e51bc9 unictype/property-byname: Reduce the number of load-time relocations. fb6aa6a relocatable-prog: fix link error This commit updates PSPP to capture those changes. It also makes the changes recommended by Gnulib's NEWS. --- README.Git | 20 ++++++++++++-------- src/data/file-name.c | 1 + src/libpspp/cast.h | 12 ++++++------ 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/README.Git b/README.Git index b8cc4207ce..b437237ca2 100644 --- a/README.Git +++ b/README.Git @@ -34,14 +34,18 @@ This version of PSPP should work with the Gnulib commit shown below. Gnulib does not maintain a stable API or ABI, so it is possible that PSPP will not work with older or newer versions of Gnulib. - commit a38e4bbf37c4a77ea65f548dfcf590cf23e73d7e - Author: Bruno Haible - Date: Sun Feb 13 18:04:55 2011 +0100 - - mbsinit: Don't crash for a NULL argument. - - * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1. - * tests/test-mbsinit.c (mbsinit): Check this behaviour. + commit fb6aa6ad7dd950729f4e3349d89d4ad82761af61 + Author: Ben Pfaff + Date: Mon Aug 15 22:33:25 2011 -0700 + + relocatable-prog: fix link error + + * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also + invoke AC_LIBOBJ([relocatable]). This invocation was previously + in the gl_RELOCATABLE_LIBRARY macro. That invocation was moved + into modules/relocatable-lib without noticing that + modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and + also needs to build relocatable.c. To clone Gnulib into a directory named "gnulib" using Git, and then check out this particular commit, run these commands: diff --git a/src/data/file-name.c b/src/data/file-name.c index 2988d50295..5e4080b11f 100644 --- a/src/data/file-name.c +++ b/src/data/file-name.c @@ -33,6 +33,7 @@ #include "libpspp/version.h" #include "gl/dirname.h" +#include "gl/dosname.h" #include "gl/intprops.h" #include "gl/minmax.h" #include "gl/relocatable.h" diff --git a/src/libpspp/cast.h b/src/libpspp/cast.h index 00e42d6603..802698da23 100644 --- a/src/libpspp/cast.h +++ b/src/libpspp/cast.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2011 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 @@ -99,11 +99,11 @@ not yet carefully examined the situation, or if you are not sure. Use CHAR_CAST if you are convinced that this is actually a correct cast. */ #define CHAR_CAST(TYPE, POINTER) \ - ((void) verify_true (sizeof (*(POINTER)) == 1), \ - (void) (sizeof (*(POINTER) + 1)), \ - (void) verify_true (sizeof (*(TYPE) NULL) == 1), \ - (void) (sizeof (*(TYPE) NULL + 1)), \ - (TYPE) (POINTER)) + ((void) verify_expr (sizeof (*(POINTER)) == 1, 1), \ + (void) (sizeof (*(POINTER) + 1)), \ + (void) verify_expr (sizeof (*(TYPE) NULL) == 1, 1), \ + (void) (sizeof (*(TYPE) NULL + 1)), \ + (TYPE) (POINTER)) #define CHAR_CAST_BUG(TYPE, POINTER) CHAR_CAST(TYPE, POINTER) /* Given POINTER, a pointer to the given MEMBER within structure -- 2.30.2