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. Thanks again, Bob Rossi