On Mon, 2 Jul 2012, Nenad Vukicevic wrote:

> On 6/27/2012 8:06 AM, Richard Guenther wrote:
> > This merges from the graphite branch the move of PPL to ISL,
> > and completes it where it was lacking - thanks to Micha.
> > It leaves unmerged the addition of a pluto-like ISL optimizer
> > as well as a bugfix for stride > 1 which did not come with
> > a testcase.
> > 
> > With this patch (ontop of the one requiring ClooG 0.17.0)
> > we will require ISL 0.10 for enabling Graphite.
> > 
> > I've bootstrapped and built various combinations with in-tree
> > and out-of-tree cloog and ISL, so I'm pretty confident that
> > this works.
> > 
> > With out-of-tree ClooG and ISL a slightly older patch ontop of its
> > prerequesite passed bootstrap and testing on x86_64-unknown-linux-gnu.
> > 
> > Currently re-bootstrapping and testing on x86_64-unknown-linux-gnu.
> > 
> > Ok for trunk?
> 
> After trying to build from the trunk I got this error on x86_64 platform:
> 
> make[3]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog/test'
>   CC     generate_test.o
> cd ..; make  libcloog-isl.la
> make[4]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog'
>   CC     libcloog_isl_la-domain.lo
> In file included from
> ../../gcc-trunk/cloog/include/cloog/isl/constraintset.h:4:0,
>                  from ../../gcc-trunk/cloog/include/cloog/isl/cloog.h:9,
>                  from ../../gcc-trunk/cloog/source/isl/domain.c:6:
> ../../gcc-trunk/cloog/include/cloog/isl/backend.h:4:28: fatal error:

^^^

This means that cloog was not able to build against ISL 0.10.  You
should see in its configury that it uses the ISL version installed
on the system (and picks up the one just built from the drop-in
in the source tree).

That is, cloog is configured via

host_modules= { module= cloog; lib_path=.libs; bootstrap=true;
                extra_configure_flags='--disable-shared 
--with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs 
--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp 
--with-isl=system';
                extra_exports='CPPFLAGS="-I$$r/$(HOST_SUBDIR)/isl/include 
-I$$s/isl/include ${CPPFLAGS}"; export CPPFLAGS; 
LDFLAGS="-L$$r/$(HOST_SUBDIR)/isl/.libs $$LDFLAGS"; export LDFLAGS; ';
                extra_make_flags='CPPFLAGS="${CPPFLAGS}" 
LDFLAGS="$$LDFLAGS"';
                no_install= true; };

thus using --with-isl=system, via CPPFLAGS it should be able to pick up
the just built ISL.  You need to debug why that is not working.

I suppose for installed cloog / ISL we could strengthen the configure
check or re-order the includes so that the ISL include dir comes before
the cloog one (if you happen to build against two different ISL versions).

Thus,

Index: gcc/Makefile.in
===================================================================
--- gcc/Makefile.in     (revision 189158)
+++ gcc/Makefile.in     (working copy)
@@ -1057,7 +1057,7 @@ BUILD_ERRORS = build/errors.o
 INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
           -I$(srcdir)/../include @INCINTL@ \
           $(CPPINC) $(GMPINC) $(DECNUMINC) \
-          $(CLOOGINC) $(ISLINC)
+          $(ISLINC) $(CLOOGINC)
 
 .c.o:
        $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $< 
$(OUTPUT_OPTION)

but the question is whether this will hide real issues that will
pop up when cloog is built against a different ISL version than
0.10 (for example against the version that is included within the
cloog tarball).

So - can you double-check what happens?  I did test both in-tree
and out-of-tree builds, with wrong versions and correct versions.

Thanks,
Richard.

Reply via email to