From: Brandon V. E. <bva...@gm...> - 2007-10-24 18:55:50
|
On 10/24/07, Keith Marshall <kei...@us...> wrote: > On Tue, 2007-10-23 at 10:33 -0400, Bill Hoffman wrote: > > > So, the default install location for CMake on msys is currently the > > "program files" directory as it is for the microsoft and borland > > compilers. > > That seems a rather draconian restriction; the installation directory > can be anywhere the user wants it to be, and the standard supported by > MSYS is that each source package sets its own default. What restriction? He said "the default" install location is %ProgramFiles%. It is easy for the end user to specify something else. It isn't difficult for the project to specify something else. The question is, what should be the default when neither the user nor the project has specified anything? The choices are: - have a default install location - issue an error and don't allow any installation I don't see any advantage to the latter. So we are merely discussing a default of %ProgramFiles% vs. /usr/local. Current thinking is that MSYS is for developing native Windows apps, therefore use %ProgramFiles%. > which relies not only on the MSYS sh.exe being the first sh.exe found in > the PATH, but also on /usr/local existing within the MSYS virtual file > system, (it doesn't, in a standard MSYS installation, unless the user > chooses to explicitly create it). Which also makes %ProgramFiles% the path of least resistance. It exists on any Windows system that isn't broken. > > The big question is should it be done? The strongest argument for > > using /usr/local as the install location, is that autotools based > > projects use /usr/local as the default install location. > > It has nothing to do with the autotools, per se; the GNU Coding > Standards require it, and it is the default for many Open Source > projects, irrespective of whether they use autotools or not. Heh, following the GNU Coding Standards for native Windows development is like asking Microsoft to decide the fate of the Free Software Foundation. :-) > > I would much appreciate the view point of an msys developer. > > It depends which MSYS developer you ask. Some will say that the default > should be whatever /mingw maps to, and that seems to be the consensus of > opinion amongst the active developers; it is what we set as default, in > the supplementary source packages we provide, for building as native > programs, for use with MinGW or with MSYS. Personally, I prefer to use > /usr/local, reserving /mingw for the GCC tool chain only, and I override > the /mingw default, when I build such packages for my own use. Pollute C:\MinGW? Hadn't thought of that possibility. Seems to assume that we're spitting out a Unixy pile of \bin \doc \man \lib directories and so forth. Native Windows developers don't do that. Everything for a given app belongs under 1 directory. There's no reason to put a native Windows app under C:\MinGW\MyAppDirectory, it's not going to get added into any paths under MSYS. If they want search paths to their app they're going to have to specify 'em manually. Doesn't matter whether they specify C:\MinGW\MyAppDirectory or C:\Program Files\MyAppDirectory. Meanwhile, the former pollutes /mingw and the latter is canonical native Windows development, doesn't pollute anything. It's becoming clear to me that this debate is about Unixy tools. CMake is not about Unixy tools per se, it is about cross-platform development. I guess the remaining question is whether, in practice, just about every developer out there using MSYS is doing Unixy tools development. Cheers, Brandon Van Every |