On Wed, Dec 5, 2012 at 12:43 AM, Maynard Johnson <[email protected]> wrote:
> Fix installation to honor PREFIX and LIBDIR
>
> This patch changes the behavior of 'make install' so
> that a user can pass PREFIX to have the libpfm4 files
> installed somewhere other than the standard /usr/local
> directory.
>
> This patch also allows for a user to pass LIBDIR to
> specify a non-standard install directory for the
> libpfm library files. The standard library install
> directory is <install-dir>/lib, but on some architectures
> (including x86_64 and ppc64), 64-bit libraries are
> typically installed into a "lib64" subdirectory.
>
> This patch also removes the invocation of ldconfig from
> the lib/Makefile install target, since that results in
> and error when a non-root user is trying to install.
>
> The README was updated to document the three changes
> made in this patch.
>
> Signed-off-by: Maynard Johnson <[email protected]>
> ---
> README | 14 ++++++++++++++
> config.mk | 8 ++++++--
> lib/Makefile | 1 -
> 3 files changed, 20 insertions(+), 3 deletions(-)
>
> diff --git a/README b/README
> index 70bb052..cf2fcc3 100644
> --- a/README
> +++ b/README
> @@ -104,6 +104,20 @@ INSTALLATION
> - type make
> - type make install
>
> + - The default installation location is /usr/local. You can specify
> + a diffierent install location as follows:
> + $ make PREFIX=<install-dir> install
> + Depending on your install location, you may need to run the
> 'ldconfig'
> + command or use LD_LIBRARY_PATH when you build and run tools that
> + link to the libpfm4 library.
> +
> + - By default, libpfm library files are installed in <install-dir>/lib.
> + If 'make' builds 64-bit libraries on your system, and your target
> + architecture expects 64-bit libraries to be located in a library
> + named "lib64", then you should use the LIBDIR variable when
> installing,
> + as follows:
> + $ make LIBDIR=<install-dir>/lib64 install
> +
> - To compile and install the Python bindings, you need to go to the
> python sub-directory and type make. Python may not be systematically
> built.
> diff --git a/config.mk b/config.mk
> index 9e5504c..1a38d87 100644
> --- a/config.mk
> +++ b/config.mk
> @@ -101,8 +101,12 @@ AGE=0
> #
> # Where should things (lib, headers, man) go in the end.
> #
> -PREFIX=/usr/local
> -LIBDIR=$(PREFIX)/lib
> +ifeq (${PREFIX},)
> + PREFIX=/usr/local
> +endif
What's the point of the ifeq compared to leaving
PREFIX=/usr/local? The user can always override from cmdline: make
PREFIX=/tmp/foo
> +ifeq (${LIBDIR},)
> + LIBDIR=$(PREFIX)/lib
> +endif
What's wrong with: make LIBDIR=/tmp/foo/lib64 PREFIX=/tmp/foo?
> INCDIR=$(PREFIX)/include
> MANDIR=$(PREFIX)/share/man
> DOCDIR=$(PREFIX)/share/doc/libpfm-$(VERSION).$(REVISION).$(AGE)
> diff --git a/lib/Makefile b/lib/Makefile
> index d2f00a9..1df6894 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -281,7 +281,6 @@ ifeq ($(CONFIG_PFMLIB_SHARED),y)
> $(INSTALL) $(SLIBPFM) $(DESTDIR)$(LIBDIR)
> cd $(DESTDIR)$(LIBDIR); $(LN) $(SLIBPFM) $(VLIBPFM)
> cd $(DESTDIR)$(LIBDIR); $(LN) $(SLIBPFM) libpfm.$(SOLIBEXT)
> - $(LDCONFIG)
> endif
>
> tags:
> --
> 1.7.1
>
>
>
> ------------------------------------------------------------------------------
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> _______________________________________________
> perfmon2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/perfmon2-devel
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
perfmon2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel