Subject: RE: Imake, DLLs again
From: "Suhaib Siddiqi" <[email-masked]>
To: "Richard" <[email-masked]>
Cc: "[email-masked]" <[email-masked]>
Date: Wed, 18 Aug 1999 13:09:29 -0400

The other option is to use libTools, if you do not have  service-def.cpp.  I
have a ltmain.sh,
configure and ltconfig which I use with LessTif and libGGI to make DLLs.  I
usually take my versions of configure, ltconfig and ltmain.sh and replace
the one which comes with lesstif etc Would be glad to share these scripts
with

Suhaib

  -----Original Message-----
  From: [email-masked]
[mailto:[email-masked]]On Behalf Of Richard
  Sent: Wednesday, August 18, 1999 12:51 PM
  To: [email-masked]
  Subject: Imake, DLLs again

  Sorry, that Imake rule was incomplete.  It should have been:
  #define SharedLibraryTarget(libname,rev,solist,down,up)
@@\
  AllTarget(Concat3(lib,libname,.dll))
@@\
           @@\

CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFIL
ES)) @@\
           @@\

@@\
  junk.c:
@@\
   echo "#include <cygwin/cygwin_dll.h>"  >junk.c  @@\
   echo "DECLARE_CYGWIN_DLL(dll_main);"  >>junk.c @@\
   echo "int WINAPI dll_main(HANDLE a, DWORD reason, void *q)" >>junk.c  @@\
   echo "{ return 1; }"    >>junk.c @@\
  Concat3(lib,libname,.dll): solist junk.o libname.def   @@\
   RemoveFile(LibraryTargetName(libname))    @@\
   RemoveFile(Concat3(lib,libname,.dll))    @@\
   MakeDLL(libname,solist)      @@\
   LinkBuildLibrary(Concat3(lib,libname,.a))   @@\
  clean::         @@\
   RemoveFile(LibraryTargetName(libname))    @@\
   RemoveFile(Concat3(lib,libname,.dll))    @@\
   RemoveFile(junk.o)      @@\
   RemoveFile(junk.c)      @@\
   RemoveFile($(BASE_COUNTER))