[Distutils] handling complex link/library specifications

Greg Ward gward@python.net
Wed, 24 May 2000 22:22:41 -0400


On 24 May 2000, Andrew MacIntyre said:
> The recommended library spec (for Solaris, which is what I'm working with at
> the moment) looks something like this:
> 
> -l<lib> ... -l<lib> -Bstatic -l<lib>... -l<lib> -Bdynamic -l<lib>...-l<lib>
> -R<path>

Wow, same question twice in one day.  Time to work on the docs again.

You should be able to do this with an 'extra_link_args' entry in the
"build info" dictionary that describes your extension.  *rummage rummage 
rummage*  Ahh, here's the example I sent to someone else not 'alf an
'our ago (I knew I should have cc'd the sig):

ext_modules =
    [('_imaging',
      { 'sources':
         ['_imaging.c',
          'decode.c',
          ... ,
          'path.c']
        'include_dirs': ['libImaging'],
        'library_dirs': ['libImaging'],
        'libraries': ['Imaging'],
        'extra_link_args': ['-lX11', '-lXext', '-lXshm'],
        'extra_compile_args': ['-Dfoo=bar', '-Ublah']
      }
    )]

'extra_compile_args' is only in the current CVS code, but
'extra_link_args' has been around for a while.  BTW, the requirement in
the above example was to worm output from a configure script and from
gtk-config into the compiler/linker commands.  Obviously portability is
thrown out the window, but in return you have a working setup script.

> (BTW http://www.python.org/sigs/distutils-sig/doc/dist/source-dist.html has an
> HTML problem, at least with IE 3.02)

Hmm, based on my (indirect) experience with IE 3, I'd be more inclined
to say *it's* the one with an HTML problem... *smirk*

        Greg
-- 
Greg Ward - Unix geek                                   gward@python.net
http://starship.python.net/~gward/
I wonder if I ought to tell them about my PREVIOUS LIFE as a COMPLETE
STRANGER?