How about the following Makefile:
TSXS?=tsxs
all: JsonPTransformationHandler.so
JsonPTransformationHandler: JsonPTransformationHandler.cc <any include files>
g++ JsonPTransformationHandler.cc -o
JsonPTransformationHandler.so -I/home/sowens/ApiMgmtPlugin -L<a library path>
-l<a lib file>
install: all
$(TSXS) -i -o JsonPTransformationHandler.so
clean:
rm -f *.lo *.so *.o
Where a library path/file(s) are up to you if you need to use any. Does that
work for you?
-Geert
From: Owens, Steve [mailto:[email protected]]
Sent: vrijdag 18 januari 2013 21:37
To: [email protected]
Subject: Re: Questions about tsxs
Given that tsxs is broken does anyone know what would be the sequence of
commands that it would execute to build the plugin if it were working correctly
given the following command line?
tsxs -o libJsonPTransformationHandler.so -C JsonPTransformationHandler.cc -I
/home/sowens/ApiMgmtPlugin
From: "Owens, Steve" <[email protected]<mailto:[email protected]>>
Reply-To:
"[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
Date: Fri, 18 Jan 2013 12:19:14 -0800
To: "[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
Subject: Re: Questions about tsxs
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" <[email protected]<mailto:[email protected]>>
Reply-To:
"[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
Date: Fri, 18 Jan 2013 12:09:56 -0800
To: "[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
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?