<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Not sure what OS you are distributing for, but on OS X you can use the CMake option LLVM_CREATE_XCODE_TOOLCHAIN, which will create a “Toolchains” folder at your install prefix. That folder will contain a “.xctoolchain” folder, which can be tar’d and distributed. <div class=""><br class=""></div><div class="">Users can use it by setting the environment variable EXTERNAL_TOOLCHAINS_DIR to the path of a directory containing .xctoolchain folders, and setting the environment variable TOOLCHAINS to the toolchain identifier (which defaults to org.llvm.3.8.0svn)<div class=""><br class=""></div><div class="">-Chris<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Oct 23, 2015, at 2:57 AM, Bruce Hoult via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">The usual way to handle this is:<div class=""><br class=""></div><div class="">The "--prefix" argument or PREFIX env variable is used to specify the location in which the final program/libraries etc will be stored.</div><div class=""><br class=""></div><div class="">The "--destdir" argument or DESTDIR env variable is used to specify the location in which the build products will be placed when you do "make install". It will probably not be possible to run the program from this location, because it will look for libraries at the "PREFIX" location.</div><div class=""><br class=""></div><div class="">This makes it easy to simply tar up the entire contents of DESTDIR and then untar them in PREFIX on the same or other machines. Untarring does not affect existing files in the tree you are untarring into.</div><div class=""><br class=""></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Fri, Oct 23, 2015 at 9:00 AM, Tyler Hardin via llvm-dev <span dir="ltr" class=""><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">You could just tar up the files that will be installed and write a script to put them in their respective subdirs in /usr/local. (You could probably even steal their install script from the "install" target in their makefile.) If you look in the build directory (or it might be some subdir thereof*), there's usually a 1-1 correspondence between the folder names and the names of the folders where the files go in /usr or /usr/local. (Of course, you should check for conflicts/overwrites.)<div class=""><br class=""></div><div class="">*: It's been a while since I've compiled LLVM. I just follow the list out of interest in their progress.</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote"><div class=""><div class="h5">On Tue, Oct 20, 2015 at 4:26 PM, David Lobron via llvm-dev <span dir="ltr" class=""><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>></span> wrote:<br class=""></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><div class="h5">Hey All,<br class="">
<br class="">
I'm working on packaging the current version of llvm for use by other people at my company.  As part of this, I'd like to make a tarball of my build, so that other users do not have to rebuild from source in order to use llvm for their builds.  Ideally, I'd like my makefile to un-tar my build output, and then do a "make install" to install anything that has been updated - we have a standard install root called "common" that lives one directory up from the build directory on our build machines.<br class="">
<br class="">
The tricky thing I'm running into is that all of the makefiles generated by cmake contain absolute paths, e.g.,<br class="">
<br class="">
 "/home/dlobron/build/clangport/akamai/llvm/llvm-3.7/llvm/include/llvm"<br class="">
<br class="">
I was wondering if it's possible to build llvm in such a way that all of these files contain relative paths.  It would be perfect for me if the above line, and all other generated makefile paths, would read like this:<br class="">
<br class="">
 "../common/include/llvm"<br class="">
<br class="">
I tried setting -DCMAKE_INSTALL_PREFIX, but it picked up the full path- I wasn't sure how to tell it to keep the path relative.<br class="">
<br class="">
Thanks for any help you can give!<br class="">
<span class=""><font color="#888888" class=""><br class="">
--David</font></span><br class=""></div></div><span class="">_______________________________________________<br class="">
LLVM Developers mailing list<br class="">
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="">
<br class=""></span></blockquote></div><br class=""></div>
<br class="">_______________________________________________<br class="">
LLVM Developers mailing list<br class="">
<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="">
<br class=""></blockquote></div><br class=""></div>
_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br class=""></div></blockquote></div><br class=""></div></div></div></body></html>