Opened 7 years ago

Closed 6 years ago

Last modified 4 years ago

#1248 closed task (fixed)

Use sensible flags for ghc -M

Reported by: simonpj Owned by: igloo
Priority: normal Milestone: 6.10.1
Component: Compiler Version: 6.6
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Difficulty: Easy (less than 1 hour)
Test Case: Blocked By:
Blocking: Related Tickets:

Description

The ghc -M dependency analyser requires you to specify flags in a very obscure way:

  ghc -M -opt-dep-f -opt-depFunnyMakefile -optdep-include-pkg-deps

Simon M writes: "It's historical (because mkdependHS used to be a separate script), but we can't just remove it because there's overlap between the -optdep options and the main GHC options. I don't mind introducing new names for the relevant options."

So the task is to decide names for the flags, implement the change, and document it.

(Currently DriverMkDepend.hs does its own flaggery.)

Change History (9)

comment:1 Changed 6 years ago by simonmar

  • Milestone changed from 6.8 branch to 6.10 branch
  • Owner igloo deleted

Probably want to do #1880 first.

comment:2 Changed 6 years ago by igloo

  • Milestone changed from 6.10 branch to 6.10.1

I'm not sure if doing #1880 first is important, but it would be good to do this for 6.10.1 so that we can rely on the new flags existing sooner.

comment:3 Changed 6 years ago by igloo

  • Owner set to igloo

comment:4 Changed 6 years ago by igloo

OK, I've sorted out the argument parsing, so now it's just a matter of picking good new names and marking the old ones as deprecated. Any objections to these?

-optdep-f                 -> --dep-makefile
-optdep-s                 -> --dep-suffix
-optdep--include-pkg-deps -> --include-pkg-deps
-optdep--exclude-module   -> --exclude-module

comment:5 Changed 6 years ago by simonmar

Yes, but with single dashes only. Right now the only double-dash options are "mode" options, which seems as good a convention as any.

comment:6 Changed 6 years ago by igloo

  • Resolution set to fixed
  • Status changed from new to closed

Done.

comment:7 Changed 6 years ago by simonmar

  • Architecture changed from Unknown to Unknown/Multiple

comment:8 Changed 6 years ago by simonmar

  • Operating System changed from Unknown to Unknown/Multiple

comment:9 Changed 4 years ago by simonmar

  • Difficulty changed from Easy (1 hr) to Easy (less than 1 hour)
Note: See TracTickets for help on using tickets.