This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Apologies



> -----Message d'origine-----
> De:   ian@cygnus.com 
> Date: samedi 21 février 1998 05:35
> À:    root@jacob.remcomp.fr
> Cc:   gnu-win32@cygnus.com; noer@cygnus.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.obry@der.edfgdf.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@cygnus.com" with one line of text: "help".


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]