You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Ben Collins-Sussman <su...@collab.net> on 2003/02/28 00:31:45 UTC
busted 'make swig-py'...
...if you use a non-GNU system.
That is, 'make swig-py' doesn't work unless make == GNU make.
We're somehow defining "*.i" targets in a way that GNU make
understands, but not conventional BSD make. If you use BSD make, then
it the -i flag is never passed to swig.
But I know nothing about our swig build system. Just thought I'd
throw this problem out there, because I wasted a lot of time before I
thought of running 'gmake swig-py'. :-)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: busted 'make swig-py'...
Posted by Ben Collins-Sussman <su...@collab.net>.
Matt Kraai <kr...@alumni.cmu.edu> writes:
> Could a BSD user please test the following, then?
Yup, your ammended patch works perfectly for me on FreeBSD.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: busted 'make swig-py'...
Posted by Matt Kraai <kr...@alumni.cmu.edu>.
On Fri, Feb 28, 2003 at 03:58:10PM -0800, Greg Stein wrote:
> On Fri, Feb 28, 2003 at 03:11:16PM -0800, Matt Kraai wrote:
> >...
> > +++ build/gen_make.py (working copy)
> > @@ -208,14 +208,16 @@
> >
> > for objname, sources in self.graph.get_deps(gen_base.DT_SWIG_C):
> > deps = string.join(sources)
> > - self.ofile.write('%s: %s\n\t$(RUN_SWIG_%s)\n'
> > - % (objname, deps, string.upper(objname.lang_abbrev)))
> > + self.ofile.write('%s: %s\n\t$(RUN_SWIG_%s) %s\n'
> > + % (objname, deps, string.upper(objname.lang_abbrev),
> > + deps))
>
> We don't want all of the deps. Just the first one, which is sources[0].
>
> > for objname, sources in self.graph.get_deps(gen_base.DT_OBJECT):
> > deps = string.join(sources)
> > cmd = getattr(objname, 'build_cmd', '')
> > if cmd:
> > - self.ofile.write('%s: %s\n\t%s\n' % (objname, deps, cmd))
> > + self.ofile.write('%s: %s\n\t%s %s\n'
> > + % (objname, deps, cmd, deps.split()[0]))
>
> No need to split. Just use sources[0].
Could a BSD user please test the following, then?
Matt
--
Oink!
Index: Makefile.in
===================================================================
--- Makefile.in (revision 5141)
+++ Makefile.in (working copy)
@@ -117,11 +117,11 @@
LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE)
# special compilation for files destined for mod_dav_svn
-COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c $<
+COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c
# special compilation for files destined for libsvn_swig_* (e.g. swigutil_*.c)
-COMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) -DSWIGPYTHON $(CFLAGS) $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@ -c $<
-COMPILE_SWIG_JAVA = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(SWIG_JAVA_INCLUDES) $(INCLUDES) -o $@ -c $<
+COMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) -DSWIGPYTHON $(CFLAGS) $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@ -c
+COMPILE_SWIG_JAVA = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(SWIG_JAVA_INCLUDES) $(INCLUDES) -o $@ -c
LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
@@ -130,12 +130,12 @@
# these commands run SWIG to generate wrapper source files (*.c)
### should we protect against swig not being available?
-RUN_SWIG_PY = $(SWIG) -c -python -noproxy $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -o $@ $<
-RUN_SWIG_JAVA = cd ${SWIG_SRC_DIR}/java/org/tigris/subversion/swig && $(SWIG) -c -java -noproxy -package 'org.tigris.subversion.swig' $(SWIG_INCLUDES) -o ${abs_builddir}/$@ ${abs_builddir}/$<
+RUN_SWIG_PY = $(SWIG) -c -python -noproxy $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -o $@
+RUN_SWIG_JAVA = cd ${SWIG_SRC_DIR}/java/org/tigris/subversion/swig && $(SWIG) -c -java -noproxy -package 'org.tigris.subversion.swig' $(SWIG_INCLUDES) -o ${abs_builddir}/$@
# Compilation of SWIG-generated C source code
-COMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@ $<
-COMPILE_JAVA_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_JAVA_COMPILE) -DSWIGJAVA $(SWIG_INCLUDES) $(SWIG_JAVA_INCLUDES) -prefer-pic -c -o $@ $<
+COMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@
+COMPILE_JAVA_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_JAVA_COMPILE) -DSWIGJAVA $(SWIG_INCLUDES) $(SWIG_JAVA_INCLUDES) -prefer-pic -c -o $@
# these commands link the wrapper objects into an extension library/module
LINK_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_PY_LINK) $(SWIG_LDFLAGS) -rpath $(swig_pydir) -avoid-version -module
Index: build/gen_make.py
===================================================================
--- build/gen_make.py (revision 5141)
+++ build/gen_make.py (working copy)
@@ -208,14 +208,15 @@
for objname, sources in self.graph.get_deps(gen_base.DT_SWIG_C):
deps = string.join(sources)
- self.ofile.write('%s: %s\n\t$(RUN_SWIG_%s)\n'
- % (objname, deps, string.upper(objname.lang_abbrev)))
+ self.ofile.write('%s: %s\n\t$(RUN_SWIG_%s) %s\n'
+ % (objname, deps, string.upper(objname.lang_abbrev),
+ sources[0]))
for objname, sources in self.graph.get_deps(gen_base.DT_OBJECT):
deps = string.join(sources)
cmd = getattr(objname, 'build_cmd', '')
if cmd:
- self.ofile.write('%s: %s\n\t%s\n' % (objname, deps, cmd))
+ self.ofile.write('%s: %s\n\t%s %s\n' % (objname, deps, cmd, sources[0]))
else:
self.ofile.write('%s: %s\n' % (objname, deps))
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: busted 'make swig-py'...
Posted by Greg Stein <gs...@lyra.org>.
On Fri, Feb 28, 2003 at 03:11:16PM -0800, Matt Kraai wrote:
> On Fri, Feb 28, 2003 at 10:41:47PM +0000, Joe Orton wrote:
>...
> > This is a common mistake - you can only use $< in inference rules (.c.o
> > style) to be portable.
Grr...
>...
> > In the BSD make Ben uses $< will expand to
> > nothing in this case - in GNU make it will expand to the left-most
> > dependency (or all of them, I can't remember).
Just the left-most.
>...
> +++ build/gen_make.py (working copy)
> @@ -208,14 +208,16 @@
>
> for objname, sources in self.graph.get_deps(gen_base.DT_SWIG_C):
> deps = string.join(sources)
> - self.ofile.write('%s: %s\n\t$(RUN_SWIG_%s)\n'
> - % (objname, deps, string.upper(objname.lang_abbrev)))
> + self.ofile.write('%s: %s\n\t$(RUN_SWIG_%s) %s\n'
> + % (objname, deps, string.upper(objname.lang_abbrev),
> + deps))
We don't want all of the deps. Just the first one, which is sources[0].
> for objname, sources in self.graph.get_deps(gen_base.DT_OBJECT):
> deps = string.join(sources)
> cmd = getattr(objname, 'build_cmd', '')
> if cmd:
> - self.ofile.write('%s: %s\n\t%s\n' % (objname, deps, cmd))
> + self.ofile.write('%s: %s\n\t%s %s\n'
> + % (objname, deps, cmd, deps.split()[0]))
No need to split. Just use sources[0].
[ btw, note that STRING.split is Python 2.x specific; gen-make and its
support modules are designed for Python 1.5.2 ]
Cheers,
-g
--
Greg Stein, http://www.lyra.org/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: busted 'make swig-py'...
Posted by Matt Kraai <kr...@alumni.cmu.edu>.
On Fri, Feb 28, 2003 at 10:41:47PM +0000, Joe Orton wrote:
> On Fri, Feb 28, 2003 at 09:16:02AM -0800, Matt Kraai wrote:
> ...
> > I have
> >
> > subversion/bindings/swig/python/svn_client.c: subversion/bindings/swig/svn_client.i
> > $(RUN_SWIG_PY)
> >
> > in my build-outputs.mk and
> >
> > RUN_SWIG_PY = $(SWIG) -c -python -noproxy $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -o $@ $<
> >
> > in my Makefile, so we are telling it how to create the .c for the
> > .i. Furthermore, the command line you sent shows it running the
> > command (except for the $<).
>
> This is a common mistake - you can only use $< in inference rules (.c.o
> style) to be portable.
In that case, the following patch should fix it (and the other
similarly broken rules). Could someone with a BSD system please
test it?
> In the BSD make Ben uses $< will expand to
> nothing in this case - in GNU make it will expand to the left-most
> dependency (or all of them, I can't remember).
Re: busted 'make swig-py'...
Posted by Greg Stein <gs...@lyra.org>.
On Fri, Feb 28, 2003 at 06:09:32PM -0800, Ben Collins-Sussman wrote:
> Joe Orton <jo...@manyfish.co.uk> writes:
>...
> > This is a common mistake - you can only use $< in inference rules (.c.o
> > style) to be portable. In the BSD make Ben uses $< will expand to
> > nothing in this case - in GNU make it will expand to the left-most
> > dependency (or all of them, I can't remember).
>
> Interesting. But we use $< in other similar places in Makefile.in.
> For example:
>
> # special compilation for files destined for mod_dav_svn
> COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile \
> $(CC) $(CPPFLAGS) $(CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c $<
>
> And I have no problem building mod_dav_svn at all.... ?
Maybe it is because there is a .c.lo rule, so Make gets a bit confused and
does the expansion anyways. But there is no .c.i rule.
Cheers,
-g
--
Greg Stein, http://www.lyra.org/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: busted 'make swig-py'...
Posted by Ben Collins-Sussman <su...@collab.net>.
Joe Orton <jo...@manyfish.co.uk> writes:
> > RUN_SWIG_PY = $(SWIG) -c -python -noproxy $(SWIG_INCLUDES)
> > $(SWIG_PY_INCLUDES) -o $@ $<
> >
> > in my Makefile, so we are telling it how to create the .c for the
> > .i. Furthermore, the command line you sent shows it running the
> > command (except for the $<).
>
> This is a common mistake - you can only use $< in inference rules (.c.o
> style) to be portable. In the BSD make Ben uses $< will expand to
> nothing in this case - in GNU make it will expand to the left-most
> dependency (or all of them, I can't remember).
Interesting. But we use $< in other similar places in Makefile.in.
For example:
# special compilation for files destined for mod_dav_svn
COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile \
$(CC) $(CPPFLAGS) $(CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c $<
And I have no problem building mod_dav_svn at all.... ?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: busted 'make swig-py'...
Posted by Joe Orton <jo...@manyfish.co.uk>.
On Fri, Feb 28, 2003 at 09:16:02AM -0800, Matt Kraai wrote:
...
> I have
>
> subversion/bindings/swig/python/svn_client.c: subversion/bindings/swig/svn_client.i
> $(RUN_SWIG_PY)
>
> in my build-outputs.mk and
>
> RUN_SWIG_PY = $(SWIG) -c -python -noproxy $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -o $@ $<
>
> in my Makefile, so we are telling it how to create the .c for the
> .i. Furthermore, the command line you sent shows it running the
> command (except for the $<).
This is a common mistake - you can only use $< in inference rules (.c.o
style) to be portable. In the BSD make Ben uses $< will expand to
nothing in this case - in GNU make it will expand to the left-most
dependency (or all of them, I can't remember).
joe
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: busted 'make swig-py'...
Posted by Matt Kraai <kr...@alumni.cmu.edu>.
On Fri, Feb 28, 2003 at 10:57:45AM -0800, Ben Collins-Sussman wrote:
> Matt Kraai <kr...@alumni.cmu.edu> writes:
>
> > > $ make swig-py
> > > /usr/local/bin/swig -c -python -noproxy -I/home/sussman/projects/svn2/subversion/bindings/swig -I/home/sussman/projects/svn2/subversion/include -I/usr/local/apache2/include -I/usr/local/include/python2.2 -o subversion/bindings/swig/python/svn_client.c
> > > Must specify an input file. Use -help for available options.
> > > *** Error code 1
> > >
> > > And here's what I discovered: if I now run 'gmake swig-py', everything
> > > works. And then *afterwards*, plain old 'make swig-py' works for me!
> > >
> > > Anyone have any ideas? Wanna see my generated build files?
> >
> > Since it's dropping the last part of the command, could you be
> > running into a maximum line length restriction?
>
> No way. The build system runs commands like this all the time:
>
> cd subversion/clients/cmdline && /usr/local/bin/bash /home/sussman/projects/svn2/libtool --silent --mode=link gcc -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread -DNEON_ZLIB -Wpointer-arith -Wwrite-strings -Wshadow -DSVN_DEBUG -DAP_DEBUG -L/usr/local/lib -rpath /usr/local/lib -o svn add-cmd.o cat-cmd.o checkout-cmd.o cleanup-cmd.o commit-cmd.o copy-cmd.o delete-cmd.o diff-cmd.o export-cmd.o feedback.o help-cmd.o import-cmd.o info-cmd.o log-cmd.o ls-cmd.o main.o merge-cmd.o mkdir-cmd.o move-cmd.o prompt.o propdel-cmd.o propedit-cmd.o propget-cmd.o proplist-cmd.o props.o propset-cmd.o resolve-cmd.o revert-cmd.o status-cmd.o status.o switch-cmd.o update-cmd.o util.o ../../../subversion/libsvn_client/libsvn_client-1.la ../../../subversion/libsvn_wc/libsvn_wc-1.la ../../../subversion/libsvn_ra/libsvn_ra-1.la ../../../subversion/libsvn_delta/libsvn_delta-1.la ../../../subversion/libsvn_subr/libsvn_subr-1.la ../../../subversion/libsvn_auth/libs!
> vn_auth-1.la /usr/local/apache2/lib/libaprutil-0.la -lexpat /usr/local/apache2/lib/libapr-0.la -lm -lcrypt -L/usr/local/lib -lneon -lz -L/usr/local/lib -lxml2 -lz -L/usr/local/lib -liconv -lm -L/usr/local/lib
>
> I think Mike is right. BSD make doesn't know how to create a .c from
> a .i file, but GNU make does.
I have
subversion/bindings/swig/python/svn_client.c: subversion/bindings/swig/svn_client.i
$(RUN_SWIG_PY)
in my build-outputs.mk and
RUN_SWIG_PY = $(SWIG) -c -python -noproxy $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -o $@ $<
in my Makefile, so we are telling it how to create the .c for the
.i. Furthermore, the command line you sent shows it running the
command (except for the $<).
Matt
--
Oink!
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: busted 'make swig-py'...
Posted by Ben Collins-Sussman <su...@collab.net>.
Matt Kraai <kr...@alumni.cmu.edu> writes:
> > $ make swig-py
> > /usr/local/bin/swig -c -python -noproxy -I/home/sussman/projects/svn2/subversion/bindings/swig -I/home/sussman/projects/svn2/subversion/include -I/usr/local/apache2/include -I/usr/local/include/python2.2 -o subversion/bindings/swig/python/svn_client.c
> > Must specify an input file. Use -help for available options.
> > *** Error code 1
> >
> > And here's what I discovered: if I now run 'gmake swig-py', everything
> > works. And then *afterwards*, plain old 'make swig-py' works for me!
> >
> > Anyone have any ideas? Wanna see my generated build files?
>
> Since it's dropping the last part of the command, could you be
> running into a maximum line length restriction?
No way. The build system runs commands like this all the time:
cd subversion/clients/cmdline && /usr/local/bin/bash /home/sussman/projects/svn2/libtool --silent --mode=link gcc -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread -DNEON_ZLIB -Wpointer-arith -Wwrite-strings -Wshadow -DSVN_DEBUG -DAP_DEBUG -L/usr/local/lib -rpath /usr/local/lib -o svn add-cmd.o cat-cmd.o checkout-cmd.o cleanup-cmd.o commit-cmd.o copy-cmd.o delete-cmd.o diff-cmd.o export-cmd.o feedback.o help-cmd.o import-cmd.o info-cmd.o log-cmd.o ls-cmd.o main.o merge-cmd.o mkdir-cmd.o move-cmd.o prompt.o propdel-cmd.o propedit-cmd.o propget-cmd.o proplist-cmd.o props.o propset-cmd.o resolve-cmd.o revert-cmd.o status-cmd.o status.o switch-cmd.o update-cmd.o util.o ../../../subversion/libsvn_client/libsvn_client-1.la ../../../subversion/libsvn_wc/libsvn_wc-1.la ../../../subversion/libsvn_ra/libsvn_ra-1.la ../../../subversion/libsvn_delta/libsvn_delta-1.la ../../../subversion/libsvn_subr/libsvn_subr-1.la ../../../subversion/libsvn_auth/libs!
vn_auth-1.la /usr/local/apache2/lib/libaprutil-0.la -lexpat /usr/local/apache2/lib/libapr-0.la -lm -lcrypt -L/usr/local/lib -lneon -lz -L/usr/local/lib -lxml2 -lz -L/usr/local/lib -liconv -lm -L/usr/local/lib
I think Mike is right. BSD make doesn't know how to create a .c from
a .i file, but GNU make does.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: busted 'make swig-py'...
Posted by cm...@collab.net.
Matt Kraai <kr...@alumni.cmu.edu> writes:
> > And here's what I discovered: if I now run 'gmake swig-py', everything
> > works. And then *afterwards*, plain old 'make swig-py' works for me!
> >
> > Anyone have any ideas? Wanna see my generated build files?
>
> Since it's dropping the last part of the command, could you be
> running into a maximum line length restriction?
I told Ben that I think his scenario has the following two truths:
(1) 'make swig-py' simply isn't generating .c from .i; 'gmake swig-py' is.
(2) the reason his 'make swig-py' works after a successful 'gmake
swig-py' is because the gmake already did the .i -> .c part, so
make skips that step. This is all part of the regular dependency
checking that is, after all, the whole point of Makefile systems. :-)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: busted 'make swig-py'...
Posted by Matt Kraai <kr...@alumni.cmu.edu>.
On Fri, Feb 28, 2003 at 10:10:11AM -0800, Ben Collins-Sussman wrote:
> Greg Stein <gs...@lyra.org> writes:
>
> > > But I know nothing about our swig build system. Just thought I'd
> > > throw this problem out there, because I wasted a lot of time before I
> > > thought of running 'gmake swig-py'. :-)
> >
> > You've got something funny going on, because I certainly don't see any
> > thing in our rules that would be gmake specific.
>
> Ah, but there really is a build-system bug here somewhere. Here's my
> reproduction recipe. I wonder if Garrett or other FreeBSD users can
> reproduce as well:
>
> I have a FreeBSD 4.7 system with autoconf 2.53, libtool 1.4.3, and the
> httpd/apr/apr-util 2.0.44 release installed.
>
> $ svn co http://svn.collab.net/repos/svn/trunk svn
> [...checked out revision 5153]
> $ cd svn
> $ ./autogen.sh; ./configure --enable-maintainer-mode
> $ make && make install
> $ make swig-py
> /usr/local/bin/swig -c -python -noproxy -I/home/sussman/projects/svn2/subversion/bindings/swig -I/home/sussman/projects/svn2/subversion/include -I/usr/local/apache2/include -I/usr/local/include/python2.2 -o subversion/bindings/swig/python/svn_client.c
> Must specify an input file. Use -help for available options.
> *** Error code 1
>
> And here's what I discovered: if I now run 'gmake swig-py', everything
> works. And then *afterwards*, plain old 'make swig-py' works for me!
>
> Anyone have any ideas? Wanna see my generated build files?
Since it's dropping the last part of the command, could you be
running into a maximum line length restriction?
Matt
--
Oink!
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: busted 'make swig-py'...
Posted by Ben Collins-Sussman <su...@collab.net>.
Greg Stein <gs...@lyra.org> writes:
> > But I know nothing about our swig build system. Just thought I'd
> > throw this problem out there, because I wasted a lot of time before I
> > thought of running 'gmake swig-py'. :-)
>
> You've got something funny going on, because I certainly don't see any
> thing in our rules that would be gmake specific.
Ah, but there really is a build-system bug here somewhere. Here's my
reproduction recipe. I wonder if Garrett or other FreeBSD users can
reproduce as well:
I have a FreeBSD 4.7 system with autoconf 2.53, libtool 1.4.3, and the
httpd/apr/apr-util 2.0.44 release installed.
$ svn co http://svn.collab.net/repos/svn/trunk svn
[...checked out revision 5153]
$ cd svn
$ ./autogen.sh; ./configure --enable-maintainer-mode
$ make && make install
$ make swig-py
/usr/local/bin/swig -c -python -noproxy -I/home/sussman/projects/svn2/subversion/bindings/swig -I/home/sussman/projects/svn2/subversion/include -I/usr/local/apache2/include -I/usr/local/include/python2.2 -o subversion/bindings/swig/python/svn_client.c
Must specify an input file. Use -help for available options.
*** Error code 1
And here's what I discovered: if I now run 'gmake swig-py', everything
works. And then *afterwards*, plain old 'make swig-py' works for me!
Anyone have any ideas? Wanna see my generated build files?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: busted 'make swig-py'...
Posted by Greg Stein <gs...@lyra.org>.
On Thu, Feb 27, 2003 at 04:31:45PM -0800, Ben Collins-Sussman wrote:
>
> ...if you use a non-GNU system.
>
> That is, 'make swig-py' doesn't work unless make == GNU make.
> We're somehow defining "*.i" targets in a way that GNU make
> understands, but not conventional BSD make.
Huh? We never declare .i targets. We have .c targets which depend upon a .i
input, though:
subversion/bindings/swig/java/svn_fs.c: subversion/bindings/swig/svn_fs.i
$(RUN_SWIG_JAVA)
I'm not sure how that could be OS specific :-(
> If you use BSD make, then
> it the -i flag is never passed to swig.
Hmm? I don't recall *any* passing of -i. Do you mean -I (capital) ?
> But I know nothing about our swig build system. Just thought I'd
> throw this problem out there, because I wasted a lot of time before I
> thought of running 'gmake swig-py'. :-)
You've got something funny going on, because I certainly don't see any
thing in our rules that would be gmake specific.
Cheers,
-g
--
Greg Stein, http://www.lyra.org/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org