On Tue, 4 Jun 2013, Jed Brown wrote: > > The following updated thingy also works - but with a [false] warning > > from win32fe. I must have seen this before and assumed '@file' didn't > > work from win32fe > > > > I guess I should look at fixing win32fe to handle '@file' properly > > I.e., just suppress the warning for arguments starting with '@'? That > sounds good.
I have fixed up win32fe to process '@cmdfile' args to archiver correctly. [i.e win32fe does the windows-unix path conversion for this opton]. So the following now works. [I'll have to look at fixing up win32fe anyway to get the FC_MODULE_OUTPUT_FLAG test going properly anyway] Also - I removed all the compiler/tool autodetection code in win32fe. [it wasn't working well - and was disabled by default for the past few releases. And we've been insisting on users setting up working compiler enviornment via 'compiler cmd' anyway] BTW: should we move kspams.c into a subdir [srcksp/ksp/interface/ams] - so that its conditionally compiled? [or add in a dummy code at the end of the current #ifdef in code]. This could go into maint Satish ------------- balay@msnehalem2 ~/petsc.clone $ make -f gmakefile PETSC_ARCH=arch-cmplx -j 20 V=1 /home/balay/petsc.clone/bin/win32fe/win32fe lib -a /home/balay/petsc.clone/arch-cmplx/lib/libpetsc.lib @/home/balay/petsc.clone/arch-cmplx/lib/libpetsc.lib.args kspams.o : warning LNK4221: no public symbols found; archive member will be inaccessible /usr/bin/true /home/balay/petsc.clone/arch-cmplx/lib/libpetsc.lib balay@msnehalem2 ~/petsc.clone $ git diff gmakefile diff --git a/gmakefile b/gmakefile index bf9ce21..a0f761f 100644 --- a/gmakefile +++ b/gmakefile @@ -68,9 +68,11 @@ $(libpetsc_shared) : $(srcs.o) | $$(@D)/.DIR $(libpetsc_static) : obj := $(srcs.o) %.$(AR_LIB_SUFFIX) : $$(obj) | $$(@D)/.DIR - @$(RM) $@ - $(call quiet,AR) $(AR_FLAGS) $@ $^ + @$(RM) $@ [email protected] + @cygpath -w $^ > [email protected] + $(call quiet,AR) $(AR_FLAGS) $@ @[email protected] $(call quiet,RANLIB) $@ + @$(RM) [email protected] # with-single-library=0 libpkg = $(foreach pkg, $1, $(LIBDIR)/libpetsc$(pkg).so) balay@msnehalem2 ~/petsc.clone
