[Development] Qt5 combined source package - Perl dependency

Ziller Eike Eike.Ziller at digia.com
Thu May 2 08:03:38 CEST 2013


> ________________________________________
> From: development-bounces+eike.ziller=digia.com at qt-project.org [development-bounces+eike.ziller=digia.com at qt-project.org] on behalf of Thiago Macieira [thiago.macieira at intel.com]
> Sent: 30 April 2013 19:43
> To: development at qt-project.org
> Subject: Re: [Development] Qt5 combined source package - Perl dependency
> 
> On terça-feira, 30 de abril de 2013 18.30.08, Oswald Buddenhagen wrote:
> > On Tue, Apr 30, 2013 at 08:59:47AM -0700, Thiago Macieira wrote:
> > > On terça-feira, 30 de abril de 2013 17.24.29, Oswald Buddenhagen wrote:
> > > > > Can we do it somehow less magically? Isn't there a way to do it if it
> > > > > needs to be done, and not do it if it doesn't need to be done?
> > > >
> > > > no, because latest on the second in-source build it would not be
> > > > necessary any more, thus messing up the expectations of those who want a
> > > > rebuild.
> > >
> > > I'm seriously wondering why configure.exe needs to be rebuilt if none of
> > > the sources have changed. Can't we simply adapt the Makefile?
> >
> > that would mean shipping a complete build dir including object files.
> > also, the semantics get really funky for shadows builds (read-only
> > source dir).
> 
> No, it means adapting the Makefile so that no build is attempted if the final
> target (configure.exe) is newer than all the sources. The presence or absence
> of intermediate files and artifacts should not count.
> 
> Is that possible?
> 
> > > For the include dir, it's a little harder to determine, especially since
> > > this will also affect rules inside .prf files in mkspecs. Any chance we
> > > can simply try and run syncqt, but ignore errors?
> >
> > talking about "less magically", huh?
> 
> A compromise.
> 
> Run syncqt;
> ignore errors;
> fail if a key file like headers.pri isn't there.
> 
> It will also help you with writing the rule for shadow builds: since there is
> no headers.pri in the shadow build yet, syncqt failing (because perl is
> missing) will be caught as an error.

Please do never ever ignore errors. There are always situations where it will lead to
strange errors that are tremendously hard to track down.
An example for your suggestions:

* do a build
* screw up your environment to no longer have perl in the path
* update Qt
* build
* wonder for hours why the build fails

--
Eike Ziller
Senior Software Engineer

Digia Germany GmbH
Rudower Chaussee 13, D-12489 Berlin
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B,
Geschäftsführer: Mika Pälsi, Juha Varelius, Anja Wasenius



More information about the Development mailing list