Opened 5 years ago

Closed 5 years ago

#15101 closed defect (fixed)

Remove computer environment specific files from autoconf_inc.m4

Reported by: kosenko Owned by:
Priority: low Milestone: 2.9.5
Component: build Version: stable-latest
Keywords: bakefile Cc: vaclavslavik
Blocked By: Blocking:
Patch: no


Following file mentions is specific for bakefile_gen runtime environment in autoconf_inc.m4. And last file can't be regenerated with same result in an other environment from scratch.


flash and mfc samples exists, but it look like they should be excluded from autoconf scripts (samples/samples.bkl):

        These samples don't always build (they need non-default wxWidgets
        configuration or some 3rd party library being installed) so don't build
        them by default by using "optsub" template instead of "sub" one and
        some of them also require MSVC compiler so don't use them with the
        other ones.
    <if cond="FORMAT[:3] == 'msv'">
        <subproject id="flash" template="optsub"/>
        <subproject id="mfc" template="optsub"/>

Change History (3)

comment:1 follow-up: Changed 5 years ago by vadz

  • Cc vaclavslavik added
  • Keywords bakefile added
  • Milestone set to 2.9.5
  • Priority changed from normal to low
  • Status changed from new to confirmed

To be honest I'm again clueless about what's going on here... Clearly there is some very out of date junk in autoconf_inc.m4 somehow and we should get rid of it. In fact, deleting this file and rerunning bakefile_gen removes >200 lines from it, which is probably good, isn't it?

But OTOH rerunning autoconf after it removes big chunks of configure too, notably everything related to COND_WXUSE_{EXPAT,LIB{JPG,PNG,TIFF},REGEX,ZLIB}_BUILTIN and I'm not sure if this is correct.

Vaclav, how is autoconf_inc.m4 supposed to be maintained? Can I just do what I did i.e. remove it and recreate it or do we lose something important in the process? And why does this result in these changes to configure?

Setting milestone to either do this or decide that we can't do it before the release.

comment:2 in reply to: ↑ 1 Changed 5 years ago by vaclavslavik

Replying to vadz:

Vaclav, how is autoconf_inc.m4 supposed to be maintained? Can I just do what I did i.e. remove it and recreate it

Yes. The only important thing is that you must not omit some of the input bakefiles (i.e. not use the -b flag to bakefile_gen).

And why does this result in these changes to configure?

My guess is that some bakefiles were removed since the file was created or some conditional statements in them were somehow modified.

autoconf_inc.m4 is a common output for many input bakefiles; to make updating it like that possible, it's divided into building blocks that are updated individually (think of them as many individual files embedded inside). The blocks are identified by IDs built from the condition expressions. So if some conditional test is removed, its -- now useless -- block is still kept in autoconf_inc.m4. Because the file is kept in SVN, no outdated blocks were ever removed and so the junk accumulated (this wouldn't happen nearly as much if this general file was kept out of version control...).

(Yes, this is one of the reasons for bkl-1's everything-at-once approach.)

comment:3 Changed 5 years ago by VZ

  • Resolution set to fixed
  • Status changed from confirmed to closed

(In [73648]) Remove obsolete parts of autoconf_inc.m4.

This file has accumulated a lot of condition checks which were not relevant
any more, remove and recreate it (by running bakefile_gen) to get rid of them.

Closes #15101.

Note: See TracTickets for help on using tickets.