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 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit To: "ian AT cygnus DOT com" (Return requested) (Receipt notification requested), "root AT jacob DOT remcomp DOT fr" (Return requested) (Receipt notification requested) Cc: "gnu-win32 AT cygnus DOT com" (Return requested), "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".