libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libtool check libraries always result in 'uninstalled' binary script


From: James Leek
Subject: Re: libtool check libraries always result in 'uninstalled' binary script
Date: Thu, 06 Nov 2008 10:32:46 -0800
User-agent: Thunderbird 2.0.0.14 (X11/20080515)

Ralf Wildenhues wrote:
Hello James,

* James Leek wrote on Thu, Nov 06, 2008 at 06:23:25PM CET:
Hi, I'm having a bit of a problem. I would really like to build my tests as installed-type binaries when I run 'make installcheck' in order to make it easier to run a debugger on them. However, each tests requires its own dynamically loadable convenience library.

First off, what you're trying to do fits much better with the 'check'
target than with the 'installcheck' target: the former is meant to test
things before you ever run 'make install', the latter is meant to test
those things you have actually created with 'make install'; also, it is
nice if 'make installcheck' does not change the object files in the
build tree.

So, to summarize, I'd rename your installcheck-local target to
check-local.
I guess I don't quite get your point here. I have a program and its associated libraries that I do install call Coop. When I run installcheck I want the tests to link against the installed versions of Coop's libraries. Hence this weird rule:

installcheck-local : installcheck-not-check
   $(MAKE) $(AM_MAKEFLAGS) \
       LIBCOOP_INCLDIRS=-I$(includedir) \
       LIBCOOP_LIBDIRS=-L$(libdir) \
       LIBCOOP_PYPATH=$(bindir) \
       $(check_LTLIBRARIES) $(check_PROGRAMS) \
       $(check_SCRIPTS) check-TESTS

I'm forcing the tests to find the installed includes and libs by changing those LIBCOOP variables. In the build directory, those libraries are all in different directories, but during install they all end up in libdir. Admittedly, it seems like there should be some more obvious way to do this, but I haven't figured it out yet. Do you have a suggestion?
check_PROGRAMS = Master Slave
check_LTLIBRARIES = libslave.la libslave_cxxstub.la

For your actual problem, namely avoiding the shell wrapper for
uninstalled programs, try adding -no-install to Master_LDFLAGS and
Slave_LDFLAGS.  You still won't be able to debug easily on w32 systems,
though.

Hey, that worked great. Luckily I don't care about w32 systems. I wasn't aware of the -no-install flag, but my initial guess would've been that it would go on the libraries, not the binary. Apparently I would have been wrong.
check_SCRIPTS  = lt-Master

What is this line for?
You know, I have no idea. It was there when I inherited the code, and I just never touched it. I guess I'll take it out and see if anything bad happens.

Thanks,
Jim




reply via email to

[Prev in Thread] Current Thread [Next in Thread]