Sisyphus wrote: > Using EU::MM-6.36. > On Win32, I've been doing stuff in a Makefile.PL like: > > =========================== > . > . > # If we're using an MS compiler we need to additionally link > # to MinGW's libgcc.a (for this particular module). > if($Config{cc} eq 'cl') { > $hash{OBJECT} = '/full/path/to/libgcc.a'; > } > WriteMakefile(%hash); > =========================== > > Unfortunately running 'nmake realclean' will now clean up libgcc.a ... > which is not what I really wanted to happen. > I want 'realclean' to simply clean up all of the "derived files" - as > per the documentation. I deduce that 'OBJECT' is therefore reserved for > "derived files" and that there must be a better way to conditionally > link to pre-existing libraries that have an extension that differs from > $Config{lib_ext}. > > How *should* I be doing it ? > > Doing it with 'LIBS' is probably not all that straightforward as > '-L/full/path/to -lgcc' will look for '/full/path/to/libgcc.lib' and > fail to find '/full/path/to/libgcc.a'. (Note that $Config{lib_ext} is > usually '.lib' when Sconfig{cc} is 'cl'.)
There seems to be about four different non-standard things going on here. So of fighting all that, maybe just symlink the non-standard library into your working directory and put that into OBJECT? Or might LDFROM and/or dynamic_lib be useful? -- Insulting our readers is part of our business model. http://somethingpositive.net/sp07122005.shtml