Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't `make install prefix=/tmp/llvm'. DESTDIR not supported either. #1111

Closed
llvmbot opened this issue Apr 18, 2006 · 5 comments
Closed

Can't `make install prefix=/tmp/llvm'. DESTDIR not supported either. #1111

llvmbot opened this issue Apr 18, 2006 · 5 comments
Labels
bugzilla Issues migrated from bugzilla build-problem

Comments

@llvmbot
Copy link
Collaborator

llvmbot commented Apr 18, 2006

Bugzilla Link 739
Resolution FIXED
Resolved on Mar 06, 2010 14:00
Version trunk
OS All
Reporter LLVM Bugzilla Contributor

Extended Description

make install prefix=$HOME/stow' or make install DESTDIR=$HOME/stow'
doesn't work. Installation is attempted to the prefix set at
./configure time. This breaks utilities like GNU Stow.

http://www.gnu.org/prep/standards/html_node/Command-Variables.html#Command-Variables
suggests how DESTDIR should be supported.

http://www.gnu.org/prep/standards/html_node/Directory-Variables.html#Directory-Variables
covers prefix, giving make prefix=/usr install' as an example, and covers things like no-recompilation if prefix alters between make all'
and make install'. Also, $(prefix)' should be used in Makefile
definitions, e.g. PROJ_bindir.

llvm.spec file uses DESTDIR, but does it work?

http://www.gnu.org/software/stow/manual.html#SEC6 covers how GNU Stow
can make use of configuring for one prefix but actually installing in
another.

@llvmbot
Copy link
Collaborator Author

llvmbot commented Dec 10, 2006

@llvmbot
Copy link
Collaborator Author

llvmbot commented Dec 10, 2006

The patch doesn't really fix the bug. It defines DESTDIR in the
makefile, something the GNU standards I linked to on opening the bug
explicitly rule out: "You should not set the value of DESTDIR in your
Makefile at all".

And there still isn't a variable called `prefix' that can be overridden
on the command line.

So the patch has implemented its own non-standard scheme which will just
cause confusion in the long run for packagers. May as well get it right
now, if at all.

@chandlerc
Copy link
Member

PR739.patch
This is a patch I cooked up. It provides a bare-minimum of GNU "compatability",
at the make command level. "prefix=/some/dir" can be passed in, and overrides
the ./configure prefix, and "DESTDIR=/some/dir" can be passed in to install
into a staging directory other than root. This is (from my experience and
reading the posts above) the intended purpose for both of these arguments. No
other GNU make options have been emulated in this way to keep the makefiles
clean, as this is not a GNU project.

Also, I re-arranged the makefile slightly to allow both projects and the main
LLVM build to share the same functionality without duplicating all of the
directory definitions. If it is actually desirable to have directories defined
in a different manner from one to the other (other than obviously using
separate prefixes, as is already done), I can take this out.

I hope this addresses all the concerns for this bug, I know that my building of
Gentoo ebuilds for LLVM will be eased by just this level of functionality.

@llvmbot
Copy link
Collaborator Author

llvmbot commented Jan 17, 2007

This is now mine.

@llvmbot
Copy link
Collaborator Author

llvmbot commented Jan 17, 2007

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 3, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla build-problem
Projects
None yet
Development

No branches or pull requests

2 participants