This is where the SNF SDK for Windows Package is kept.

Copyright (c) 2009 - 2020 ARM Research Laboratories

The 64-bit SNFMulti.dll file is built using MinGW-64, the 64-bit MinGW
toolchain.  The 32-bit SNFMulti.dll file is built using MinGW, the
32-bit MinGW toolchain.

The SNFMulti.dll is built using the .CMD files from the command line
(in the MinGW-64 or MinGW-32 directory).  In addition to building
SNFMulti.dll, the libSNFMulti.a and libSNFmulti.def files are created.
The import and export files are built using the VS2019 command line.

There are also applications for linking with SNFMulti.dll:

  1) The SNFMulti C++ test built with MinGW.  This can be built with a
  .CMD file in the MinGW-64 or MinGW-32 directory

  2) The SNFMulti C++ test built with Visual Studio 2019.  This can be
  built with solution file VS20198CPPSample/VS2019CPPSample.sln.

  3) A Visual Studio 2019 C# example application.  This can be built
  with solution file VS2019CSSample/VS2019CSSample.sln.

  4) A Visual Studio 2008 VB example application.  This can be built
  with the solution file VS2008VBSample/VS2008VBSample.sln.

This package includes the following directories (each has a README
file with further information):

  MinGW-64--Contains .CMD files for building 64-bit SNFMulti.dll and
  associated files, and also the C++ application SNFMultiTest.  It
  uses the source files in the SNFMulti, CodeDweller, and SNFMultiTest
  directories.  These directories must be present.

  MinGW-32--Contains .CMD files for building 32-bit SNFMulti.dll and associated
  files, and also the C++ application SNFMultiTest.  It uses the
  source files in the SNFMulti, CodeDweller, and SNFMultiTest
  directories.  These directories must be present.

  CodeBlocks--Contains the Code::Blocks project files for building
  SNFMulti.dll and SNFMultiTest.  It uses the source files in the
  SNFMulti, CodeDweller, and SNFMultiTest directories.  These
  directories must be present.

  SNFMultiTest--Contains the source for the C++ test application
  SNFMultiTest.

  VS2008CSSample, VS2008VBSample, VS2008CPPSample--Contains the Visual
  Studio files for building the C# and VB example applications, and
  the C++ test.

To build the applications in the MinGW-64, MinGW-32, and VS2019
directories:

  1) Ensure that the SNFMultiTest, SNFMulti, and CodeDweller
  directories are present.

  2) Install the 64-bit MinGW toolchain.  The scripts in MinGW-64 are
     for MinGW-W64 version 8.1.0, posix threads, and seh exception.
     If a different version is installed, the scripts would need to be
     modified.

  3) Install the 32-bit MinGW toolchain (i686 architecture), version
     8.1.0, posix threads, and sjlj exception.  If a different version
     is installed, the scripts would need to be modified.

  4) Install VS 2019. and the .NET runtime.

  5) Follow the directions in README file in MinGW-32, MinGW-64, and
     VS2019 directories.

To build and test the SDK:

  1) In PKG-SNF-SDK-WIN/trunk/MinGW-32:

     a) compileSNFMultiDLL.cmd.

     b) buildSNFMultiDLL.cmd.

     c) buildSNFMultiTestDLL.cmd.

     d) buildvs2019SNFMultiImportLib.cmd (in vs2019 command prompt).

     e) SNFMultiTest.exe.

     f) installSNFMultiLibrary.cmd.

  2) Repeat in MinGW-64.

  3) Build and run VS2019CPPSample, x32 and x64, following the
     instructions in the README file.

  4) Build and run VS2019CSSample, any, x32, and x64, following the
     instructions in the README file.

  5) Build and run VS2019VBSample, any, x32, and x64, following the
     instructions in the README file.

To create a zipfile distribution:

  1) Install jZip.

  2) Add jZip to the path for the MinGW-W64 bash command line.

  3) At a MinGW bash prompt, run

       ./createDistribution VERSION

     where VERSION is the version to create.  This creates a
     distribution in SNFMultiSDK_Windows, and zips the distribution
     into SNFMultiSDK_Windows_VERSION.zip.
