On Thu, Oct 23, 2003 at 09:59:10PM -0400, Bob Rossi wrote:
> The problem is, I wrote the Makefile.am's without really knowing
> anything about autoconf/automake. I am seeing that you basically changed
> top_srcdir with top_builddir. What's the difference? From the autoconf
> page I see
> top_srcdir: The relative path to the top-level source code directory for
> the package.
> top_builddir: The relative path to the top-level of the current build
> tree.
> I don't really know how this relates to cgdb or why you changed it.
If you want to do an out-of-directory build (i.e. ../cgdb-src/configure && make)
you need to point to the right directory - the one the files are actually in.
Out-of-directory builds especially work nicely with read-only source trees
and symlinked source trees. The latter is often used when creating patches
relative to a read-only (already-released/canonical) source tree: you untar
the source tree, make it read-only, symlink-tree it (the script can be found
in the gcc sources and comes in really handy) and do an out-of-tree build
on the symlink tree. You can then run diff between the r/o source tree and
the r/w symlink tree after you've made changes to the files in the symlink
tree (unlinking every file you change).
When I made the patch, I was working with an out-of-tree build, as is normal
for Cygwin packages, and as I normally do for my own builds for the reasons
described above..
> I noticed that you also changed the noinst_bin_PROGRAMS and
> noinst_bindir to noinst_PROGRAMS. This doesn't work so well for me since
> programs no longer install into the cgdb/progs directory. What would you
> recommend for this?
AFAICT, you don't actually want to install those files (with make install)
do you? If so, you can have them constructed in-place (with noinst_PROGRAMS)
and use the $(builddir) variable to find out where they are.
I don't quite remember what the problems were with the noinst_bindir setup,
but there was a reason why I removed it.. I'd have to try to find out. In
any case, after removing it the build I did worked w/o any problems.
> I applied your patch, and it builds in the tree properly. What is the
> command that you were using to build out of the tree? I would like to
> make sure they both work before I commit the patch.
From the root of your work directory:
$ tar xzvf cgdb-version-src.tar.gz
$ mkdir cgdb-build
$ cd cgdb-build
$ ../cgdb-version/configure --prefix=/usr
$ make
$ make install DESTDIR=`pwd`/../cgdb-install
HTH
rlc
|