[M3devel] M3Config contains paths to installation directory.

Olaf Wagner wagner at elegosoft.com
Thu Jul 16 08:44:14 CEST 2009


Please remind me again what exactly depends on this interface
and why we do it that way.

In cm3 I find quake variables like these

         (* Default to a native build, so the config file can say less. *)

         Quake.Define(mach, "TARGET", M3Config.TARGET);
         Quake.Define(mach, "OS_TYPE", M3Config.OS_TYPE);
         Quake.Define(mach, "BACKEND_MODE", Version.BackendMode);
         Quake.Define(mach, "C_COMPILER", Version.CCompiler);
         Quake.Define(mach, "LINKER", Version.Linker);
         Quake.Define(mach, "THREAD_LIBRARY", Version.ThreadLibrary);
         Quake.Define(mach, "WINDOW_LIBRARY", Version.WindowLibrary);
         Quake.Define(mach, "WORD_SIZE", M3Config.WORD_SIZE);

         (* Even if the config file overrides the defaults, such as to do
            a cross build, the host characteristics are still available. *)

         Quake.Define(mach, "HOST", M3Config.TARGET);
         Quake.Define(mach, "HOST_OS_TYPE", M3Config.OS_TYPE);
         Quake.Define(mach, "HOST_GNU_MAKE", Version.GNUMake);

but no installation paths. Most code uses MxConfig AS M3Config.

I see it's used in m3browser as package_root deault, but that can surely
be fixed and it can also be specified on the command line.
Same in m3tohtml. So why is it needed?

One obvious way to overcome Peter's problem would of course be
to pass a parameter block to quake when building ("m3config-overrides"?).
Better perhaps to get rid of these paths.

Olaf

Quoting Peter Eiserloh <eiserlohpp at yahoo.com>:

> Hi Jay,
>
> Do you know of any way to tell the build system that the
> final installation directory is located in one place, but
> that the software is to actually be shipped (temporarily)
> to a staging directory.
>
> Specifically, libm3/src/config contains a m3makefile that
> derives the M3Config interface, containing a number of
> paths to the installation root directory.
>
> This is the normal situation for most people, but I am
> installing to a temporary directory, for packaging purposes.
> The packaging software later installs the package into
> the correct location.
>
> Whenever I build the system, M3Config always contains
> the paths to my staging area.
>
> I would like some way of specifying to the build system
> that the final (or real) installation root is one thing,
> but "ship" would actually install into a different one.
>
> +--------------------------------------------------------+
> | Peter P. Eiserloh                                      |
> +--------------------------------------------------------+
-- 
Olaf Wagner -- elego Software Solutions GmbH
                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194




More information about the M3devel mailing list