From: khan AT xraylith DOT wisc DOT edu (Mumit Khan) Subject: dlltool/dllwrap changes 24 Oct 1998 21:31:26 -0700 Message-ID: <9810250411.AA23741.cygnus.cygwin32.developers@modi.xraylith.wisc.edu> To: cygwin32-developers AT cygnus DOT com I have the following changes which would be good to get in the release. Please let me know if it's acceptable and I'll send a patch against b20-a4. Highlights: - dllwrap now can create DEF files on the fly by scanning the object files on the command line. Also creates an import library if you tell it to (via --implib or --output-lib). - dlltool can use the LIBRARY/NAME in DEF files to supply the dll name (instead of leaving it empty, which is annoying and error-prone). Command line --dllname overrides the DEF file entry. - ``dlltool --output-def --add-stdcall-alias'' outputs aliases without the @ so that GetProcAddress works without having to supply the ordinal. It's trivial, but goes a long way in using DLLs easier. Example: $ dlltool --output-def foo.def foo.o $ cat foo.def EXPORTS foo AT 0 @ 1; $ dlltool --add-stdcall-alias --output-def foo.def foo.o $ cat foo.def EXPORTS foo AT 0 @ 1; foo = foo AT 0 @ 2; Sat Oct 24 21:43:06 1998 Mumit Khan * dlltool.c (add_stdcall_alias): New global. (long_options): Add --add-stdcall-alias option. (main): Handle it. (scan_drectve_symbols): Add alias if --add-stdcall-alias is specified. (scan_filtered_symbols): Likewise. (gen_def_file): Output alias for stdcall syms if appropriate. * binutils.texi (dlltool): Document --add-stdcall-alias option. * dllwrap.c (long_options): Add --add-stdcall-alias option. (main): Handle it. * defparse.y (opt_name): Allow "." in name. * dlltool.c (def_name): Set dll_name from NAME entry in def file. (def_library): Set dll_name from LIBRARY entry in def file. Wed Sep 23 10:18:31 1998 Mumit Khan * dllwrap.c (long_options): --implib synonym for --output-lib. (main): Pass --export-all to dlltool only if specified. (program_version): Up to 0.2.3. Thu Sep 17 23:32:22 1998 Mumit Khan * dllwrap.c (mybasename): New function. (main): Run dlltool to create export definition file and import library file if necessary. Change exp_file_name so that it's based on the dll name.