Peter Tanski wrote: > On Dec 15, 2006, at 4:19 AM, Simon Marlow wrote: >> For the native Windows port, we should have a new target, probably >> i386-unknown-win32 or i386-unknown-windows. Then we can have an >> option in config.mk to control whether YASM is used, $(UseYASM), >> which would be on by default for windows_TARGET_OS. Later we might >> want to make it a configure option, but for now I'd leave it as a >> build.mk option. > > Right on. Would it be good to consolidate the hard-coded build flags > into one module, i.e., wired-in flags in DriverPipeline.hs should be > brought together in DynFlags.hs?
Sounds reaonsable. > To sum up: > * new target: i386-unknown-windows (Yasm covers Win64, > Intel and AMD) I imagine a Win64 build will look like x86_64-unknown-windows (if/when we support it; cygwin doesn't support Win64 yet, so we don't have a build system). I don't think it's necessary to change the OS to be -win64, but I could be wrong. > * windows_TARGET_OS (new cpp define) You'll get the CPP defines automatically when you tell configure about the i386-unknown-windows target. Note that there are *lots* of #ifdef mingw32_blah_blah that around the system that will need to change, it's probably a good idea to grep and look at each one individually. > Other things may need changing: > * add code to DriverPhases.hs to allow ".asm" suffix? (Not > necessary) Don't see why not, if it's easy. > * SysTools.lhs:328-329 (as-prog,as-args) are NOT (gcc_prog,gcc_args) sure > * (potential bugger): remove default use of mangler on -O and -fvia- > C on -fglasgow-exts; Don't understand this one. -fvia-C won't be available for i386-unknown-windows, right? What are you referring to with -fglasgow-exts? > Yasm chokes on /ARGS, /NO_ARGS gas directives, > may add to Yasm with special -D macro[=value] options Could you elaborate? I don't know what /ARGS is. Cheers, Simon _______________________________________________ Cvs-ghc mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/cvs-ghc