(file) Return to README CVS log (file) (dir) Up to [Pegasus] / pegasus_unsupported / slp_client

 1 karl  1.1 Copyright 1999 - 2003 Michael Day
 2           
 3           mdday@us.ibm.com
 4           md@soft-hackle.net
 5           
 6           CMD-UTILS
 7           ===========
 8           The cmd-utils directory contains a general purpose client library,
 9           plus two command-line programs designed to be used with Bash or
10           Perl. The library contains all the features of an SLP client, and the
11           two programs use the library to implement an SLP Service Agent and an
12           SLP User Agent
13           
14           
15           State of the Source Tree
16           =======================
17           As of Mon May 12 2003 the Windows build is broken. The Linux build is
18           working on at least two linux platforms. 
19           
20           The source tree has undergone significant reorgination lately. I have
21           converted from really ugly kludged makefiles to using the GNU autoconf
22 karl  1.1 and libtool programs to organize and control the building
23           process. (Some of you may think that autoconf is really ugly and
24           kludged but considering all of the problems it solves I would have to
25           disagree.) 
26           
27           Here is how the source tree is now organized:
28           
29           Initial directory = ldap_slp
30           +---conf                     <-- contains the DA configuration file 
31           +---doc                      <-- contains some internet-drafts
32           +---scripts		     <-- shell scripts that demonstrate functions
33           +---src                      <-- source code
34           |   +---cmd-utils            <-- command-line utilities
35           |   |   +---slp_client       <-- slp client library
36           |   |   +---slp_query        <-- command-line slp user agent 
37           |   |   +---slp_srvreg       <-- command-line and daemon slp service agent
38           
39           
40           Windows Build
41           =============
42           The Windows build is broken because I haven't debugged the autoconf
43 karl  1.1 macros for windows. If you are curious, look at the file
44           ldap_slp/configure.ac. 
45           
46           When windows builds once again it will require Bash, gmake, and GNU
47           Autoconf and Libtool. The best thing to do if you want to build on
48           windows and don't know what I'm talking about is to get Cygwin. You
49           can get Cygwin at http://www.cygwin.com
50           
51           
52           Porting
53           =========
54           Porting this code to any POSIX operating system is straightforward. 
55           Each operating system needs to have its own compatibility source
56           modules. For linux, those are lslp-linux.h and lslp-linux.c
57           
58           To add support for a new platform, you must start with the autoconf
59           script, configure.ac. In that script there are placeholders for each
60           platform. Here is a sample that implements part of the linux support: 
61           
62             *-*-linux*)
63           	AC_DEFINE([HOST_OS], ["Linux"], [Target Operation System])
64 karl  1.1 	AC_DEFINE([OS_PORT_INCLUDE], ["lslp-linux.h"], [Portability Header])
65           	OS_PORT_INC=lslp-linux.h
66           	OS_PORT_SRC=lslp-linux.c
67           	OS_PORT_OBJ=lslp-linux.lo
68           
69           Each of these symbols has a counterpart within the build system. For a
70           new platform you need to flesh out the placeholder for that platform
71           in configure.ac. Then you need to implement the portability header and
72           possibly a portability source file.
73           
74           

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2