Subject: bug#12057: LT_DLSYM_CONST not defined

From: Thien-Thi Nguyen <[email-masked]>
Date: Thu, 26 Jul 2012 14:17:21 +0200

Apparently, GNU Libtool 2.4 (2010-09-22) introduced ‘LT_DLSYM_CONST’
to ltdl.h, but that particular #define is requires "manual synching"
(according to this ltmain.sh excerpt):

  /* -*- c -*- /
  /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
  #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
  /* DATA imports from DLLs on WIN32 con't be const, because runtime
     relocations are performed -- see ld's documentation on pseudo-relocs.  */
  # define LT_DLSYM_CONST
  #elif defined(__osf__)
  /* This system does not cope well with relocations in const data.  */
  # define LT_DLSYM_CONST
  #else
  # define LT_DLSYM_CONST const
  #endif

In my code, i do:

  /* -*- c -*- /
  #include "libltdl/ltdl.h"

and this alone results in a "LT_DLSYM_CONST not defined" compilation
error.  However, adding that excerpt immediately prior to the #include
allows the compilation to succeed.  I presume what i've discovered is a
workaround at best and that there should be a better way to either avoid
this, or fully hide it from me (such that the plain old #include will be
sufficient, as before).  What would that way be?

-- 
Thien-Thi Nguyen                                       GPG key: 4C807502

........... please send technical questions to mailing lists ...........
.                                 ....                                 .
.                  NB: ttn at glug dot org is not me                   .
.                 (and has not been since 2007 or so)                  .
.                      ACCEPT NO SUBSTITUTES :-D                       .