[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: install mingwm10.dll
Re: install mingwm10.dll
Thu, 27 Mar 2008 19:47:25 -0400
On Thu, Mar 27, 2008 at 11:51:31PM +0100, Ralf Wildenhues wrote:
> Hi Bob,
> * Bob Rossi wrote on Thu, Mar 27, 2008 at 06:55:26PM CET:
> > On Wed, Mar 26, 2008 at 03:28:26PM -0400, Bob Rossi wrote:
> > >
> > > I want to install mingwm10.dll, since my program requires it. I'm trying
> > > to figure out the best way to do this. The dll lives in /c/mingw/bin.
> > >
> > > Would
> > > bin_DATA=/c/mingw/bin/mingwm10.dll
> > > make the most sense? Any suggestions?
> > I switched over to linux, and got an example to work like this,
> > bin_SCRIPTS = /usr/lib/libglib-2.0.so
> > Is this a stupid thing to do?
> Erm, yes. Even apart from the fact that such a hard-coded path is
> pretty unportable.
> > Is there a better solution?
> I'm not sure what you want to do. You want
> make install
> to copy /c/mingw/bin/mingwm10.dll to /usr/local/bin/mingwm10.dll?
I want to copy /c/mingw/bin/mingwm10.dll to my bin dir yes. After I do
the make install, I will then use something like NSIS to take the
install dir and make some sort of installation package for windows.
> Why in the world would you want to do that? And if you really want
> to copy that file somewhere, why do you not just keep it as part of
> your distribution tarball?
The problem is, you can't run a mingw application on windows that
does not have mingwm10.dll installed if the mingw application uses
threads and exceptions.
> And yes, apart from it looking like a weird thing to try in the first
> place, here's a bunch more reasons against the above:
I hope it doesn't seem wierd now. I have to give the user the
mingwm10.dll, so, I think it should be installed.
> - on my w32 system, mingwm10.dll lives in another place (in fact, it
> happens not to, but it easily could),
I know, I don't know what to do about this, besides write a macro to
find it, that will come next if needs be.
> - on my GNU/Linux, the library does not exist, but there is an import
> library libmingw32.a which I think can be linked against,
My linux version of this program does not need the library, as I simply
use the normal gcc, not the mingw version. Perhaps the version on linux
you are looking for is for cross compiling?
> - *_DATA does not set execute permissions on installed files (I think
> this is less of a problem for w32 than for unixes, but may still be
> for cross compilation?),
OK, I'm not using data anymore.
> - *_SCRIPTS are installed after *_PROGRAMS are installed (or even
> concurrently with parallel make), so if a program needs the freshly
> installed library, that can break,
> - install-strip won't work on that library.
> I agree that Automake does not provide a good method, only relying on
> documented interfaces, which can overcome all these issues.
Thank you very much for this description, it was really helpful. I'm
currently using the bin_SCRIPTS solution. It seems to work for now.