This document assumes that the user is familiar with the SRC programming environment, particularly how to write MAP-C programs and modifying the user Makefile parameters to suit the needs of the project at hand.
To use the GWU/GMU/USC macros you've just installed, there are few modifications to the make files that are necessary to the Makefile template provided by SRC. The keywords USER_MACROLIBS, MY_LDFLAGS, and MY_CFLAGS will have to be added to specify the location of the Macro and the necessary Library and Include directories for compiling the debug code.
USER_MACROLIBS = /path/to/macro_lib1 /path/to/macro_lib2 MY_LDFLAGS = -z muldefs -L/path/to/library -lLibrary1 -lLibrary2 MY_CFLAGS = -g -I/path/to/headers
There is a need to override the directory in which the makefiles are pulled in from due to the need for the latest SRC build scripts inorder to support external source file debug support such as those required by GF2m_PB, Sort_Lib, and SecCiph. For this reason the following line should be added:
MAKIN = /opt/srcci/comp22/lib/AppRules.make
If you intend to utilize C++ code in your macro build, you will also need to set the correct linker flag to ensure proper compilation.
LD = -icpc
Here is an example where the GF2m_PB library is used. The necessary 3rd party tools such as LiDIA, and GMP are needed by this macro to generate the debug code. In order to ensure that the libraries are picked up correctly, the path to the header files and library files need to be provided
LD = -icpc USER_MACROLIBS = /opt/GWU_GMU2.1/GF2m_PB MY_LDFLAGS = -z muldefs -L/usr/local/lib -lLiDIA -lgmp MY_CFLAGS = -g -I/usr/local/include MAKIN = /opt/srcci/comp22/lib/AppRules.make
Here is an example of the SecCiph library, where openssl is required:
USER_MACROLIBS = /opt/GWU_GMU2.1/SecCiph MY_LDFLAGS = -z muldefs -L/usr/local/ssl/lib -lcrypto MY_CFLAGS = -g -I/usr/local/ssl/include MAKIN = /opt/srcci/comp22/lib/AppRules.make
Here is an example of the Long_Int library, where openssl is required:
USER_MACROLIBS = /opt/GWU_GMU2.1/Long_Int MY_LDFLAGS = -z muldefs -L/usr/local/ssl/lib -lcrypto MY_CFLAGS = -g -I/usr/local/ssl/include MAKIN = /opt/srcci/comp22/lib/AppRules.make
|
|
|
Required Third Party Tools |
|
|
|
The following third party tools are necessary to ensure that the debug code of the macros can be successfully compiled:
OpenSSL 0.9.7a or higher GMP 4.1.4 or higher LiDIA 2.1.3 or higher |
|
Using root privileges (as su or with sudo priviledges) run the install script located at the root of this CD. The command will take a few minutes to initiate and install the macros. Once done a folder will be created in the /opt directory. Ex. /opt/GWU_GMU2.1
Each library will have a map4 and map3 folder containing hardware specific macros. If the macros are hardware independent, macros will exist under both folders. The target directory will have a folder structure, similar to this:
BMM_lib BMM_lib/map4 BMM_lib/map4/ngo/common BMM_lib/map4/ngo BMM_lib/map4/doc/pdf BMM_lib/map4/doc BMM_lib/map3 BMM_lib/map3/ngo/common BMM_lib/map3/ngo BMM_lib/map3/doc/pdf BMM_lib/map3/doc
NOTE 1: In order to utilize the current release of the libary, you will need the latest Application Make file scripts from SRC. This may require the setting of the MAKIN flag to read the correct AppRules.make file. The current version of the Makefiles is appstools-2.2-0.i386.rpm
NOTE 2: The install script currently installs only HDL macros. Macros written in MAP C with the .mc extension are not installed into the target directory. The MAP C macros are located in the source folder in the root of this CD.
|
|
|