diff options
Diffstat (limited to 'lib/compilers/haskell.js')
-rw-r--r-- | lib/compilers/haskell.js | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/compilers/haskell.js b/lib/compilers/haskell.js index ff6e8249f..e55bb37a4 100644 --- a/lib/compilers/haskell.js +++ b/lib/compilers/haskell.js @@ -27,10 +27,23 @@ import { BaseCompiler } from '../base-compiler'; import { ClangParser } from './argument-parsers'; export class HaskellCompiler extends BaseCompiler { - static get key() { return 'haskell'; } + static get key() { + return 'haskell'; + } optionsForFilter(filters, outputFilename) { - return ['-S', '-g', '-o', this.filename(outputFilename)]; + const options = ['-g', '-o', this.filename(outputFilename)]; + if (!filters.binary) + options.unshift('-S'); + return options; + } + + getSharedLibraryPathsAsArguments(libraries) { + const libPathFlag = this.compiler.libpathFlag || '-L'; + return [ + libPathFlag + '.', + ...this.getSharedLibraryPaths(libraries).map(path => libPathFlag + path), + ]; } getArgumentParser() { |