Skip to Content.
Sympa Menu

freetds - RE: [freetds] Nightly build fails

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio AT vodafone.com>
  • To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
  • Subject: RE: [freetds] Nightly build fails
  • Date: Fri, 1 Apr 2005 13:13:55 +0200

>
> On Thu, 31 Mar 2005 11:27:07 +0200, Frediano Ziglio <freddyz77 AT tin.it>
> wrote:
> >
> > > The problem with not committing autogenerated files:
> teach autogen to
> > > make num_limits.h when building from CVS, but to include
> num_limits.h
> > > in the output of "make dist". The reason, you remember, is that
> > > people who build from distributions and snapshots
> shouldn't need Perl.
> > > I know we
> > > agree on that point; I'm just reminding everyone.
> >
> > Using distro
>
> You mean freetds-0.64.dev.20050331.tar.gz, right?
>

I used make dist from CVS version.

> > $ make
> > make: *** No rule to make target `numeric.pl', needed by
> `num_limits.h'.
> > Stop.
>
> Bah. I thought I had it working yesterday. Maybe it was a different
> toolset. The current set is:
>
> autoconf (GNU Autoconf) 2.57
> automake (GNU automake) 1.7.3
> ltmain.sh (GNU libtool) 1.5.6 (1.1220.2.94 2004/04/10 16:27:27)
>
> > all: $(BUILT_SOURCES)
> > $(MAKE) $(AM_MAKEFLAGS) all-recursive
> > ...
> > num_limits.h: numeric.pl Makefile
> > perl $(srcdir)/numeric.pl > .$@
> > mv .$@ $@
> >
> > So make require numeric.pl to build (or only check)
> num_limits.h. The
> > only solution I see is to include numeric.pl in distribution...
>
> I don't want to do that. If we start including Perl code in the
> distribution, sooner or later we'll either accidentally
> require Perl, or
> someone will think we do.
>
> The nightly snapshot builds if you remove $(BUILT_SOURCES):
>
> all:
>
> from src/tds/Makefile.
>
> I'll look into it some more. There has to be a way.
>


The key is

num_limits.h: numeric.pl Makefile

You say: if num_limits.h is former than Makefile or numeric.pl rebuild
num_limits.h... I think that Makefile is an error. Makefile is generated
by configure script so this rule will be executed by all users...
removing Makefile

num_limits.h: numeric.pl

Now if num_limits.h is former than numeric.pl make rebuild num_limits.h.
However you do not distribute numeric.pl and user get the error I
reported (make: *** No rule to make target `numeric.pl', needed by
`num_limits.h'.). So there are only two solutions:
1- remove dependency from num_limits.h to numeric.pl
2- include numeric.pl in distribution

To implement 2 just add numeric.pl in EXTRA_DIST. To implement 1 remove
numeric.pl from dependency... however you lose some automatism. However
there are some trick we can use with 1:
- make num_limits.h dependent on a file that we distribute and that is
more recent than numeric.pl. We used this trick for documentation (we
use dependency to ChangeLog in doc/Makefile.am)
- build num_limits.h during autogen.sh, so developer will build it and
user just use compiled version
- comment out num_limits.h rule if perl is not detected in configure
(still used for documentation in root Makefile.am)

freddy77




Archive powered by MHonArc 2.6.24.

Top of Page