delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/02/24/02:42:38

From: Pascal DOT Obry AT der DOT edfgdf DOT fr (Pascal OBRY)
Subject: RE: Apologies
24 Feb 1998 02:42:38 -0800 :
Message-ID: <0735634F16C8B011*/c=fr/admd=atlas/prmd=edfgdf/o=der/ou=der-ccmail/s=Obry/g=Pascal/.cygnus.gnu-win32@MHS>
Mime-Version: 1.0
To: "ian AT cygnus DOT com" <ian AT cygnus DOT com> (Return requested) (Receipt notification requested),
"root AT jacob DOT remcomp DOT fr" <root AT jacob DOT remcomp DOT fr> (Return requested) (Receipt notification requested)
Cc: "gnu-win32 AT cygnus DOT com" <gnu-win32 AT cygnus DOT com> (Return requested),
"noer AT cygnus DOT com" <noer AT cygnus DOT com> (Return requested)

> -----Message d'origine-----
> De:   ian AT cygnus DOT com 
> Date: samedi 21 février 1998 05:35
> À:    root AT jacob DOT remcomp DOT fr
> Cc:   gnu-win32 AT cygnus DOT com; noer AT cygnus DOT com
> Objet:        Re: Apologies
> 
> >   Every week there is somebody that points that the example in the cygnus
> >   page copied verbatim will not work. What makes me mad, is that either the
> >   example DOES work, and then you put it in the FAQ (or better in the page
> >   itself) HOW TO MAKE IT WORK, or either it DOESN'T, then you take that
> >   page away! But I am getting mad again.
> 
> This is what I do to create a DLL with correct relocation
> information.  This example is taken from the Tcl Makefile which will
> be included with the b19 release.
> 
> Geoff, perhaps you could include something like this in the FAQ.
> 
> IMPORTANT NOTE: I have not tested this with b18.  I don't even have
> b18 loaded.  I have only tested it with the upcoming b19 release.
> 
> You must execute the following sequence of five commands, in this
> order:
> 
>  $(LD) -s --base-file BASEFILE --dll -o DLLNAME OBJS LIBS -e ENTRY
> 
>  $(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE --base-file BASEFILE
> --output-exp EXPFILE
> 
>  $(LD) -s --base-file BASEFILE EXPFILE -dll -o DLLNAME OBJS LIBS -e ENTRY
> 
>  $(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE --base-file BASEFILE
> --output-exp EXPFILE
> 
>  $(LD) EXPFILE --dll -o DLLNAME OBJS LIBS -e ENTRY
> 
> $(LD) is the linker, ld.
> 
> $(DLLTOOL) is dlltool.
> 
> $(AS) is the assembler, as.
> 

It seem to me that there is some steps not needed !

  $(LD) --base-file BASEFILE --dll -o DLLNAME OBJS LIBS -e ENTRY

  $(DLLTOOL) --dllname DLLNAME --def DEFFILE --base-file BASEFILE
        --output-exp EXPFILE --output-lib LIBFILE
 
  $(LD) EXPFILE -dll -o DLLNAME OBJS LIBS -e ENTRY

This make a relocatable DLL and the import library file (LIBFILE .a).
This has worked fine everytime for me.

For a non relocatable DLL you'll need (just from memory) :

  $(DLLTOOL) --dllname DLLNAME --def DEFFILE
        --output-exp EXPFILE --output-lib LIBFILE
 
  $(LD) EXPFILE -dll -o DLLNAME OBJS LIBS -e ENTRY

Pascal.


--|------------------------------------------------------------
--| Pascal Obry                               Team-Ada Member |
--|                                                           |
--| EDF-DER-IPN-SID- G A L A X I E                            |
--|                       Intranet: http://cln49ae            |
--| Bureau N-023            e-mail: pascal DOT obry AT der DOT edfgdf DOT fr |
--| 1 Av Général de Gaulle  voice : +33-1-47.65.50.91         |
--| 92141 Clamart CEDEX     fax   : +33-1-47.65.50.07         |
--| FRANCE                                                    |
--|------------------------------------------------------------
--|
--|   http://ourworld.compuserve.com/homepages/pascal_obry
--|
--|   "The best way to travel is by means of imagination"
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019