[M3devel] INSTALL_ROOT and PKG_USE in cm3.cfg

Randy Coleburn rcoleburn at scires.com
Fri Jan 25 02:06:09 CET 2008


Jay:
 
That's the reason I asked before making a change.  I don't want to break or mess up what you are doing.
 
I can get around the problem easily for me.  I just remove the comment from the 
%INSTALL_ROOT="c:\\cm3" 
and "everything" is ok.
 
I'm hoping we can come up with a way that works for everyone.  Once the CM3_IDE (formerly known as Reactor) package is in the repository and part of the standard distribution, it would be best if folks don't have to go around editing cm3.cfg to make it work properly.
 
Now, you are saying your way is more automatic and portable.  I like these words.  Is there a way we can set something in cm3.cfg that I can key off of for CM3_IDE/Reactor?  I don't mind changing the code to accommodate.
 
The big thing for CM3_IDE/Reactor, is that it needs to know where to look for the cm3 installation because it has to find all of the subdirs, like doc, examples, etc.
 
BTW, I still don't see why all this "works" since I am getting "\.." as my INSTALL_ROOT.
 
Regards,
Randy

>>> Jay <jayk123 at hotmail.com> 1/24/2008 7:24 PM >>>
Blech. My way is more automatic and "portable" in the sense that you can move installations around and they keep working. As well, with my way, you just extract an archive and go, no setup/cminstall, no editing of the cm3.cfg file, just set %PATH% and run vcvars, and vcvars I think I can remove the need for.
 
path() is a builtin Quake function that returns the directory of the currently being run Quake code.
 
But yet Reactor.
To unblock yourself, remove my code, add back the commented out, fix the path to match your particular install, don't submit the file.
 
Perhaps move the current checked in file over to the config-no-install directory and then put config's file back in the old style, that requires running cminstall. My workflow will keep working, since it probes for config-no-install first.
 
 - Jay

Date: Thu, 24 Jan 2008 18:53:48 -0500
From: rcoleburn at scires.com 
To: jay123 at hotmail.com 
CC: m3devel at elegosoft.com 
Subject: [M3devel] INSTALL_ROOT and PKG_USE in cm3.cfg


Jay:
 
The cm3.cfg that comes with your minimal binary installation on Windows (NT386) has the following lines:
 
-----------------------------------------
% INSTALL_ROOT = BEGIN_CONFIG
%   "Where should CM3 be installed?"
%     7 %-- user specified install root
% END_CONFIG
 
% INSTALL_ROOT = "c:\\cm3"
 
if not defined("INSTALL_ROOT")
    if not equal ($INSTALLROOT, "")
        INSTALL_ROOT = $INSTALLROOT
    else
        INSTALL_ROOT = (path() & "\\..")
    end
end
 
BIN_INSTALL   = INSTALL_ROOT & "\\bin"          % executables
LIB_INSTALL   = INSTALL_ROOT & "\\lib"          % libraries
PKG_INSTALL   = INSTALL_ROOT & "\\pkg"          % packages
DOC_INSTALL   = INSTALL_ROOT & "\\doc"          % documents
EMACS_INSTALL = INSTALL_ROOT & "\\elisp"        % emacs lisp code
MAN_INSTALL   = INSTALL_ROOT & "\\man"          % man pages
HTML_INSTALL  = INSTALL_ROOT & "\\www"          % public hypertext
 
%
% On some systems (e.g. AFS) you must install public files in a different
% place from where you use them.  If that is the case for your system,
% specify the "use" location here, otherwise leave them alone.
%
%USE_ROOT  = INSTALL_ROOT
BIN_USE   = BIN_INSTALL   % executables
LIB_USE   = LIB_INSTALL   % libraries
PKG_USE   = PKG_INSTALL   % packages
-----------------------------------------
 
Notice that the lines for INSTALL_ROOT and USE_ROOT are commented out.
 
The Reactor program is coded to grab several variables out of cm3.cfg.  For example,
 
    build_dir       := M3Config.Get ("BUILD_DIR");
    system_root     := M3Config.Get ("PKG_USE");
    doc_root        := M3Config.Get ("DOC_INSTALL");
    initial_browser := M3Config.Get ("INITIAL_CM3_IDE_BROWSER");
    initial_editor  := M3Config.Get ("INITIAL_CM3_IDE_EDITOR");
What is happening on my installation is that PKG_USE winds up being "\..\PKG".  This is not a valid path and it is causing all sorts of trouble for Reactor.
 
The reason it is getting set this way is that the ELSE branch of the, if not defined("INSTALL_ROOT"), is getting executed resulting in INSTALL_ROOT=\..
 
I'm not sure why this is coded this way.
 
How do you suggest this should be repaired?  
 
Note, I have not checked all of the cm3.cfg variants for the other target platforms, but in order for reactor to work properly, it must be able to find a valid "PKG_USE" in the cm3.cfg.
 
Regards,
Randy

Climb to the top of the charts! Play the word scramble challenge with star power. Play now! ( http://club.live.com/star_shuffle.aspx?icid=starshuffle_wlmailtextlink_jan ) 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080124/100e1483/attachment-0002.html>


More information about the M3devel mailing list