Code, Examples, and Tests ========================= Building the default target compiles all of the source code, and links the example and unit test executables. Please ensure that Boost (http://boost.org) is installed before compiling Torc. cd src make The following examples are also available in the sandbox mentioned below, where they can safely be modified. The examples demonstrate the basic operation of the main Torc APIs, and can be invoked as follows: ./ArchitectureExample ./BitstreamExample torc/bitstream/VirtexUnitTest.reference.bit ./GenericExample ./PhysicalExample torc/physical/DesignUnitTest.reference.xdl ./EdifObfuscator torc/examples/GenericExample.reference.edf The unit and regression tests are available through the test executable. Individual test suites or tests can be invoked by passing -t and one or more suites or test cases separated by commas. ./TorcTest The test app can also be built with Xcode, by opening project xcode/torc.xcodeproj. The test app can likewise be built with Eclipse, by importing the projects in src and sandbox. With recent versions of Eclipse and CDT, the projects can be imported with utility scripts in the eclipse directory. Sandbox ======= The sandbox is available for quick experimentation with Torc. The sandbox examples are identical to the examples in src/torc/Examples, but may be modified the user. Note that building inside the sandbox also compiles all of the source code in src. cd sandbox make Doxygen Documentation ===================== The Doxygen documentation can be built as follows: cd src doxygen Doxyfile Doxygen is available from http://www.stack.nl/~dimitri/doxygen/. Writing Your Own Code ===================== You can use Torc with your own code, writing an application built on Torc, or linking Torc into a larger program. 0. It is generally advisable to create a separate directory outside the Torc tree, if not already available: mkdir /path-to/mydirectory 1. Copy torc/trunk/Makefile.user as Makefile into your separate directory: cp /path-to/torc/trunk/Makefile.user /path-to/mydirectory/Makefile cd /path-to/mydirectory 2. If you expect to open any Torc device database files or reference files, you should create a symbolic link to the torc/trunk/src/torc directory: ln -s /path-to/torc/trunk/src/torc 3. Define SRC_DIR as an environment variable (for example, /path-to/torc/trunk/src), or open the Makefile and set the SRC_DIR variable at the beginning of that file. bash: export SRC_DIR=/path-to/torc/trunk/src tcsh: setenv SRC_DIR /path-to/torc/trunk/src make: SRC_DIR = /path-to/torc/trunk/src 4. Edit the USER_EXAMPLE_EXEC and USER_EXAMPLE_OBJS variables in the Makefile to specify the name of your application and of your object file(s). make: USER_EXAMPLE_EXEC = myexample make: USER_EXAMPLE_OBJS = myexample.o 5. Create your source file, if it doesn't already exist, or borrow code from any of the torc or sandbox examples: cp /path-to/torc/trunk/sandbox/ArchitectureExample.cpp /path-to/mydirectory/myexample.cpp 6. Build your application by invoking make. If you see an error message telling you to declare BOOST_INCLUDE_DIR and BOOST_LIB_DIR, you will need to define those variables in your local environment or in the newly created /path-to/torc/trunk/src/Makefile.local: make