[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: PATCH autogen.sh barfs on SuSE Linux

From: Mo DeJong <supermo_at_bayarea.net>
Date: 2002-02-01 03:08:48 CET

On Tue, 29 Jan 2002 18:54:12 -0800
Colin Putney <cputney@whistler.net> wrote:

> Another, similar, annoyance that I've found is that the command line
> client doesn't depend on libapr (not sure if this is the case with
> libneon). If I make a change in apr, the library gets rebuilt because
> the top level Makefile descends into the apr tree automatically, but the
> svn binary doesn't get rebuilt as a result.

I took a quick look at this problem, but the right solution was not immediately
clear.

>From build-outputs.mk:

svn_DEPS = ...

subversion/clients/cmdline/svn: $(svn_DEPS)
    $(LINK) -o svn ... $(SVN_APR_LIBS)

>From Makefile:

SVN_APR_LIBS = $(abs_builddir)/apr/libapr.la

So if we added $(SVN_APR_LIBS) to the svn_DEPS variable
it should work as expected.

I then took a shot a changing the Makefile generation
script so that unknown kinds of lib names are included
in the deps for a target.

% svn diff gen-make.py
Index: ./gen-make.py
===================================================================
--- ./gen-make.py
+++ ./gen-make.py Thu Jan 31 17:42:18 2002
@@ -112,6 +112,7 @@
         libs.append(retreat + os.path.join(tlib.path, lib + '.la'))
       else:
         # something we don't know, so just include it directly
+ deps.append(lib)
         libs.append(lib)
 
     for man in string.split(parser.get(target, 'manpages')):

Unfortunately, this did not work because NEON_LIBS seems to include
a -L argument in addition to the .la file.

NEON_LIBS = $(abs_builddir)/neon/src/libneon.la -L/usr/local/project/install/subversion/lib -lz

This will generate the following error when make is run:

make: *** No rule to make target `-L/usr/local/project/install/subversion/lib', needed by `subversion/libsvn_ra/libsvn_ra.la'. Stop.

At that point, I just tried to add the dep to the one target without
changing the parsing code. The following seemed to fix the problem.

% svn diff build.conf
Index: ./build.conf
===================================================================
--- ./build.conf
+++ ./build.conf Thu Jan 31 17:57:45 2002
@@ -64,6 +64,7 @@
 path = subversion/clients/cmdline
 libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr
        $(SVN_APR_LIBS) libexpat
+add-deps = $(SVN_APR_LIBS)
 manpages = subversion/clients/cmdline/man/svn.1
 infopages = doc/user/manual/svn-manual.info
  doc/user/svn_for_cvs_users/svn_for_cvs_users.info

I am not sure if this is correct since it could break in the same
way if a -L flag were added to SVN_APR_LIBS. This same change
would also need to be added to the other executable targets.
Is this a "better" fix than changing the Makefile generation
code or is the right solution to add a new variable that
would be like SVN_RA_LIB_DEPS (with no -L flags in it)?

cheers
Mo DeJong

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:37:03 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.