So, I've actually run MoMA against NAnt-0.91 and turns out it does
have some P/Invokes (19 in total). I'm not sure whether NAnt actually
triggers them (as they would explode beautifully on Mono+Linux), but
I'm attaching a list here for the record - all of those will need to
be examined if the build is going to be 'AnyCPU'. Simplest solution
(for now, and contrary to what I have written yesterday) is to build
as 'x86'. A long-term goal (but probably doable in less then a day)
would be to inspect those external calls and either remove them or
make sure they are 32/64 bit safe[1].

[1]: MSDN article on the topic:
http://msdn.microsoft.com/en-us/library/ms973190.aspx

On Tue, Nov 15, 2011 at 1:00 AM, Brass Tilde <brassti...@gmail.com> wrote:
>> On Nov 14, 2011, at 8:53 AM, Leszek Ciesielski <skol...@gmail.com> wrote:
>>
>>> Does NAnt need the x86 config? Is there actually any P/Invoke code
>>> that will break with the 'Any CPU' setting? I was under the impression
>>> that there wasn't.
>> Not that I can tell.  I haven't seen any p/invoke code anywhere.
>>>
>>> So the 'Debug|Any CPU' and 'Release|Any CPU' platforms should be enough.
>> Great, thanks for the feedback.
>
> I'd agree with both of those assessments.
>
Title: MoMA Scan Results
MoMA Scan Results
Scan Date: 2011-11-15 09:59:43
MoMA Definitions: Mono 2.8 (4.0 Profile)

For descriptions of issues, see MoMA Issue Descriptions.
Assembly Version Missing Not Implemented Todo P/Invoke
log4net.dll 1.2.10.0 0 0 6 3
Calling Method P/Invoke Method P/Invoke Library
void ActivateOptions () void LocalSyslogAppender.openlog (IntPtr, int, LocalSyslogAppender/SyslogFacility) libc
void Append (LoggingEvent) void LocalSyslogAppender.syslog (int, string, string) libc
void OnClose () void LocalSyslogAppender.closelog () libc
NAnt.CompressionTasks.dll 0.91.4312.0 0 0 0 0
NAnt.Core.dll 0.91.4312.0 0 0 7 3
Calling Method P/Invoke Method P/Invoke Library
void SetSingleEnvironmentVariable (string, string) int SetEnvTask.unsetenv (string) libc
void SetSingleEnvironmentVariable (string, string) int SetEnvTask.setenv (string, string, int) libc
void SetSingleEnvironmentVariable (string, string) bool SetEnvTask.SetEnvironmentVariable (string, string) kernel32.dll
NAnt.DotNetTasks.dll 0.91.4312.0 0 0 1 0
NAnt.MSNetTasks.dll 0.91.4312.0 0 0 0 0
NAnt.NUnit.dll 0.91.4312.0 0 0 0 0
NAnt.NUnit1Tasks.dll 0.91.4312.0 0 0 1 0
NAnt.NUnit2Tasks.dll 0.91.4312.0 0 0 2 0
NAnt.SourceControlTasks.dll 0.91.4312.0 0 0 0 0
NAnt.VisualCppTasks.dll 0.91.4312.0 0 0 0 0
NAnt.VSNetTasks.dll 0.91.4312.0 0 1 7 1
Calling Method P/Invoke Method P/Invoke Library
string GetTypeLibraryName (string) void WrapperReferenceBase.LoadTypeLibEx (string, int, Object&) oleaut32.dll
NAnt.Win32Tasks.dll 0.91.4312.0 0 0 0 0
NDoc.Documenter.NAnt.dll 0.91.4312.0 0 0 0 0
NAnt.exe 0.91.4312.0 0 0 1 0
scvs.exe 0.36.5.0 0 0 1 0
NAnt.MSBuild.dll 0.91.4312.0 0 0 0 0
nunit-console-runner.dll 2.2.8.0 0 0 0 0
nunit.core.dll 2.2.8.0 0 0 0 0
nunit.framework.dll 2.2.8.0 0 0 0 0
nunit.util.dll 2.2.8.0 0 0 1 0
nunit-console.exe 0.0.0.0 0 0 0 0
ICSharpCode.SharpCvsLib.Console.dll 0.36.5.0 0 0 1 0
ICSharpCode.SharpCvsLib.dll 0.36.5.0 0 0 0 0
ICSharpCode.SharpZipLib.dll 0.86.0.518 0 0 0 0
NDoc.Core.dll 1.3.3152.0 0 0 6 0
NDoc.Documenter.Msdn.dll 1.3.3152.0 0 0 0 0
NDoc.ExtendedUI.dll 1.3.3152.0 0 0 0 12
Calling Method P/Invoke Method P/Invoke Library
void EnableOk (IntPtr, bool) int ShellBrowseForFolderDialog.SendMessage (IntPtr, uint, uint, int) User32.dll
void SetExpanded (IntPtr, string) int ShellBrowseForFolderDialog.SendMessage (IntPtr, uint, uint, string) User32.dll
void SetOkText (IntPtr, string) int ShellBrowseForFolderDialog.SendMessage (IntPtr, uint, uint, string) User32.dll
void SetSelection (IntPtr, string) int ShellBrowseForFolderDialog.SendMessage (IntPtr, uint, uint, string) User32.dll
void SetStatusText (IntPtr, string) int ShellBrowseForFolderDialog.SendMessage (IntPtr, uint, uint, string) User32.dll
DialogResult ShowDialog () int ShellApi.SHGetFolderLocation (IntPtr, int, IntPtr, uint, IntPtr&) shell32.dll
DialogResult ShowDialog () int ShellApi.SHParseDisplayName (string, IntPtr, IntPtr&, uint, UInt32&) shell32.dll
DialogResult ShowDialog () IntPtr ShellApi.SHBrowseForFolder (ShellApi/BROWSEINFO&) shell32.dll
DialogResult ShowDialog () int ShellApi.StrRetToBSTR (ShellApi/STRRET&, IntPtr, String&) shlwapi.dll
bool IsPIDLFileSystem (IntPtr) int ShellApi.StrRetToBSTR (ShellApi/STRRET&, IntPtr, String&) shlwapi.dll
IMalloc GetMalloc () int ShellApi.SHGetMalloc (IntPtr&) shell32.dll
IShellFolder GetDesktopFolder () int ShellApi.SHGetDesktopFolder (IntPtr&) shell32.dll
NUnitCore.dll 1.11.786.40392 0 0 0 0
SimpleExtension.dll 0.0.0.0 0 0 0 0
Totals 0 1 34 19
------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
nant-developers mailing list
nant-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to