-----BEGIN PGP SIGNED MESSAGE-----
On 08.09.2012 15:42, Maximus wrote:
> Erwin Waterlander <waterlan@...> writes:
>> I think that ConEmu's default shell should stay cmd.exe. Cmd.exe
>> is the best know shell and always present on Windows. Msys shell
>> users are a small minority. But one should be able to change the
>> default shell and set it for instance to MSYS' sh.exe. A ConEmu
>> version distributed by MinGW should be configured to have MSYS
>> sh.exe as default shell.
>> The standard location of MSYS shell is:
>> c:\mingw\msys\1.0\bin\sh.exe --login -i
>> But people may have installed mingw/msys elsewhere.
> Current ConEmu version supports more than one default shell. Here
> is the rules of shell selection (in case of empty config, no shell
> selected in config obviously):
> 1. When ConEmu found "far.exe" near to itself (same folder or
> parent folder of "ConEmu.exe"), it starts Far Manager. 2. When
> TakeCommand or TCC/LE installed on PC, ConEmu starts "tcc.exe" 3.
> Otherwise, ConEmu starts "cmd.exe".
> Thought, I can add same step for "sh.exe" like "far.exe". But there
> is a question, if ConEmu will be distributed by MinGW, what folder
> it will be installed in?
> Note, there are some subfolders in ConEmu package (PE files, docs,
> license, Far Manager related files, and so on). Hope, it is not a
> Another note (working in current version), all required files
> (ConEmu.exe, ConEmuC.exe, ConEmuCD.dll, ConEmuHk.dll and their
> 64-bit versions) may be placed in one folder, without subfolders.
> ConEmu supports this mode, but its internal autoupdate feature will
> fail in such config at moment.
Well, MinGW follows *nix layout to some extent. That is,
* executables (.exe files and scripts) are installed in /mingw/bin
* shared libraries (.dll) are installed in /mingw/bin (this is
unposixly, normally they go into /lib subdir, but on W32 you can't put
shared libraries away, unless you have custom runtime linking code)
* global configuration files go into /mingw/etc
* shared data (icons, documentation, language files, manpages, some
helper scripts, examples) to into /mingw/share/<packagename>/<something>
* static libraries and import libraries (.a and .dll.a) go into /mingw/lib
* includes go into /mingw/include
* helper executables (not designed to be run directly) go into
/mingw/bin/libexec/ (this is rare; i remember only git and
gcc/binutils using this directory, so i'm not sure about details)
* there's also /mingw/var, not sure what's it official purpose (it
holds mingw-get databases and archives in /var/lib/mingw-get, for
* then there's user's home directory for user-specific configuration files
Programs adapted to this scheme usually ask Windows about their
location (get module path; dlls do this with their HINSTANCE that they
get in DllMain, executables do it with NULL HINSTANCE), check to see
if they are in a /bin subdirectory, and if they are, assume that
parent directory is /mingw root, and then figure out everything from
Since shared libraries and executables are not separated, it won't be
pose a problem for you - just put them all into /mingw/bin
However, x86 vs x86_64 thing is more complex. If you have one ConEmu
that then loads different shared libraries depending on the mode (x86
or x86_64), then it's probably ok.
If you actually have two completely different sets of shared libraries
and executables that have identical names, but are built for different
architectures, then you obviously can't dump them all into /mingw/bin.
Users will have to choose between x86 and x86_64 packages (unusual
situation for mingw.org, historically it's been 100% x86, and when
mingw-w64 is used, i think it's customary to have entire /mingw be
either x86 or x86_64, but not a mix of both).
I'm also assuming that being a native application, ConEmu will live in
/mingw, not in /usr.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (MingW32)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/
-----END PGP SIGNATURE-----