README file for command files for building SNFServer library and applications

Copyright (c) 2009-2012 ARM Research Laboratories

This is the README file for building the SNFMulti library and
SNFMultiTest application using the 64-bit MinGW toolchain.

Prerequisites

  1) Install the 64-bit MinGW compiler in C:\MinGW-64.

  2) Modify the MinGW distribution as follows:

     a) Modify c:\mingw-64\x86_64-w64-mingw32\include\winioctl.h:

     	Change "Unknown" enumeration name to "_Unknown" (at approximately line 490).

     b) Modify c:\mingw-64\x86_64-w64-mingw32\include\math.h:

     	Command out "struct exception;" (at approximately line 15).

To build SNFMulti.dll

  1) Run "compileSNFMultiDLL.cmd".  This compiles the SNFMulti files
  for building a DLL.  The object files are created in the current
  directory.  The source files are in the ../SNFMulti and
  ../CodeDweller directories.

  2) Run "buildSNFMultiDLL.cmd".  This builds snfmulti.dll,
  libsnfmulti.a, and snfmulti.def.  These are the same files built
  by Code::Blocks.

To build the import and export SNFMulti libraries for VS2008:

  1) With the VS2008 command prompt, run "buildVS2008SNFMultiImportLib.cmd".
  This reads snfmulti.def and creates vs2008_snfmulti.lib (the SNFMulti import
  library) and vs2008_snfmulti.exp (the SNFMulti export library).

To copy to where the sample programs can find the files:

  1) Run "installSNFMultiLibrary.cmd".  This copies the output files into
  the ..\64bitDll directory.

To build SNFMultiTest linked with SNFMulti.dll:

   1) Run "buildSNFMultiTestDLL.cmd".  This builds SNFMultiTest.exe,
   linking with SNFMulti.dll.  Because SNFMulti.dll is in the current
   directory, SNFMultiTest.exe can be run from the command line
   without modifying the PATH variable.

To run SNFMultiTest:

  1) Make sure that all DLLs required by MinGW are available to
     SNFMultiTest.  For example, MinGW-64 with gcc 4.4.0 needs
     libgcc_s_sjlj-1.dll, which is in \MinGW-64\bin.

  2) Make sure that the sniffer configuration file is named
     prescale.xml, and is in the current directory.  A suitable
     configuration file is ..\SNFMultiSDK_Windows_3.1\snf_engine.xml.