Digging into this further I can see that when I invoke:
tsxs -o libJsonPTransformationHandler.so -C JsonPTransformationHandler.cc -I /home/sowens/ApiMgmtPlugin

Tsxs writes the following on the last line of output:
Compile failed: g++ -I/usr/local/include -g -pipe -Wall -Werror -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing -Wno-invalid-offsetof -fpic -c JsonPTransformationHandler.cc -o JsonPTransformationHandler.lo

Yet when I do 
tsxs -h

It outputs:
/usr/local/bin/tsxs : a tool to compile, link and install trafficserver plugins.

 compiling/linking:
-c [ file1.c [ file2.c [ ... ] ] ]      ## compiles C files
-C [ file1.cc [ file2.C [ ... ] ] ]     ## compiles C++ files
-o modulename.so                        ## the name of the module
-I include                              ## add -Iinclude to the compile
-l lib                                  ## add -llib to the link

 installing:
-o modulename.so                        ## the name of the module
-i                                      ## install the object


So I am pretty sure there is a bug here since the I /home/sowens/ApiMgmtPlugin didn't make it to the g++ command.


From: "Owens, Steve" <Steve.Owens@disney.com>
Reply-To: "users@trafficserver.apache.org" <users@trafficserver.apache.org>
Date: Fri, 18 Jan 2013 12:09:56 -0800
To: "users@trafficserver.apache.org" <users@trafficserver.apache.org>
Subject: Questions about tsxs

I am experiencing some confusing behaviors trying to use tsxs and the documentation on this tool does not seem to be very complete.

Here is what I am trying to do in a nutshell.

I have plugin file that I want to build and I want to be able to include files from a different directory into the header file such that:

When I put in my JsonPTransformationHandler.h file

#include <events/BaseEventHandler.h>

#include <TransactionData.h>


And I put this in my JsonPTransformationHandler.cc file:

#include "JsonPTransformationHandler.h"

#include <ApiMgmtUtil.h>


I have tried executing the build tool with the following command lines to no avail:


tsxs -o libJsonPTransformationHandler.so -C JsonPTransformationHandler.cc -I/home/sowens/ApiMgmtPlugin
tsxs -o libJsonPTransformationHandler.so -C JsonPTransformationHandler.cc -I/home/sowens/ApiMgmtPlugin/
tsxs -o libJsonPTransformationHandler.so -C JsonPTransformationHandler.cc -I /home/sowens/ApiMgmtPlugin
tsxs -o libJsonPTransformationHandler.so -C JsonPTransformationHandler.cc -I /home/sowens/ApiMgmtPlugin/

Yet in each and every case when the tool runs it renders the following error messages:
JsonPTransformationHandler.h:13:37: error: events/BaseEventHandler.h: No such file or directory
JsonPTransformationHandler.h:14:29: error: TransactionData.h: No such file or directory
JsonPTransformationHandler.cc:9:25: error: ApiMgmtUtil.h: No such file or directory

Yet the following ls commands hold:
[sowens@d4mftapp11 JsonPTransformationHandlerPlugin]$ ls -l /home/sowens/ApiMgmtPlugin/TransactionData.h
-rw-rw-r-- 1 sowens sowens 7736 Jan 18 11:22 /home/sowens/ApiMgmtPlugin/TransactionData.h
[sowens@d4mftapp11 JsonPTransformationHandlerPlugin]$ ls -l /home/sowens/ApiMgmtPlugin/ApiMgmtUtil.h 
-rw-rw-r-- 1 sowens sowens 20232 Jan 18 11:22 /home/sowens/ApiMgmtPlugin/ApiMgmtUtil.h
[sowens@d4mftapp11 JsonPTransformationHandlerPlugin]$ ls -l /home/sowens/ApiMgmtPlugin/events/BaseEventHandler.h 
-rw-rw-r-- 1 sowens sowens 1970 Jan 18 11:22 /home/sowens/ApiMgmtPlugin/events/BaseEventHandler.h


So the files are there but tsxs cannot fine them.  Furthermore other than the limited help provided by the h option on tsxs there is no examples in the ATS web documentation that talks about includes.  Does tsxs support include directories?