[GHC] #12504: Windows: Using hsc2hs in combination with inline-c generates the .c files with invalid paths
GHC
ghc-devs at haskell.org
Sat Aug 20 04:31:27 UTC 2016
#12504: Windows: Using hsc2hs in combination with inline-c generates the .c files
with invalid paths
----------------------------------------+----------------------------
Reporter: rcook | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: hsc2hs | Version: 8.0.1
Keywords: | Operating System: Windows
Architecture: Unknown/Multiple | Type of failure: Other
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
----------------------------------------+----------------------------
Repro steps:
* Install Stack on a ''Windows'' development machine.
* Create new simple project with `stack new inlinecbug simple`.
* Rename `src/Main.hs` to `src/Main.hsc` in the `inlinecbug` project
directory.
* Build project with `stack build` and run with `stack exec inlinecbug` to
verify that hsc2hs works correctly.
* Replace content of `src/Main.hsc` with following:
{{{#!hs
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
import qualified Language.C.Inline as C
C.include "<math.h>"
main :: IO ()
main = do
x <- [C.exp| double{ cos(1) } |]
print x
}}}
* In `inlinecbug.cabal` add `inline-c` to the `build-depends` section of
`executable inlinecbug`.
* Add the line `c-source-files: src/Main.c` to the `executable inlinecbug`
section.
* Rebuild with `stack build`.
Build will fail with a linker error referring to a undefined reference to
an `inline_c_main...` function. List the files in the root directory of
the project and you'll see that inline-c has generated a file with the
name `srcMain.c`: i.e. the backslashes in the Windows path have been
removed.
Building under Linux generates the C output file with the correct,
expected path of `src/Main.c` and the program will compile, link and run
as expected.
See also: https://github.com/fpco/inline-c/issues/50
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12504>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list