[petsc-dev] Running dsymutil in GNU make build

Satish Balay balay at mcs.anl.gov
Mon Nov 4 13:28:28 CST 2013

On Mon, 4 Nov 2013, Jed Brown wrote:

> Satish Balay <balay at mcs.anl.gov> writes:
> >> http://cygwin.com/cygwin-ug-net/dll.html
> >
> > Yes - basically it creates both a .a and .dll file [so extra options
> > to specify these output files]
> So both files are significant and there is no way to create them
> separately?

Yes both files are significant - and as far as I know - both get created
at the same time. [this is perhaps similar to .f -> .o/.mod]

The .dll.a is used at linktime and .dll is used at runtime [so its
location needs to go into PATH for it to work at runtime]

>  Does the single concept "shared library"/"DLL" refer to
> both the .dll and the .dll.a?  Can the names have the same stem?

The above site uses the noation:

gcc -shared -o cyg${module}.dll  -Wl,--out-implib=lib${module}.dll.a

Perhaps this is a convention used for dlls generated from cygwin-gcc.

> If so, we can specify them using pattern rules:
> %.dll %.dll.a : prereqs
> 	recipe

I think libpetsc.dll, libpetsc.dll.a should work [eventhough the
convention is not to use 'lib' prefix as libpetsc.dll]


> Make cannot guarantee proper clean-up after failure if we don't specify
> dependencies completely and accurately.

More information about the petsc-dev mailing list