Issue 61 - Patch OpenLDAP 1.1.3-release to Cygwin b20
Summary: Patch OpenLDAP 1.1.3-release to Cygwin b20
Status: VERIFIED FIXED
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: build (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 1999-01-31 20:49 UTC by hughw@scoutsys.com
Modified: 2014-08-01 21:05 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description hughw@scoutsys.com 1999-01-31 20:49:36 UTC
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

Comment 1 Kurt Zeilenga 1999-02-02 02:54:24 UTC
moved from Incoming to Software Enhancements
Comment 2 Kurt Zeilenga 1999-02-04 18:41:57 UTC
changed notes
Comment 3 Kurt Zeilenga 1999-02-04 20:53:03 UTC
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
Comment 4 hughw@scoutsys.com 1999-02-04 21:32:06 UTC
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
>

Comment 5 Kurt Zeilenga 1999-02-09 05:15:44 UTC
changed state Open to Suspended
Comment 6 Kurt Zeilenga 1999-02-13 00:42:17 UTC
I won't have time to complete the update for a while...
Comment 7 hughw@scoutsys.com 1999-02-13 01:05:59 UTC
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...
> 
Comment 8 Kurt Zeilenga 1999-06-03 02:56:21 UTC
moved from Software Enhancements to Build
Comment 9 Kurt Zeilenga 1999-06-13 19:41:21 UTC
changed notes
changed state Suspended to Test
Comment 10 Kurt Zeilenga 1999-06-13 19:42:53 UTC
FYI, OpenLDAP-devel now compiles successfully under cygwin B20.1.
I have not toyed with servers and their tools.

Kurt
Comment 11 Kurt Zeilenga 1999-08-03 05:14:16 UTC
changed notes
Comment 12 Kurt Zeilenga 1999-08-03 05:14:38 UTC
changed notes
Comment 13 Kurt Zeilenga 1999-08-07 03:16:10 UTC
changed notes
changed state Test to Release
Comment 14 Kurt Zeilenga 1999-09-10 03:10:09 UTC
changed notes
changed state Release to Closed
Comment 15 OpenLDAP project 2014-08-01 21:05:07 UTC
-devel builds under B20.1
Available in 2.0-alpha.