diff options
| author | Adam Izraelevitz | 2016-11-23 11:57:02 -0800 |
|---|---|---|
| committer | Jack Koenig | 2016-11-23 11:57:02 -0800 |
| commit | 66d3ec0498a73319a914eeffcb4e0b1109b5f4c5 (patch) | |
| tree | 325066fd05cc72b544d3b4d78d646e1a864119f3 /src/main/scala/firrtl/ExecutionOptionsManager.scala | |
| parent | 9a967a27aa8bb51f4b62969d2889f9a9caa48e31 (diff) | |
Stringified annotations (#367)
Restricts annotations to be string-based (and thus less typesafe)
Makes annotations more easily serializable and interact with Chisel
Diffstat (limited to 'src/main/scala/firrtl/ExecutionOptionsManager.scala')
| -rw-r--r-- | src/main/scala/firrtl/ExecutionOptionsManager.scala | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/src/main/scala/firrtl/ExecutionOptionsManager.scala b/src/main/scala/firrtl/ExecutionOptionsManager.scala index 704992c2..f91f45c5 100644 --- a/src/main/scala/firrtl/ExecutionOptionsManager.scala +++ b/src/main/scala/firrtl/ExecutionOptionsManager.scala @@ -2,7 +2,7 @@ package firrtl -import firrtl.Annotations._ +import firrtl.annotations._ import firrtl.Parser._ import firrtl.passes.memlib.{InferReadWriteAnnotation, ReplSeqMemAnnotation} import firrtl.passes.clocklist.ClockListAnnotation @@ -142,7 +142,8 @@ case class FirrtlExecutionOptions( inferRW: Seq[String] = Seq.empty, firrtlSource: Option[String] = None, customTransforms: Seq[Transform] = List.empty, - annotations: List[Annotation] = List.empty) + annotations: List[Annotation] = List.empty, + annotationFileNameOverride: String = "") extends ComposableOptions { @@ -192,6 +193,15 @@ case class FirrtlExecutionOptions( def getOutputFileName(optionsManager: ExecutionOptionsManager): String = { optionsManager.getBuildFileName(outputSuffix, outputFileNameOverride) } + /** + * build the annotation file name, taking overriding parameters + * + * @param optionsManager this is needed to access build function and its common options + * @return + */ + def getAnnotationFileName(optionsManager: ExecutionOptionsManager): String = { + optionsManager.getBuildFileName("anno", annotationFileNameOverride) + } } trait HasFirrtlOptions { @@ -206,7 +216,7 @@ trait HasFirrtlOptions { .foreach { x => firrtlOptions = firrtlOptions.copy(inputFileNameOverride = x) }.text { - "use this to override the top name default, default is empty" + "use this to override the default input file name , default is empty" } parser.opt[String]("output-file") @@ -215,8 +225,17 @@ trait HasFirrtlOptions { foreach { x => firrtlOptions = firrtlOptions.copy(outputFileNameOverride = x) }.text { - "use this to override the default name, default is empty" - } + "use this to override the default output file name, default is empty" + } + + parser.opt[String]("annotation-file") + .abbr("faf") + .valueName ("<output>"). + foreach { x => + firrtlOptions = firrtlOptions.copy(outputFileNameOverride = x) + }.text { + "use this to override the default annotation file name, default is empty" + } parser.opt[String]("compiler") .abbr("X") |
