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