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