[M3devel] INSTALL_ROOT and PKG_USE in cm3.cfg
Jay
jayk123 at hotmail.com
Fri Jan 25 02:33:40 CET 2008
I'm not sure what versions of cm3 have path(). I did think I saw it missing the other day.
That could be your problem.m3cgcat also doesn't like my config file, it wants to open it to find TARGET, not sure it uses it at all, but it wants it. When I run mcgcat, I first put back a TARGET line in my cm3.cfg. And then remove it.
This is very related.
I would suspect that whoever reads the files MIGHT find it acceptable to RUN them.
Running them doesn't mean compiling or linking or anything, those are functions that the "host" would chose to call or not. But toplevel can have arbitrary code so maybe this is not great.
Reactor is a persistant web server though, right? It should be ok "running" the file, esp. since it doesn't start often.
The "normal" alternative that other folks use is to run cminstall, which I find all but useless.
In terms of my workflow, you can go ahead and copy NT386 to the config-no-install directory. I'll survive.
Randy you should try debugging stuff. Quake is readily debuggabe through printing.
if defined("path")
write("path is defined")
write("path is " & path())
else
write("path is not defined")
end
error("")
I put in error so I stop after my printing and don't go and build stuff when my intent was just to run a snippet of Quake.
- Jay
Date: Thu, 24 Jan 2008 20:06:09 -0500From: rcoleburn at scires.comTo: jay123 at hotmail.com; jayk123 at hotmail.comCC: m3devel at elegosoft.comSubject: RE: [M3devel] INSTALL_ROOT and PKG_USE in cm3.cfg
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 -0500From: rcoleburn at scires.comTo: jay123 at hotmail.comCC: m3devel at elegosoft.comSubject: [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() & "\\..") endend
BIN_INSTALL = INSTALL_ROOT & "\\bin" % executablesLIB_INSTALL = INSTALL_ROOT & "\\lib" % librariesPKG_INSTALL = INSTALL_ROOT & "\\pkg" % packagesDOC_INSTALL = INSTALL_ROOT & "\\doc" % documentsEMACS_INSTALL = INSTALL_ROOT & "\\elisp" % emacs lisp codeMAN_INSTALL = INSTALL_ROOT & "\\man" % man pagesHTML_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_ROOTBIN_USE = BIN_INSTALL % executablesLIB_USE = LIB_INSTALL % librariesPKG_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!
_________________________________________________________________
Climb to the top of the charts! Play the word scramble challenge with star power.
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/20080125/b4421130/attachment-0002.html>
More information about the M3devel
mailing list