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, CodeBlocks, and
VS2008 directories:
1) Ensure that the SNFMultiTest, SNFMulti, and CodeDweller
directories are present.
2) Install the 64-bit MinGW toolchain. Unpack the 64-bit toolchain
(e.g. mingw-w64-bin_i686-mingw_20090220.zip) into c:\MinGW-64. If
done correctly, c:\MinGW-64 should have the directories bin,
include, x86_64-pc-mingw32, and other directories. The MinGW .CMD
files and the Code::Blocks project files are configured to use the
64-bit toolchain in c:\MinGW-64.
3) Install the 32-bit MinGW toolchain to C:\MinGW.
4) Install VS 2008.
5) Follow the directions in each directorie's README file.
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) buildvs2008SNFMultiImportLib.cmd (in vs2008 command prompt).
e) SNFMultiTest.exe.
f) installSNFMultiLibrary.cmd.
2) Repeat in MinGW-64.
3) Build and run VS2008CPPSample, x32 and x64. First copy
snf_engine.xml to VS2008CPPSample. For x32, copy *.dll from
32bitDll to VS2008CPPSample. For x64, copy *.dll from 64bitDll
to VS2008CPPSample.
4) Build and run VS2008CSSample, any, x32, and x64. Copy
snf_engine.xml to VS2008CSSample. Modify main.cs to specify
the location of snf_engine.xml and snfmulti.dll, which is
different for any, x32, and x64.
5) Build and run VS2008VBSample, any, x32, and x64. Copy
snf_engine.xml to VS2008VBSample. Modify main.vb to specify
the location of snf_engine.xml and snfmulti.dll, which is
different for any, x32, and x64.
To create a zipfile distribution:
1) Install jZip.
2) Edit BuildDistribution.cmd to specify the DISTDIR variable, and
optionally the TEMPDIR variable.
3) Run BuildDistribution. This creates a zip file in the current
directory with the name %DISTDIR%.zip.
Note: When you run BuildDistribution, you will get a message saying
that %DISTDIR%.zip could not be found. This message can be ignored.
Note: For more information on the procedure for creating a zipfile
distribution, see the BuildDistribution.cmd file and the
BuildDistribution\README file.