Simon Josefsson wrote: > I'm not sure why I've been starting to see this now, it has worked > fine since the module was added, perhaps the C# compiler changed > during some upgrade. Anyway, with 'make distcheck' I get: > > checking for preferred C# implementation... any > ... > checking for C# compiler... cscc > > Making all in csharp > make[3]: Entering directory `/home/jas/self/src/libidn/libidn-0.6.4/_build/csharp' > /bin/sh ../csharpcomp.sh -o Libidn.dll \ > `for src in AssemblyInfo.cs IDNA.cs RFC3454.cs CombiningClass.cs IDNAException.cs Stringprep.cs Composition.cs NFKC.cs StringprepException.cs DecompositionKeys.cs Punycode.cs DecompositionMappings.cs PunycodeException.cs; do echo ../../csharp/$src; done` > ../../csharp/AssemblyInfo.objtmp: Permission denied > make[3]: *** [Libidn.dll] Error 1 > make[3]: Leaving directory `/home/jas/self/src/libidn/libidn-0.6.4/_build/csharp' > make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory `/home/jas/self/src/libidn/libidn-0.6.4/_build' > make[1]: *** [all] Error 2 > make[1]: Leaving directory `/home/jas/self/src/libidn/libidn-0.6.4/_build' > make: *** [distcheck] Error 2 > [EMAIL PROTECTED]:~/src/libidn$ > > Since csharpcomp.sh just invoke cscc, maybe it is a problem with it? > It shouldn't write to srcdir, IMHO. > > The script reduces to invoking cscc -shared -o Libidn.dll > ../../csharp/AssemblyInfo.cs ..., as in: > > [EMAIL PROTECTED]:~/src/libidn/libidn-0.6.4/_build/csharp$ cscc -shared -o Libidn.ddl .. /../csharp/AssemblyInfo.cs > ../../csharp/AssemblyInfo.objtmp: Permission denied > [EMAIL PROTECTED]:~/src/libidn/libidn-0.6.4/_build/csharp$ > > Should csharpcomp copy the *.cs file before compilation, perhaps?
I fully agree with your analysis and opinion. A compiler should not write temporary files in the source nor in the target directory. That's what $TMPDIR (or /tmp if unset) is made for. IMO it's worth filing a bug report. > Should csharpcomp copy the *.cs file before compilation, perhaps? IMO the compiler itself (cscc) should not do such things in the first place. Bruno