set_soenv.in is the base for a perl program, executed during configure
that generate Env.Host.sh
in turn Env.Host.sh (and Env.Build.sh in case of cross-compile) need
to be 'sourced' in the shell... which lead to the need of some
recurdsion magic in the Makefile.
config_host.mk.in isthe base to generate a file config_host.k (and
config_build.mk in case of cross compile). this file is designed in
such way that it can be sourced in a shell _OR_ included directly in a
Makefile.
The later option would alleviate the need to recurse
The main issue involved in this conversion are:
- set_soenv would 'undef' any variable that end-up with an empty
value. Most of the build test of == "" and does not rely on ifndef,
but still there are exceptions which can cause trouble during the
conversion.
(Note: supporting the undef behavior is quite painfull to do in a way
that maintain the goal of being both source-able and include-able)
- set_soenv do path modification (to deal with windows mostly). it is
very easy to get confused as to when a PATH should be 'windows' like
and when it should be unix like... this is not help by the fact that
the dmake build system actually tweak things along the way...
- set_soenv deal with PATH. managing that properly is quite painful...
I have not even started to think how I'm going to do that (except that
I probably will need a kidn of path_munge() function in configure.in
so, if your build start to act stupid on master... that may be my fault :-)....
Norbert
Context
- [Libreoffice] Few word about set_soenv.in and config_host.mk.in · Norbert Thiebaud
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.