Difference between revisions of "Config office"
(→Configure process: regenerate configure) |
|||
(3 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== What it contains == | == What it contains == | ||
− | This directory | + | Nowadays nothing and the directory doesn't exist. |
+ | |||
+ | This directory managed the configuration of the OO.o source tree. In a 'normal' project this would be expected to be in the top level source directory - however, due to a rather unfortunate initial repository setup, this was not possible. | ||
+ | |||
+ | With the switch to [[Mercurial]] the configure.in, configure, acinclude.m4 and aclocal.m4 files where moved to the tree's top level directory. | ||
== Configure process == | == Configure process == | ||
− | The configure script is generated from configure.in by 'autoconf' - when | + | The configure script is generated from configure.in by ''autoconf'' - when modifying <tt>configure.in</tt> in a [[CWS]] also regenerate and commit <tt>configure</tt>. |
When run the configure script does a load of system checks, and with the result generates 'set_soenv' from 'set_soenv.in' using the normal autotools substitution rules. | When run the configure script does a load of system checks, and with the result generates 'set_soenv' from 'set_soenv.in' using the normal autotools substitution rules. | ||
Line 18: | Line 22: | ||
[[Category:source directories]] | [[Category:source directories]] | ||
− | [[Category: | + | [[Category:Build_System]] |
Latest revision as of 14:30, 1 June 2010
What it contains
Nowadays nothing and the directory doesn't exist.
This directory managed the configuration of the OO.o source tree. In a 'normal' project this would be expected to be in the top level source directory - however, due to a rather unfortunate initial repository setup, this was not possible.
With the switch to Mercurial the configure.in, configure, acinclude.m4 and aclocal.m4 files where moved to the tree's top level directory.
Configure process
The configure script is generated from configure.in by autoconf - when modifying configure.in in a CWS also regenerate and commit configure.
When run the configure script does a load of system checks, and with the result generates 'set_soenv' from 'set_soenv.in' using the normal autotools substitution rules.
'set_soenv' is then run at the tail of configure, which does more checks, and finally builds LinuxIntelEnv.Set which contains the environment for this build. This freezes all the significant settings including PATH, LD_LIBRARY_PATH etc. The idea here is to allow this build to be repeated trivially, and to reduce unexpected environment related problems in subsequent builds.
The configure script also creates 'bootstrap' in the toplevel - a simple script that builds dmake - the tool which then is used to build the rest of the project.
Gotchas
In many cases running 'configure' when you have LinuxIntelEnv.Set sourced creates rather subtle problems; configuring from a clean shell is to be recommended.