﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
39	dllar.cmd enhancements	Yuri Dario	bird	"This patch allows dllar.cmd to produce also omf import libraries and use a predefined .def file instead of writing a new one.
Unfortunately I lost the changes for dealing with .lib static libraries.


{{{
--- E:\dev\gcc06\bin\dllar.cmd	Sun Jan 22 23:27:24 2006
+++ dllar.cmd	Wed Jan  4 11:10:32 2006
@@ -62,11 +62,10 @@
     parse arg cmdLine;
     cmdLine = cmdLine||"" ""||value('DLLAR_CMDLINE',,'OS2ENVIRONMENT');
     outFile = '';
-    useDefFile = '';
     inputFiles.0 = 0;
     description = '';
     CC = 'gcc.exe';
-    CFLAGS = '-Zcrtdll';
+    CFLAGS = '-s -Zcrtdll';
     EXTRA_CFLAGS = '';
     EXPORT_BY_ORDINALS = 0;
     exclude_symbols = '';
@@ -86,8 +85,6 @@
                 i = i + 1;
                 outFile = word(cmdLine, i);
             end;
-            when abbrev('def', substr(tmp, 2), 3) then
-                useDefFile = GetLongArg();
             when abbrev('description', substr(tmp, 2), 1) then
                 description = GetLongArg();
             when abbrev('flags', substr(tmp, 2), 1) then
@@ -103,7 +100,7 @@
             when abbrev('libflags', substr(tmp, 2), 4) then
                 library_flags = library_flags||GetLongArg()' ';
             when abbrev('nocrtdll', substr(tmp, 2), 5) then
-                CFLAGS = '';
+                CFLAGS = '-s';
             when abbrev('nolxlite', substr(tmp, 2), 5) then
                 flag_USE_LXLITE = 0;
             otherwise
@@ -210,13 +207,10 @@
     defFile = outFile'.def';
     dllFile = outFile'.dll';
     arcFile = outFile'.a';
-    arcFileOmf = outFile'.lib';
 
     if (do_backup & stream(arcFile, 'C', 'query exists') \= '') then
         call doCommand('ren 'arcFile' 'outFile'_s.a');
 
-if useDefFile = '' then 
-do
     /*
      * Extract public symbols from all the object files.
      */
@@ -262,13 +256,6 @@
     call SysFileDelete(tmpdefFile);
     drop line ordinal tmpdefFile;          /* try prevent running out of memory... */
 
-end
-else do
-
-    defFile = useDefFile;
-
-end
-
 
 if 0 then
 do
@@ -305,7 +292,6 @@
 end
 
     call doCommand('emximp -o 'arcFile defFile);
-    call doCommand('emximp -o 'arcFileOmf defFile);
     if (flag_USE_LXLITE) then
     do
         add_flags = '';
@@ -327,13 +313,12 @@
  say 'Usage: dllar [-o[utput] output_file] [-d[escription] ""dll descrption""]'
  say '       [-cc ""CC""] [-f[lags] ""CFLAGS""] [-ord[inals]] -ex[clude] ""symbol(s)""'
  say '       [-libf[lags] ""{INIT|TERM}{GLOBAL|INSTANCE}""] [-nocrt[dll]]'
- say '       [-nolxlite] [-def def_file]""'
  say '       [*.o] [*.a]'
  say '*> ""output_file"" should have no extension.'
  say '   If it has the .o, .a or .dll extension, it is automatically removed.'
  say '   The import library name is derived from this and is set to ""name"".a.'
  say '*> ""cc"" is used to use another GCC executable.   (default: gcc.exe)'
- say '*> ""flags"" should be any set of valid GCC flags. (default: -Zcrtdll)'
+ say '*> ""flags"" should be any set of valid GCC flags. (default: -s -Zcrtdll)'
  say '   These flags will be put at the start of GCC command line.'
  say '*> -ord[inals] tells dllar to export entries by ordinals. Be careful.'
  say '*> -ex[clude] defines symbols which will not be exported. You can define'
@@ -344,8 +329,6 @@
  say '   TERMGLOBAL/TERMINSTANCE flags to the dynamically-linked library.'
  say '*> -nocrtdll switch will disable linking the library against emx''s'
  say '   C runtime DLLs.'
- say '*> -nolxlite does not compress executable'
- say '*> -def def_file do not generate .def file, use def_file instead.'
  say '*> All other switches (for example -L./ or -lmylib) will be passed'
  say '   unchanged to GCC at the end of command line.'
  say '*> If you create a DLL from a library and you do not specify -o,'

}}}
"	enhancement	closed	normal	libc-0.6.2	emx	0.6	normal	fixed		
