Move the RPATH computation into the build rules
authorIan Lynagh <ian@well-typed.com>
Sun, 14 Oct 2012 00:31:20 +0000 (01:31 +0100)
committerIan Lynagh <ian@well-typed.com>
Sun, 14 Oct 2012 00:31:20 +0000 (01:31 +0100)
It doesn't really belong in package-data.mk

rules/build-prog.mk
utils/ghc-cabal/Main.hs

index 239f55c..a0cb9e6 100644 (file)
@@ -175,7 +175,7 @@ ifneq "$3" "0"
 ifeq "$$(DYNAMIC_BY_DEFAULT)" "YES"
 $1_$2_GHC_LD_OPTS = \
     -fno-use-rpaths \
-    $$(addprefix -optl-Wl$$(comma)-rpath -optl-Wl$$(comma),$$($1_$2_RPATHS))
+    $$(foreach d,$$($1_$2_TRANSITIVE_DEPS),-optl-Wl$$(comma)-rpath -optl-Wl$$(comma)'$$$$ORIGIN/../$$d')
 endif
 endif
 
index 001e474..e179fc8 100644 (file)
@@ -372,9 +372,6 @@ generate config_args distdir directory
           transitive_dep_ids = map Installed.sourcePackageId dep_pkgs
       wrappedIncludeDirs <- wrap $ forDeps Installed.includeDirs
       wrappedLibraryDirs <- wrap libraryDirs
-      let depDynlibDirName d = display (Installed.sourcePackageId d)
-          rpaths = map (\d -> "'$$ORIGIN/../" ++ depDynlibDirName d ++ "'")
-                       dep_pkgs
 
       let variablePrefix = directory ++ '_':distdir
       let xs = [variablePrefix ++ "_VERSION = " ++ display (pkgVersion (package pd)),
@@ -386,7 +383,6 @@ generate config_args distdir directory
                 variablePrefix ++ "_DEP_NAMES = " ++ unwords (map (display . packageName) dep_ids),
                 variablePrefix ++ "_TRANSITIVE_DEPS = " ++ unwords (map display transitive_dep_ids),
                 variablePrefix ++ "_TRANSITIVE_DEP_NAMES = " ++ unwords (map (display . packageName) transitive_dep_ids),
-                variablePrefix ++ "_RPATHS = " ++ unwords rpaths,
                 variablePrefix ++ "_INCLUDE_DIRS = " ++ unwords (includeDirs bi),
                 variablePrefix ++ "_INCLUDES = " ++ unwords (includes bi),
                 variablePrefix ++ "_INSTALL_INCLUDES = " ++ unwords (installIncludes bi),