summaryrefslogtreecommitdiff
path: root/libvxi11client
diff options
context:
space:
mode:
authordaniel <danieruru@gmail.com>2013-01-24 01:10:13 +0900
committerdaniel <danieruru@gmail.com>2013-01-24 01:10:13 +0900
commit1c43e5693afc5eab6611bdc1a81754b539d7142c (patch)
treefda8a08e6c34d44ae71cf763e7fe65f0c8e75736 /libvxi11client
parenta8751e28e68d0f8662f240153655f3e43cd955fd (diff)
Add a little readme
Diffstat (limited to 'libvxi11client')
-rw-r--r--libvxi11client/README51
1 files changed, 51 insertions, 0 deletions
diff --git a/libvxi11client/README b/libvxi11client/README
new file mode 100644
index 0000000..9195cb6
--- /dev/null
+++ b/libvxi11client/README
@@ -0,0 +1,51 @@
+== Intro ==
+
+The heavy lifting is done in libvxiclient.c.
+This can be linked against some other C code to make a
+little VXI11 client. client.c is a little scrappy test
+client..
+
+== Requirements ==
+
+- portmapper or rpcbind is needed for the interrupt server.
+If you don't use interrupts you don't need it.
+
+- glib/gthread, these are used to create threads for things
+like the interrupt service and to handle some inter-thread
+things like waiting for the interrupt service thread to
+start and get a port number.
+
+- a libc that supports rpc.. all unix oses should be fine.
+
+== Debugging output ==
+
+There are lots of printf("blah.. in the source code to help
+with finding weird bugs (mainly issues interacting with perl)
+these can all be disabled by removing #define DEBUG from the
+top of libvxi11client.c
+
+== Perl module ==
+
+The perl module is a thin wrapper around the C could using
+perl's XS functionality (http://perldoc.perl.org/perlxs.html).
+The guts of this are are perlbits/Client.xs.
+There are then some perl wrapper functions to help with
+pulling arguments out of a hash and passing it to the XS code.
+This are in perlbits/Client.pm.
+
+The perl module has one more requirement; ExtUtils::PkgConfig.
+This is only used at build time and is used to find where
+the glib/gthread headers are and get the right CFLAGS.
+
+$make perl; will generate the source for a perl module;
+-- it generates a skeleton module with h2xs
+-- it copies in the parts of the module that I have customised
+-- it copies in the bits of source code needed
+-- it then runs the Makefile.PL to generate the real make file
+-- it then calls make and make test to compile the module and run
+ the test script
+
+The perl module is free standing and doesn't depend on the main
+source. If you want to distribute the perl module as a perl module
+you would distribute the VXI11-Client directory that is generated by
+make perl.