From: Stephen M. W. <ste...@cr...> - 2003-06-06 13:13:02
|
On June 6, 2003 08:50 am, Curt Arnold wrote: > I remember writing moderately extensively on the bidding process a long > time ago, however its probably on the mailing list and not in the task > documentation. I'll try to incorporate more detail on that in the > documentation. Please. > Disabling compiler extensions is probably worth its own attribute. Are > there any other generic concepts that you find yourself resorting to > <compilerarg/>'s to specify? (1) Turning on optimization when not building in debug mode. The default optimization mode for GCC is -O (minimum optimization) and MSVC is -Od (disabled). Better defaults in non-debug mode would be -Os for both compilers. While not <compilerargs/>s, these are <linkerarg/>s used for generic concepts. (2) Symbol stripping in non-debug mode. This can be a little tricky on some platforms when building shared libraries. (3) Shared library versioning. PE targets (Win32 DLLs) are straitforward, ELF targets (Linux, Solaris) have both internal and external versioning, and MACH-O (Mac OS X) supports whole-archive versioning with compatibility ranges. Some targets (the BSD a.out format, for example) support versioning only through library naming schemes. The final thing is that it would be really really really nice if there was some way of extracting the final library/executable name produced by the <cc/> task rather than duplicating the functionality elsewhere. -- Stephen M. Webb |