dlltool, ou dllwrap ne font pas ça? (pas eu besoin de m'en servir jusqu'a présent)
C:\Documents and Settings\moi>c:\MinGW\gcc4\bin\dllwrap.exe --help
Usage c:\MinGW\gcc4\bin\dllwrap.exe <option(s)> <object-file(s)>
Generic options:
@<file> Read options from <file>
--quiet, -q Work quietly
--verbose, -v Verbose
--version Print dllwrap version
--implib <outname> Synonym for --output-lib
Options for c:\MinGW\gcc4\bin\dllwrap.exe:
--driver-name <driver> Defaults to "gcc"
--driver-flags <flags> Override default ld flags
--dlltool-name <dlltool> Defaults to "dlltool"
--entry <entry> Specify alternate DLL entry point
--image-base <base> Specify image base address
--target <machine> i386-cygwin32 or i386-mingw32
--dry-run Show what needs to be run
--mno-cygwin Create Mingw DLL
Options passed to DLLTOOL:
--machine <machine>
--output-exp <outname> Generate export file.
--output-lib <outname> Generate input library.
--add-indirect Add dll indirects to export file.
--dllname <name> Name of input dll to put into output lib.
--def <deffile> Name input .def file
--output-def <deffile> Name output .def file
--export-all-symbols Export all symbols to .def
--no-export-all-symbols Only export .drectve symbols
--exclude-symbols <list> Exclude <list> from .def
--no-default-excludes Zap default exclude symbols
--base-file <basefile> Read linker generated base file
--no-idata4 Don't generate idata$4 section
--no-idata5 Don't generate idata$5 section
-U Add underscores to .lib
-k Kill @<n> from exported names
--add-stdcall-alias Add aliases without @<n>
--as <name> Use <name> for assembler
--nodelete Keep temp files.
--no-leading-underscore Entrypoint without underscore
--leading-underscore Entrypoint with underscore.
Rest are passed unmodified to the language driver
Report bugs to <http://www.sourceware.org/bugzilla/>
C:\Documents and Settings\moi>c:\MinGW\gcc4\bin\dlltool --help
Usage c:\MinGW\gcc4\bin\dlltool <option(s)> <object-file(s)>
-m --machine <machine> Create as DLL for <machine>. [default: i386]
possible <machine>: arm[_interwork], i386, mcore[-elf]{-le|-be}, ppc, thumb
-e --output-exp <outname> Generate an export file.
-l --output-lib <outname> Generate an interface library.
-y --output-delaylib <outname> Create a delay-import library.
-a --add-indirect Add dll indirects to export file.
-D --dllname <name> Name of input dll to put into interface lib.
-d --input-def <deffile> Name of .def file to be read in.
-z --output-def <deffile> Name of .def file to be created.
--export-all-symbols Export all symbols to .def
--no-export-all-symbols Only export listed symbols
--exclude-symbols <list> Don't export <list>
--no-default-excludes Clear default exclude symbols
-b --base-file <basefile> Read linker generated base file.
-x --no-idata4 Don't generate idata$4 section.
-c --no-idata5 Don't generate idata$5 section.
--use-nul-prefixed-import-tables Use zero prefixed idata$4 and idata$5.
-U --add-underscore Add underscores to all symbols in interface library.
--add-stdcall-underscore Add underscores to stdcall symbols in interface library.
--no-leading-underscore All symbols shouldn't be prefixed by an underscore.
--leading-underscore All symbols should be prefixed by an underscore.
-k --kill-at Kill @<n> from exported names.
-A --add-stdcall-alias Add aliases without @<n>.
-p --ext-prefix-alias <prefix> Add aliases with <prefix>.
-S --as <name> Use <name> for assembler.
-f --as-flags <flags> Pass <flags> to the assembler.
-C --compat-implib Create backward compatible import library.
-n --no-delete Keep temp files (repeat for extra preservation).
-t --temp-prefix <prefix> Use <prefix> to construct temp file names.
-I --identify <implib> Report the name of the DLL associated with <implib>.
--identify-strict Causes --identify to report error when multiple DLLs.
-v --verbose Be verbose.
-V --version Display the program version.
-h --help Display this information.
@<file> Read options from <file>.
Report bugs to <http://www.sourceware.org/bugzilla/>
OK pour yacc, je pensais que cette histoire était résolue avec des symboles weak qu'on pouvait redéfinir avec des symboles normaux.