automake
[Top][All Lists]
Advanced

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

Re: ERROR: files left in build directory after distclean (solution)


From: Robin Rowe
Subject: Re: ERROR: files left in build directory after distclean (solution)
Date: Fri, 26 Mar 2004 11:48:20 -0800

FYI, this solves the problem of distcheck failing due to openexr being a
conditional subdir build.

Thanks to Drew and Alexandre for your help!

1. Add AM_CONDITIONAL to configure.in after AM_PATH_OPENEXR.

AM_PATH_OPENEXR(have_openexr=yes OPENEXR='openexr', have_openexr=no
OPENEXR= )

AM_CONDITIONAL(HAVE_OPENEXR, test x$have_openexr = xyes)

2. Do *NOT* make openexr conditional in plug-ins/Makefile.am. Do not use
DIST_SUBDIRS or DISTCLEANFILES.

SUBDIRS = \
     blur \
     openexr \
     unsharp

## SUBDIRS = \
##     blur \
##     @OPENEXR@ \
##     unsharp

## DIST_SUBDIRS = $(SUBDIRS)

## DISTCLEANFILES = openexr/Makefile openexr/.deps/openexr.Po

3. Wrap plug-ins/openexr/Makefile.am with conditional:

if HAVE_OPENEXR

pluginlibdir = $(programplugindir)/plug-ins

pluginlib_PROGRAMS = openexr

openexr_SOURCES = openexr.cxx

endif

--- output ---

=================================================
cinepaint-0.18-2.tar.gz is ready for distribution
=================================================

That's it!

Robin

P.S.

Alexandre said:
> Please see the manual section I mentioned for discussion about
> DIST_SUBDIRS or conditionals.

Tried setting DIST_SUBDIRS in plug-ins/Makefile.am but didn't work for me.

DIST_SUBDIRS = $(SUBDIRS)

Then distcheck objects that there is no openexr directory:

./config.status: line 1: cd: ../../../plug-ins/openexr: No such file or
directory
config.status: creating plug-ins/openexr/Makefile
config.status: error: cannot find input file: plug-ins/openexr/Makefile.in
make: *** [distcheck] Error 1


-------------------------------------------------------------------
address@hidden   Hollywood, California
www.CinePaint.org   Open source digital motion picture film software

----- Original Message ----- 
From: "Robin Rowe" <address@hidden>
Sent: Friday, March 26, 2004 1:18 AM
Subject: Re: ERROR: files left in build directory after distclean


> Alexandre,
>
> Thanks for the quick reply. I think I'm already trying to do what you
> suggest, without success.
>
> In plug-ins/Makefile.am I have something like this:
>
> SUBDIRS = \
>      blur \
>      @OPENEXR@ \
>      unsharp
>
> The OPENEXR variable is nothing if the OpenEXR lib is not detected. The
> build does not descend into openexr. However, the *existence* of
> plug-ins/openexr/Makefile causes distclean to fail.
>
> How do I fix distclean?
>
> Robin
> -------------------------------------------------------------------
> address@hidden   Hollywood, California
> www.CinePaint.org   Open source digital motion picture film software

----- Original Message ----- 
From: "Alexandre Duret-Lutz" <address@hidden>
To: "Robin Rowe" <address@hidden>
Cc: <address@hidden>
Sent: Thursday, March 25, 2004 3:30 PM
Subject: Re: ERROR: files left in build directory after distclean


> >>> "Robin" == Robin Rowe <address@hidden> writes:
>
> [...]
>
>  Robin> How do I tell automake that it this is an optional
>  Robin> Makefile that should not be created if openexr='no'?
>
> You don't, it's badly supported and too tricky.
>
> The setup Automake supports is this:
>   - all Makefiles are unconditionally created by `configure'
>   - but some of can be left out of the build during `make'
>     (they will still be recursed by `make dist')
>
> See section `Conditional subdirectories' in node `Top level' of
> the manual for examples.
> -- 
> Alexandre Duret-Lutz
>
>
>

----- Original Message ----- 
From: "Drew Hess"
To: "Robin Rowe" <address@hidden>
Cc: <address@hidden>
Sent: Thursday, March 25, 2004 1:31 AM
Subject: [CinePaint-dev] Re: Problem with distcheck in CinePaint openexr
plug-in


>
> Hey Robin,
>
> taking openexr-devel off the cc: since it's not of particular interest to
> openexr-devel readers.
>
> It's been awhile since I built Cinepaint.  I think I based the Makefile.am
> on the Makefile.am for the other file format plugins, so I'm not sure why
> this happens only for the OpenEXR plugin.
>
> One thing I can think of... maybe the entire contents of the Makefile.am
> should be bracketed with a "if HAVE_OPENEXR" statement, so that there are
> no files to build if OpenEXR isn't detected by configure.
>
>
> -dwh-
>
>
> On Wed, 24 Mar 2004, Robin Rowe wrote:
>
> > Drew,
> >
> > I'm trying to do a 'make distcheck' in CinePaint, but it fails due to
the
> > openexr plug-in:
> >
> > ERROR: files left in build directory after distclean:
> > ./plug-ins/openexr/Makefile
> > ./plug-ins/openexr/.deps/openexr.Po
> > make[1]: *** [distcleancheck] Error 1
> > make[1]: Leaving directory
> > `/data/cvs/cinepaint-project/cinepaint/cinepaint-0.18-2/=build'
> > make: *** [distcheck] Error 2
> >
> > The issue seems to be that distcheck doesn't have a configure path to my
> > /opt install of openexr, decides not to build openexr (which is ok under
the
> > circumstances), but neglects to remove some intermediate files and
fails. I
> > tried to change configure.in to not create Makefile if openexr is set to
> > 'no', but couldn't find the right syntax to do that. I've tried setting
> > 'MOSTLYCLEANFILES = Makefile .deps/openexr.Po' in openexr/Makefile.am to
> > delete the intermediate files, but without success. Ditto with
> > DISTCLEANFILES.
> >
> > Any suggestions?
> >
> > Thanks!
> >
> > Robin
> > -------------------------------------------------------------------
> > address@hidden   Hollywood, California
> > www.CinePaint.org   Open source digital motion picture film software
> >
> >
> >
>





reply via email to

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