[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gimp-print-devel
Subject:    Re: [Gimp-print-devel] Symbol renaming
From:       Robert L Krawitz <rlk () alum ! mit ! edu>
Date:       2005-08-05 2:13:25
Message-ID: 200508050213.j752DP4C015945 () dsl092-065-009 ! bos1 ! dsl ! speakeasy ! net
[Download RAW message or body]

   From: Roger Leigh <rleigh@whinlatter.ukfsn.org>
   Cc: gimp-print-devel@lists.sourceforge.net
   Date: Wed, 03 Aug 2005 20:54:39 +0100

   Robert L Krawitz <rlk@alum.mit.edu> writes:

   > The current module system leaves a few global symbols without an stp_
   > or stpi_ prefix.  Roger, is the following OK to fix that up?

   I'm not too happy with this change.  These symbols come from modules,
   and so aren't in the libgutenprint2 symbol namespace.

The default build puts the modules into libgutenprint.

   > Index: src/main/module.c
   > ===================================================================
   > RCS file: /cvsroot/gimp-print/print/src/main/module.c,v
   > retrieving revision 1.25
   > diff -u -r1.25 module.c
   > --- src/main/module.c   17 Sep 2004 18:38:21 -0000      1.25
   > +++ src/main/module.c   3 Aug 2005 00:54:57 -0000
   > @@ -57,28 +57,28 @@
   >    };
   >  
   >  #if !defined(USE_LTDL) && !defined(USE_DLOPEN)
   > -extern stp_module_t print_canon_LTX_stp_module_data;
   > -extern stp_module_t print_escp2_LTX_stp_module_data;
   > -extern stp_module_t print_lexmark_LTX_stp_module_data;
   > -extern stp_module_t print_pcl_LTX_stp_module_data;
   > -extern stp_module_t print_ps_LTX_stp_module_data;
   > -extern stp_module_t print_olympus_LTX_stp_module_data;
   > -extern stp_module_t print_raw_LTX_stp_module_data;
   > -extern stp_module_t color_traditional_LTX_stp_module_data;
   > +extern stp_module_t stpi_print_canon_LTX_stp_module_data;
   > +extern stp_module_t stpi_print_escp2_LTX_stp_module_data;
   > +extern stp_module_t stpi_print_lexmark_LTX_stp_module_data;
   > +extern stp_module_t stpi_print_pcl_LTX_stp_module_data;
   > +extern stp_module_t stpi_print_ps_LTX_stp_module_data;
   > +extern stp_module_t stpi_print_olympus_LTX_stp_module_data;
   > +extern stp_module_t stpi_print_raw_LTX_stp_module_data;
   > +extern stp_module_t stpi_color_traditional_LTX_stp_module_data;

   This is a hack used to build a static libgutenprint.  It's pulling
   in the module data so that it can do initialisation of static
   modules.  This isn't part of the exported API, and is only used
   when building a static libgutenprint2, which should be the
   exception rather than the rule (at least for non-developers).
   Since these are only used in the static_modules[] array (itself
   static), they will never be externally visible even when building
   statically (apart from in the statically linked modules, but that's
   just a detail, not something that is consistent from build to
   build).

But they are visible -- build the library statically (i. e. without
--with-modules=xxxx) and you'll find these symbols.

   I would hope all distributors provide a dynamically linked
   libgutenprint2 with dynamically loadable modules.

-- 
Robert Krawitz                                     <rlk@alum.mit.edu>

Tall Clubs International  --  http://www.tall.org/ or 1-888-IM-TALL-2
Member of the League for Programming Freedom -- mail lpf@uunet.uu.net
Project lead for Gimp Print   --    http://gimp-print.sourceforge.net

"Linux doesn't dictate how I work, I dictate how Linux works."
--Eric Crampton


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Gimp-print-devel mailing list
Gimp-print-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gimp-print-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic