2012/11/13 Earnie Boyd <[email protected]>

> On Tue, Nov 13, 2012 at 8:01 AM, Ruben Van Boxem
> <[email protected]> wrote:
> > 2012/11/13 Earnie Boyd <[email protected]>
> >>
> >> That doesn't address the side-by-side issue where we need a 32bit
> >> executable matching the 64bit executable.  What do you propose for
> >> 32bit executable path versus the 64bit executable path?  The reason to
> >> install the DLL into the bin/ directory is that the system will find
> >> it even if the directory isn't in PATH.  Suppose I execute a binary
> >> via an absolute path, one expects it to work regardless of the PATH
> >> variable.  There are methods (such as mucking with the KnownDLL
> >> registry entry, via a manifest, etc) that will allow you to move those
> >> DLL elsewhere but because we are on Windows, it is best to follow the
> >> default standard as recommended by the maker of the OS and it may be
> >> different for differing versions of the OS.
> >>
> >>
> >>
> http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85).aspx
> >>
> >>
> http://msdn.microsoft.com/en-us/library/windows/desktop/aa376414(v=vs.85).aspx
> >
> >
> > Oh yes, let's impose a unnecessarily complicated, proprietary,
> non-portable
> > (across OS versions) scheme on the developers/users to account for a case
> > which virtually never happens (installing 32 and 64-bit executables
> > alongside each other)
> >
>
> When in Rome ...
>
> > Windows was never designed to be monolithic (wrt 32 and 64-bit)... Just
> look
> > at the system32 and sysWoW64 directory in C:\Windows. Install differing
> > architectures side by side, not mucked with manifests that overcomplicate
> > things.
> >
>
> Actually System32 is a magical directory that when executing in 32bit
> emulation mode is mapped to SysWOW64 and the original System32
> directory is mapped to SysNative/.  This allows binaries accessing
> System32 directly to DTRT.  The SysNative/ pseudo directory doesn't
> exist outside of the SysWOW64 emulation.
>
> > To execute a binary in the scheme Kai suggests, either the relevant DLL
> > needs to be copied (which has to be done to install to an end-user's
> system
> > anyways) or you set the PATH on the development machine.
> >
>
> Yes, true.
>
> > To be honest, this is the mess I completely avoid by having to seperate
> > build directories and toolchains for all my stuff, one per bitness. I
> know
> > this isn't very future-friendly, but hey, I don't want to muck with too
> much
> > muck ;-)
> >
>
> Which is what I said you must do; segregate the bitness differences.
> But I'm still stating that the DLL belongs in the executable
> directory.
>

OK, so we sort of understand each other ;-). For all 3rd party stuffs, I
agree, as I said. For a multilib toolchain, consistency demands both
bitness runtime DLL's are in TARGET/lib or TARGET/bin. The toolchain itself
must be built statically to avoid IDEs calling executables directly failing
to work. In order to run an exe in a development context, add TARGET/lib to
PATH and be done with it. In an end-user install context, place the DLLs
alongside the matching executables.

Simple as that :).

Ruben

PS: the opinions expressed in this email do not necessarily coincide with
the opinions of the MinGW-w64 developers, Microsoft, or any other person
participating in this discussion ;-)

>
> --
> Earnie
> -- https://sites.google.com/site/earnieboyd
>
>
> ------------------------------------------------------------------------------
> Monitor your physical, virtual and cloud infrastructure from a single
> web console. Get in-depth insight into apps, servers, databases, vmware,
> SAP, cloud infrastructure, etc. Download 30-day Free Trial.
> Pricing starts from $795 for 25 servers or applications!
> http://p.sf.net/sfu/zoho_dev2dev_nov
> _______________________________________________
> Mingw-w64-public mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to