Skip to content
Snippets Groups Projects
Commit 2d5ccc6a authored by Moritz Angermann's avatar Moritz Angermann
Browse files

generic lib names

parent 4a287659
No related branches found
No related tags found
No related merge requests found
......@@ -25,8 +25,10 @@ module Distribution.Simple.BuildPaths (
cppHeaderName,
haddockName,
mkGenericStaticLibName,
mkLibName,
mkProfLibName,
mkGenericSharedLibName,
mkSharedLibName,
mkStaticLibName,
......@@ -183,21 +185,27 @@ flibBuildDir lbi flib = buildDir lbi </> nm </> nm ++ "-tmp"
-- ---------------------------------------------------------------------------
-- Library file names
-- TODO: Should this use staticLibExtension?
mkGenericStaticLibName :: String -> String
mkGenericStaticLibName lib = "lib" ++ lib <.> staticLibExtension
mkLibName :: UnitId -> String
mkLibName lib = "lib" ++ getHSLibraryName lib <.> "a"
mkLibName lib = mkGenericStaticLibName (getHSLibraryName lib)
-- TODO: Should this use staticLibExtension?
mkProfLibName :: UnitId -> String
mkProfLibName lib = "lib" ++ getHSLibraryName lib ++ "_p" <.> "a"
mkProfLibName lib = mkGenericStaticLibName (getHSLibraryName lib ++ "_p")
mkGenericSharedLibName :: CompilerId -> String -> String
mkGenericSharedLibName (CompilerId compilerFlavor compilerVersion) lib
= mconcat [ "lib", lib, "-", comp <.> dllExtension ]
where comp = display compilerFlavor ++ display compilerVersion
-- Implement proper name mangling for dynamical shared objects
-- libHS<packagename>-<compilerFlavour><compilerVersion>
-- e.g. libHSbase-2.1-ghc6.6.1.so
mkSharedLibName :: CompilerId -> UnitId -> String
mkSharedLibName (CompilerId compilerFlavor compilerVersion) lib
= "lib" ++ getHSLibraryName lib ++ "-" ++ comp <.> dllExtension
where comp = display compilerFlavor ++ display compilerVersion
mkSharedLibName comp lib
= mkGenericSharedLibName comp (getHSLibraryName lib)
-- Static libs are named the same as shared libraries, only with
-- a different extension.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment