Opened 11 years ago

Closed 10 years ago

Last modified 10 years ago

#620 closed enhancement (fixed)

use AC_CONFIG_HEADER to genrate yat/utility/version.h

Reported by: Peter Owned by: Jari Häkkinen
Priority: minor Milestone: yat 0.8
Component: build Version: trunk
Keywords: Cc:

Description

The downside with AC_CONFIG_HEADER is that yat/utility/version.h is re-generated every time configure is run, i.e., the time-stamp of version.h is updated causing re-compilations not really needed. That in turn causes libyat.la to be updated and all C++ tests need to be re-linked.

In summary it means that

make check
edit m4/yat_common.m4
make lazycheck

where lazycheck will run all C++ tests although it should not be needed.

The other thing is that AC_CONFIG_HEADER s quite limited and can only be used to create #defines. That could be worked around by splitting the version.h into two files, one dynamically created and one static. We should keep in mind not to break version.h, i.e., a program including version.h should still compile after this change (without any need to include this other_version.h).

Change History (2)

comment:1 Changed 10 years ago by Peter

Resolution: fixed
Status: newclosed

(In [2431]) fixes #620. Move version defines from 'version.h' to 'config_public.h'. The latter is included from the former so the api is not changed in the sense that a program that used e.g. YAT_VERSIOn and included 'version.h' will still compile. version.h is no longer generated but checked into the repository. This may cause a confict in developers wc, which can easily be avoided by removing version.h before updating to with this ChangeSet?.

comment:2 Changed 10 years ago by Peter

Milestone: yat 0.x+yat 0.8
Note: See TracTickets for help on using tickets.