LDAP Macintosh README

The lber and ldap client libraries have been ported to Macintosh.
Build testing was originally done with Think C 5.0.4 and MPW 3.2, both
running under System 7.1.  Recently, it has been built using Metrowerks
CodeWarrior 8.0 and Symantec C++ 7.0.3.  The libaries have been tested
under System 7.0, 7.1, and 7.5, and are believed to run under any
System later than 6.0.  None of the LDAP clients included in the
distribution have been tested on the Mac.

MAKING THE DISTRIBUTION
The instructions included here are for Symantec C 7.0.4, but the steps
are very similar for the other environments.

To build the ldap and lber libraries (easiest to do as one project):

	1) create a new project that contains the following files:
		libraries/liblber/decode.c
		libraries/liblber/encode.c
		libraries/liblber/io.c
		libraries/macintosh/tcp/dnr.c
		libraries/macintosh/tcp/tcp.c
		libraries/macintosh/macos-ip.c
		libraries/macintosh/strings.c
	  plus all the .c files in libraries/libldap/, except test.c,
          tmpltest.c, and os-ip.c.

	2) put all of the .h files in include/, libraries/macintosh/, 
	   libraries/libldap and libraries/macintosh/tcp somewhere
	   in the same folder where the project is located.

	3) Add the MacTraps, MacTraps2, Unix, and ANSI-small libraries
	   (included with Symantec/ThinkC) to the project.

	3) Bring up the Edit menu "Options..." dialog and set the following:
	     Language Settings:
		Strict Prototype Enforcement/Require Prototypes
	     Prefix:
		#define MACOS
		#define NEEDPROTOS
		#define NEEDGETOPT
		#define NO_USERINTERFACE
		#define FILTERFILE	"ldapfilter.conf"
		#define TEMPLATEFILE	"ldaptemplates.conf"

	     If you want to build a version of the library that does
	     not have any global variables (such as for inclusion in a
	     driver or other code module), add a "#define NO_GLOBALS"
	     to the Prefix.  The only catch is that the tcp/dnr.c
	     file needs changes to remove the global variables.

	     If you want support for referrals (optionally enabled
             for each LDAP connection), add '#define LDAP_REFERRALS'
	     to the prefix list.  This is recommended.

	4) Compile the project (Bring Up To Date under the Project menu)

	5) If you would like to use the libldap/test.c program to test the
	   library in an ugly console window, you will need to add the
	   test.c file itself and the full ANSI library (instead of
	   ANSI-small) to the project, and don't define NO_USERINTERFACE.

BUG REPORTING

    Bug reports should be sent to bug-ldap@terminator.cc.umich.edu.

README Last updated 11 April 1996 by Mark Smith
