diff options
Diffstat (limited to 'libvxi11client')
-rw-r--r-- | libvxi11client/README | 51 |
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. |