The attached patch allows compilers without unistd.h to generate executables on windows 32 and 64-bit. This may not be the desired version since it will be active on at least the MINGW host. On the other hand, MINGW will support the code so it may not be a big deal.
Note: The relevant hunks of the patch are 2, 3, and 4. Chris
Index: libltdl/config/ltmain.m4sh =================================================================== RCS file: /sources/libtool/libtool/libltdl/config/ltmain.m4sh,v retrieving revision 1.71 diff -u -r1.71 ltmain.m4sh --- libltdl/config/ltmain.m4sh 25 Mar 2007 12:12:42 -0000 1.71 +++ libltdl/config/ltmain.m4sh 3 Apr 2007 18:29:55 -0000 @@ -5485,7 +5485,7 @@ # Create links to the real library. for linkname in $linknames; do - if test "$realname" != "$linkname"; then + if test "$realname" != "$linkname" && ! -e "$output_objdir/$linkname";then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done @@ -5961,7 +5961,12 @@ cat >> $cwrappersource<<"EOF" #include <stdio.h> #include <stdlib.h> -#include <unistd.h> +#if defined(_WIN32) || defined(_WIN64) +# include <direct.h> +# define getcwd(a,b) _getcwd(a,b) +#else +# include <unistd.h> +#endif #include <malloc.h> #include <stdarg.h> #include <assert.h> @@ -5982,8 +5987,8 @@ # define PATH_SEPARATOR ':' #endif -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) +#if defined (_WIN32) || defined (_WIN64) || defined (__MSDOS__) || \ + defined (__DJGPP__) || defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' @@ -6134,7 +6139,11 @@ #if defined (S_IXGRP) ((st.st_mode & S_IXGRP) == S_IXGRP) || #endif +#if defined (S_IXUSR) ((st.st_mode & S_IXUSR) == S_IXUSR)) +#else + 1) +#endif ) return 1; else @@ -6591,6 +6600,11 @@ do last_oldobj=$obj done + if test "x$with_msvc_ld" = "xyes";then + oldobjs=" $last_oldobj" + func_show_eval "$old_archive_cmds" + objlist=" $oldlib" + fi for obj in $save_oldobjs do oldobjs="$objlist $obj" @@ -6607,7 +6621,11 @@ fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= + if test "x$with_msvc_ld" = "xyes";then + objlist=" $oldlib" + else + objlist= + fi fi done RANLIB=$save_RANLIB
_______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool