Full_Name: Hugh Winkler Version: 1.1.3-release OS: Windows NT 4.0 SP3 URL: ftp://ftp.scoutsys.com/misc/ldap/1.1.3-release-to-cygwin.txt Submission from: (NULL) (205.238.159.165) Subject: Patch OpenLDAP 1.1.3-release to cygwin The actual patch is at the URL below. Here's the beginning of that document: Hi folks, The following patches permit OpenLDAP 1.1.3 Release to configure, make, and run at least minimally, under Cygwin B20.1 on Win NT 4.0. n.b. the tests fail, but slapd seems to run and mostly respond successfully to queries. I have not built ldapd nor slurpd; only slapd. The changes were: 1) Lots of Makefile.in files relied on the file name Version.c being different from version.c For FAT and NTFS, false. I made some global changes using sed, renaming version.c to versionout.c or versionlib.c; my sed script made some superfluous name changes that are harmless. 2) Added $(EXE) suffix variable to executable names in Makefile.in's if Cygwin is present. Actually if it weren't for :clean and :install targets, cygwin's make would work fine without the extensions, but those targets are there, so I fixed 'em. 3) Added an option -MM to mkdep, if present, mkdep uses -MM not -M to create deps. Cygwin egcs compiler 2.91.57 cannot be persuaded to emit forward slashes otherwise. I added an option to configure.in, --enable-lightmake, it might be generally useful, but it's off by default unless using cygwin. It would be possible to translate \ to / in mkdep, but that would require changes to configure.in, to make sure user wanted that. And egcs' behavior is a bug. It ought to emit make compatible names. So I punted and made this new option to mkdep, which doesn't seem too bad, since you may want to reduce all those make deps, anyway? 4) Cygwin doesn't have flock() or lockf(), so I used fcntl in lock.c if those funcs aren't present. 5) Cygwin has no sysexits.h. If configure doesn't locate it, include/Makefile.in now modified to softlink to sysexits-compat.h. After applying this patch, you should run autoconf. I used gnu autoconf v 2.13. Hugh Winkler Scout Systems, Inc. ------------------------------------------- List of changed files:build/lib-shared.mk -- use safe, case insensitive version file name build/lib-static.mk -- use safe, case insensitive version file name build/lib.mk -- use safe, case insensitive version file name build/mkdep -- add option -MM, passed to CC build/top.mk -- EXE = @EXE_SUFFIX@ and add @MM@ to mkdep clients/fax500/Makefile.in -- use safe, case insensitive version file name -- use $(EXE) extension after executables clients/finger/Makefile.in -- use safe, case insensitive version file name -- use $(EXE) extension after executables clients/gopher/Makefile.in -- use safe, case insensitive version file name -- use $(EXE) extension after executables clients/mail500/Makefile.in -- use safe, case insensitive version file name -- use $(EXE) extension after executables clients/rcpt500/Makefile.in -- use safe, case insensitive version file name -- use $(EXE) extension after executables clients/tools/Makefile.in -- use safe, case insensitive version file name -- use $(EXE) extension after executables clients/ud/Makefile.in -- use safe, case insensitive version file name -- use $(EXE) extension after executablesconfigure.in -- if cygwin detected set $(EXE)=.exe else $(EXE)= -- new option: --enable-lightmake, uses -MM not -M in mkdep -- if cygwin detected and --enable-lightmake=auto, enable it -- detect headers resolv.h and arpa/nameser.h for include/ac/socket.h include/Makefile.in -- makes softlink sysexits-compat.h to sysexits.h if necessary include/ac/socket.h -- conditional compiles for resolv.h and arpa/nameser.h include/portable.h.in -- GENERATED BY HEADERCONF, PLEASE REGENERATE libraries/libavl/Makefile.in -- use safe, case insensitive version file name libraries/liblber/Makefile.in -- use safe, case insensitive version file name libraries/liblthread/Makefile.in -- use safe, case insensitive version file name servers/ldapd/Makefile.in -- use safe, case insensitive version file name -- use $(EXE) extension after executables servers/slapd/Makefile.in -- use safe, case insensitive version file name -- use $(EXE) extension after executables servers/slapd/back-ldbm/Makefile.in -- use safe, case insensitive version file name servers/slapd/back-passwd/Makefile.in -- use safe, case insensitive version file name servers/slapd/back-shell/Makefile.in -- use safe, case insensitive version file name servers/slapd/lock.c -- use fcntl instead of flock/lockf, if they are not available servers/slapd/shell-backends/Makefile.in -- use safe, case insensitive version file name servers/slapd/tools/Makefile.in -- use safe, case insensitive version file name -- use $(EXE) extension after executables servers/slurpd/Makefile.in -- use safe, case insensitive version file name -- use $(EXE) extension after executables
moved from Incoming to Software Enhancements
changed notes
Hugh, [moving discussion to -devel...] RE: http://www.openldap.org/its/Software%20Enhancements?id=61 I've reviewed your changes and think we can integrate them without too many headaches. I've made some change in our devel (HEAD) branch to help facilate GNU win32 environments. Including: Added config tests: AC_CYGWIN AC_MINGW32 AC_EXEEXT AC_OBJEXT AC_CHECK_HEADERS(sysexits.h resolv.h arpa/nameserv.h) Added <ac/sysexits.h> to include <sysexits.h> or "sysexits-compat.h" depending on HAVE_SYSEXITS_H. This eliminates the need to play symlink games. Updated codes to include new header. Updated <ac/socket.h> based upon new header checks. The mkdep change to -MM use is not very desirable as we use <ac/foo.h> and <foo.h> when including our non-local headers. I rather have mkdep sed(1) the file paths as needed. The make files change are okay... however AC_EXEEXT/OBJEXT define @EXEEXT@/@OBJEXT@. Following autoconf's example, I've defined $(EXEEXT) and $(OBJEXT). I assume that $(EXE) and $(OBJ) are more likely to conflict with other make variables. I'm also working on a mkversion script to generate version.c files. This would eliminate the version.c templates. I'll try to commit this weekend. Kurt
Thanks Kurt. You can probably tell I was fudging my way through unfamiliar territory in the config stuff, and I'm glad you've taken the trouble to clean up and make it look like the rest of the code. I agree with your mkdep decision; the -M file name thing is problem the compiler boys have been aware of but still not fixed. The problem with the sed solution is (1) Somebody might actually have file names with escaped characters or backslashes, and (2) well, I couldn't get my sed script to work properly. So for the time being Cygwin users might need to create their own mkdep, a note in the INSTALL might alert them to this, whenever we know what the right answer is. Good decision on EXEEXT and OBJEXT. Thanks for making this extra effort to fix up my changes! Please keep me posted as you progress, I'll rebuild it here, and ultimately post to the cygwin list when ready. Hugh Winkler Scout Systems, Inc. > -----Original Message----- > From: Kurt Zeilenga [mailto:openldap-its@OpenLDAP.org] > Sent: Thursday, February 04, 1999 2:53 PM > To: hughw@scoutsys.com > Cc: openldap-devel@OpenLDAP.org > Subject: Re: Patch OpenLDAP 1.1.3-release to Cygwin b20 (ITS#61) > > > Hugh, > > [moving discussion to -devel...] > RE: http://www.openldap.org/its/Software%20Enhancements?id=61 > > I've reviewed your changes and think we can integrate them > without too many headaches. > > I've made some change in our devel (HEAD) branch to help > facilate GNU win32 environments. Including: > > Added config tests: > AC_CYGWIN > AC_MINGW32 > AC_EXEEXT > AC_OBJEXT > AC_CHECK_HEADERS(sysexits.h resolv.h arpa/nameserv.h) > > Added <ac/sysexits.h> to include <sysexits.h> or "sysexits-compat.h" > depending on HAVE_SYSEXITS_H. This eliminates the need to play > symlink games. Updated codes to include new header. > > Updated <ac/socket.h> based upon new header checks. > > The mkdep change to -MM use is not very desirable as we use <ac/foo.h> > and <foo.h> when including our non-local headers. I rather have mkdep > sed(1) the file paths as needed. > > The make files change are okay... however AC_EXEEXT/OBJEXT define > @EXEEXT@/@OBJEXT@. Following autoconf's example, I've defined > $(EXEEXT) and $(OBJEXT). I assume that $(EXE) and $(OBJ) are more > likely to conflict with other make variables. > > I'm also working on a mkversion script to generate version.c > files. This would eliminate the version.c templates. I'll try > to commit this weekend. > > Kurt >
changed state Open to Suspended
I won't have time to complete the update for a while...
Darn. Hugh Winkler Scout Systems, Inc. > -----Original Message----- > From: Kurt Zeilenga [mailto:openldap-its@OpenLDAP.org] > Sent: Friday, February 12, 1999 6:42 PM > To: hughw@scoutsys.com > Subject: Re: Patch OpenLDAP 1.1.3-release to Cygwin b20 (ITS#61) > > > I won't have time to complete the update for a while... >
moved from Software Enhancements to Build
changed notes changed state Suspended to Test
FYI, OpenLDAP-devel now compiles successfully under cygwin B20.1. I have not toyed with servers and their tools. Kurt
changed notes changed state Test to Release
changed notes changed state Release to Closed
-devel builds under B20.1 Available in 2.0-alpha.