summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClemens Fruhwirth <clemens@endorphin.org>2007-12-28 18:40:24 +0000
committerClemens Fruhwirth <clemens@endorphin.org>2007-12-28 18:40:24 +0000
commit88e09197fcd710148c7a6b990b9a2b4706b49881 (patch)
tree931a8bd74ace9c6487889c54374e09e250316e9e
parent323f97a926395f7e86d6450e247ec0604d7d1765 (diff)
downloadhaskell-88e09197fcd710148c7a6b990b9a2b4706b49881.tar.gz
Install dynlibs correctly
Add dynlibdir target to config.mk.in, setting it to @libdir@. Invoke installPackage with dynlibdir at libraries/Makefile Make installPackage.hs hand dynlibdir to Cabal.
-rw-r--r--libraries/Makefile4
-rw-r--r--libraries/installPackage.hs10
-rw-r--r--mk/config.mk.in1
3 files changed, 10 insertions, 5 deletions
diff --git a/libraries/Makefile b/libraries/Makefile
index 57c9adf3ab..9bd393bb1d 100644
--- a/libraries/Makefile
+++ b/libraries/Makefile
@@ -94,6 +94,7 @@ iprefix = $$topdir
ibindir = $$topdir
ilibdir = $$topdir
ilibexecdir = $$topdir
+idynlibdir = $$topdir
idatadir = $$topdir
idocdir = $$topdir/doc/libraries/$$pkg
ihaddockdir = $$topdir/doc/libraries/$$pkg
@@ -106,6 +107,7 @@ iprefix = $(prefix)
ibindir = $(bindir)
ilibdir = $(libdir)
ilibexecdir = $(libexecdir)
+idynlibdir = $(dynlibdir)
idatadir = $(datadir)
idocdir = $(docdir)/libraries/$$pkg
ihaddockdir = $(htmldir)/libraries/$$pkg
@@ -372,7 +374,7 @@ $(foreach SUBDIR,$(SUBDIRS),install.library.$(SUBDIR)): \
install.library.%: installPackage/installPackage ifBuildable/ifBuildable
if ifBuildable/ifBuildable $*; then \
cd $* && \
- ../installPackage/installPackage install '$(GHC_PKG_PROG)' '$(DESTDIR)$(libdir)/package.conf' '$(DESTDIR)' '$(prefix)' '$(iprefix)' '$(ibindir)' '$(ilibdir)' '$(ilibexecdir)' '$(idatadir)' '$(idocdir)' '$(ihtmldir)' '$(ihaddockdir)' ; \
+ ../installPackage/installPackage install '$(GHC_PKG_PROG)' '$(DESTDIR)$(libdir)/package.conf' '$(DESTDIR)' '$(prefix)' '$(iprefix)' '$(ibindir)' '$(ilibdir)' '$(ilibexecdir)' '$(idynlibdir)' '$(idatadir)' '$(idocdir)' '$(ihtmldir)' '$(ihaddockdir)' ; \
fi
.PHONY: binary-dist binary-dist.library.%
diff --git a/libraries/installPackage.hs b/libraries/installPackage.hs
index 371604b131..df2a9e20d3 100644
--- a/libraries/installPackage.hs
+++ b/libraries/installPackage.hs
@@ -17,12 +17,12 @@ main
let verbosity = mkVerbosity args'
in doRegisterInplace verbosity
"install" : ghcpkg : ghcpkgconf : destdir : topdir :
- iprefix : ibindir : ilibdir : ilibexecdir :
+ iprefix : ibindir : ilibdir : ilibexecdir : idynlibdir :
idatadir : idocdir : ihtmldir : ihaddockdir :
args' ->
let verbosity = mkVerbosity args'
in doInstall verbosity ghcpkg ghcpkgconf destdir topdir
- iprefix ibindir ilibdir ilibexecdir idatadir
+ iprefix ibindir ilibdir ilibexecdir idynlibdir idatadir
idocdir ihtmldir ihaddockdir
_ ->
error ("Bad arguments: " ++ show args)
@@ -54,10 +54,10 @@ doRegisterInplace verbosity =
doInstall :: Verbosity -> FilePath -> FilePath -> FilePath -> FilePath
-> FilePath -> FilePath -> FilePath -> FilePath -> FilePath
- -> FilePath -> FilePath -> FilePath
+ -> FilePath -> FilePath -> FilePath -> FilePath
-> IO ()
doInstall verbosity ghcpkg ghcpkgconf destdir topdir
- iprefix ibindir ilibdir ilibexecdir idatadir
+ iprefix ibindir ilibdir ilibexecdir idynlibdir idatadir
idocdir ihtmldir ihaddockdir =
do let userHooks = simpleUserHooks
copyto = if null destdir then NoCopyDest else CopyTo destdir
@@ -92,6 +92,7 @@ doInstall verbosity ghcpkg ghcpkgconf destdir topdir
i_copy = i { prefix = toPathTemplate' iprefix,
bindir = toPathTemplate' ibindir,
libdir = toPathTemplate' ilibdir,
+ dynlibdir = toPathTemplate' idynlibdir,
libexecdir = toPathTemplate' ilibexecdir,
datadir = toPathTemplate' idatadir,
docdir = toPathTemplate' idocdir,
@@ -114,6 +115,7 @@ doInstall verbosity ghcpkg ghcpkgconf destdir topdir
i_reg = i { prefix = toPathTemplate iprefix,
bindir = toPathTemplate ibindir,
libdir = toPathTemplate ilibdir,
+ dynlibdir = toPathTemplate idynlibdir,
libexecdir = toPathTemplate ilibexecdir,
datadir = toPathTemplate idatadir,
docdir = toPathTemplate idocdir,
diff --git a/mk/config.mk.in b/mk/config.mk.in
index 5283f66791..1ce9751b02 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -557,6 +557,7 @@ datadir0 := @datadir@
libdir0 := @libdir@
includedir := @includedir@
mandir := @mandir@
+dynlibdir := @libdir@
ifeq "$(RelocatableBuild)" "YES"