mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
[OCaml] Avoid embedding absolute paths into executables.
Bindings built out-of-tree, e.g. via OPAM, should append a line to META.llvm like the following: linkopts = "-cclib -L$libdir -cclib -Wl,-rpath,$libdir" where $libdir is the lib/ directory where LLVM libraries are installed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221139 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
29e82393ab
commit
cf0fe98b05
@ -53,7 +53,15 @@ endif
|
||||
# from toplevels.
|
||||
ifneq ($(ObjectsO),)
|
||||
ifeq ($(ENABLE_SHARED),1)
|
||||
OCAMLSTUBS := 1
|
||||
OCAMLSTUBS := 1
|
||||
OCAMLSTUBFLAGS := $(patsubst %,-cclib %, $(LLVMLibsOptions) -l$(LIBRARYNAME))
|
||||
endif
|
||||
endif
|
||||
|
||||
# Avoid the need for LD_LIBRARY_PATH
|
||||
ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
|
||||
ifneq ($(HOST_OS),Darwin)
|
||||
OCAMLRPATH := $(RPATH) -Wl,'$$ORIGIN/../../lib'
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -81,15 +89,6 @@ Compile.CMI := $(strip $(OCAMLFIND) c -c $(OCAMLCFLAGS) $(OCAMLDEBUGFLAG) -o)
|
||||
Compile.CMO := $(strip $(OCAMLFIND) c -c $(OCAMLCFLAGS) $(OCAMLDEBUGFLAG) -o)
|
||||
Compile.CMX := $(strip $(OCAMLFIND) opt -c $(OCAMLCFLAGS) $(OCAMLDEBUGFLAG) -o)
|
||||
|
||||
ifdef OCAMLSTUBS
|
||||
# Avoid the need for LD_LIBRARY_PATH
|
||||
ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
|
||||
ifneq ($(HOST_OS),Darwin)
|
||||
OCAMLRPATH := $(RPATH) -Wl,'$(SharedLibDir)'
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef OCAMLSTUBS
|
||||
Archive.CMA := $(strip $(OCAMLFIND) c -a -dllib -l$(LIBRARYNAME) $(OCAMLDEBUGFLAG) \
|
||||
-o)
|
||||
@ -99,10 +98,7 @@ Archive.CMA := $(strip $(OCAMLFIND) c -a -custom $(OCAMLAFLAGS) $(OCAMLDEBUGFLA
|
||||
endif
|
||||
|
||||
ifdef OCAMLSTUBS
|
||||
Archive.CMXA := $(strip $(OCAMLFIND) opt -a $(patsubst %,-cclib %, \
|
||||
$(LLVMLibsOptions) -l$(LIBRARYNAME) \
|
||||
-L$(SharedLibDir) $(OCAMLRPATH)) \
|
||||
$(OCAMLDEBUGFLAG) -o)
|
||||
Archive.CMXA := $(strip $(OCAMLFIND) opt -a $(OCAMLSTUBFLAGS) $(OCAMLDEBUGFLAG) -o)
|
||||
else
|
||||
Archive.CMXA := $(strip $(OCAMLFIND) opt -a $(OCAMLAFLAGS) $(OCAMLDEBUGFLAG) -o)
|
||||
endif
|
||||
@ -431,6 +427,9 @@ printcamlvars::
|
||||
$(Echo) "LLVM_CONFIG : " '$(LLVM_CONFIG)'
|
||||
$(Echo) "OCAMLCFLAGS : " '$(OCAMLCFLAGS)'
|
||||
$(Echo) "OCAMLAFLAGS : " '$(OCAMLAFLAGS)'
|
||||
$(Echo) "OCAMLRPATH : " '$(OCAMLRPATH)'
|
||||
$(Echo) "OCAMLSTUBS : " '$(OCAMLSTUBS)'
|
||||
$(Echo) "OCAMLSTUBFLAGS : " '$(OCAMLSTUBFLAGS)'
|
||||
$(Echo) "OCAMLFIND : " '$(OCAMLFIND)'
|
||||
$(Echo) "Compile.CMI : " '$(Compile.CMI)'
|
||||
$(Echo) "Compile.CMO : " '$(Compile.CMO)'
|
||||
@ -438,6 +437,7 @@ printcamlvars::
|
||||
$(Echo) "Compile.CMX : " '$(Compile.CMX)'
|
||||
$(Echo) "Archive.CMXA : " '$(Archive.CMXA)'
|
||||
$(Echo) "CAML_LIBDIR : " '$(CAML_LIBDIR)'
|
||||
$(Echo) "LibraryA : " '$(LibraryA)'
|
||||
$(Echo) "LibraryCMA : " '$(LibraryCMA)'
|
||||
$(Echo) "LibraryCMXA : " '$(LibraryCMXA)'
|
||||
$(Echo) "SharedLib : " '$(SharedLib)'
|
||||
|
@ -201,7 +201,8 @@ config.substitutions.append( ('%ocamlc',
|
||||
"%s ocamlc %s" % (config.ocamlfind_executable, config.ocaml_flags)) )
|
||||
if config.have_ocamlopt in ('1', 'TRUE'):
|
||||
config.substitutions.append( ('%ocamlopt',
|
||||
"%s ocamlopt %s" % (config.ocamlfind_executable, config.ocaml_flags)) )
|
||||
"%s ocamlopt -cclib -L%s -cclib -Wl,-rpath,%s %s" %
|
||||
(config.ocamlfind_executable, llvm_lib_dir, llvm_lib_dir, config.ocaml_flags)) )
|
||||
else:
|
||||
config.substitutions.append( ('%ocamlopt', "true" ) )
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user