1515-- specific language governing permissions and limitations
1616-- under the License.
1717
18+ {-# LANGUAGE CPP #-}
19+
1820import Control.Monad
1921import Data.Maybe
2022import qualified Distribution.PackageDescription as PD
2123import Distribution.Simple
2224import Distribution.Simple.LocalBuildInfo
2325import Distribution.Simple.Setup
2426import Distribution.Simple.Utils
27+ #if MIN_VERSION_Cabal(3,14,0)
28+ import Distribution.Utils.Path (makeSymbolicPath )
29+ #endif
2530import Distribution.System
2631import System.Directory
2732import System.Environment
@@ -51,7 +56,12 @@ rustConfHook (description, buildInfo) flags = do
5156 library
5257 { PD. libBuildInfo =
5358 libraryBuildInfo
54- { PD. extraLibDirs = dir : PD. extraLibDirs libraryBuildInfo,
59+ { PD. extraLibDirs =
60+ #if MIN_VERSION_Cabal(3,14,0)
61+ makeSymbolicPath dir : PD. extraLibDirs libraryBuildInfo,
62+ #else
63+ dir : PD. extraLibDirs libraryBuildInfo,
64+ #endif
5565 PD. ldOptions = (" -Wl,-rpath," ++ dir) : (PD. ldOptions libraryBuildInfo)
5666 }
5767 }
@@ -63,7 +73,11 @@ rustBuildHook pkg_descr lbi hooks flags = do
6373 putStrLn " Building Rust code..."
6474 let isRelease = withProfLib lbi
6575 let cargoArgs = if isRelease then [" build" , " --release" ] else [" build" ]
76+ #if MIN_VERSION_Cabal(3,14,0)
77+ rawSystemExit (fromFlag $ buildVerbosity flags) Nothing " cargo" cargoArgs
78+ #else
6679 rawSystemExit (fromFlag $ buildVerbosity flags) " cargo" cargoArgs
80+ #endif
6781 putStrLn " Build Rust code success!"
6882 buildHook simpleUserHooks pkg_descr lbi hooks flags
6983
0 commit comments