Globally replace "hackage.haskell.org" with "ghc.haskell.org"
[ghc.git] / rules / relative-dynlib-references.mk
1 # -----------------------------------------------------------------------------
2 #
3 # (c) 2009 The University of Glasgow
4 #
5 # This file is part of the GHC build system.
6 #
7 # To understand how the build system works and how to modify it, see
8 # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture
9 # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying
10 #
11 # -----------------------------------------------------------------------------
12
13
14 # Make dynlib references use relative paths, so that everything works
15 # without the build tree.
16
17 define relative-dynlib-references
18 # $1 = dir
19 # $2 = distdir
20 # $3 = GHC stage to use (0 == bootstrapping compiler)
21
22 ifeq "$$(TargetOS_CPP)" "darwin"
23 ifneq "$3" "0"
24 # Use relative paths for all the libraries
25 ifneq "$$($1_$2_TRANSITIVE_DEP_NAMES)" ""
26 install_name_tool $$(foreach d,$$($1_$2_TRANSITIVE_DEP_NAMES), -change $$(TOP)/$$($$($$d_INSTALL_INFO)_dyn_LIB) @loader_path/../$$d-$$($$($$d_INSTALL_INFO)_VERSION)/$$($$($$d_INSTALL_INFO)_dyn_LIB_NAME)) $$@
27 endif
28 # Use relative paths for the RTS. Rather than try to work out which RTS
29 # way is being linked, we just change it for all ways
30 install_name_tool $$(foreach w,$$(rts_WAYS), -change $$(TOP)/$$(rts_$$w_LIB) @loader_path/../rts-$$(rts_VERSION)/$$(rts_$$w_LIB_NAME)) $$@
31 install_name_tool -change $$(TOP)/$$(wildcard libffi/build/inst/lib/libffi.*.dylib) @loader_path/../rts-$$(rts_VERSION)/libffi.dylib $$@
32 endif
33 endif
34
35 endef