Adapt MS-Windows build to import of filemode.c from gnulib.
authorEli Zaretskii <eliz@gnu.org>
Mon, 21 Feb 2011 20:00:19 +0000 (22:00 +0200)
committerEli Zaretskii <eliz@gnu.org>
Mon, 21 Feb 2011 20:00:19 +0000 (22:00 +0200)
 nt/inc/sys/stat.h (S_ISUID, S_ISGID, S_ISVTX, S_IRGRP, S_IROTH)
 (S_IWGRP, S_IWOTH, S_IXGRP, S_IXOTH, S_ISSOCK, S_ISLNK, S_ISCTG)
 (S_ISDOOR, S_ISMPB, S_ISMPC, S_ISNWK, S_ISPORT, S_ISWHT)
 (S_TYPEISMQ, S_TYPEISSEM, S_TYPEISSHM, S_TYPEISTMO): Define.
 (lstat): Define to stat.
 lib/makefile.w32-in ($(BLD)/filemode.$(O)): Move from
 src/makefile.w32-in and adapt.  Depend on stamp_BLD.
 (GNULIBOBJS): Add $(BLD)/filemode.$(O).
 src/makefile.w32-in ($(BLD)/filemode.$(O)): Move recipe to
 lib/makefilw.w32-in.
 ($(BLD)/dired.$(O)): Depend on $(EMACS_ROOT)/lib/filemode.h.
 (GLOBAL_SOURCES): Remove filemode.c.
 (OBJ1): Remove $(BLD)/filemode.$(O).
 lib-src/makefile.w32-in ($(BLD)/ctags.$(O), $(BLD)/emacsclient.$(O))
 ($(BLD)/etags.$(O), $(BLD)/movemail.$(O), $(BLD)/ntlib.$(O)):
 Depend on $(EMACS_ROOT)/nt/inc/sys/stat.h.

ChangeLog
lib-src/ChangeLog
lib-src/makefile.w32-in
lib/makefile.w32-in
nt/ChangeLog
nt/inc/sys/stat.h
src/ChangeLog
src/makefile.w32-in

index db173dd..2b18f81 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-02-21  Eli Zaretskii  <eliz@gnu.org>
+
+       * lib/makefile.w32-in ($(BLD)/filemode.$(O)): Move from
+       src/makefile.w32-in and adapt.  Depend on stamp_BLD.
+       (GNULIBOBJS): Add $(BLD)/filemode.$(O).
+
 2011-02-20  Paul Eggert  <eggert@cs.ucla.edu>
 
        Import filemode module from gnulib.
index ad8ffa8..01352ad 100644 (file)
@@ -1,3 +1,9 @@
+2011-02-21  Eli Zaretskii  <eliz@gnu.org>
+
+       * makefile.w32-in ($(BLD)/ctags.$(O), $(BLD)/emacsclient.$(O))
+       ($(BLD)/etags.$(O), $(BLD)/movemail.$(O), $(BLD)/ntlib.$(O)):
+       Depend on $(EMACS_ROOT)/nt/inc/sys/stat.h.
+
 2011-02-21  Ben Key  <bkey76@gmail.com>  (tiny change)
 
        * make-docfile.c (scan_c_file): Adapt DEFVAR_PER_BUFFER case to
index 77931c1..bc7b1b2 100644 (file)
@@ -374,6 +374,7 @@ $(BLD)/alloca.$(O) : \
 $(BLD)/ctags.$(O) : \
        $(SRC)/ctags.c \
        $(EMACS_ROOT)/nt/inc/sys/param.h \
+       $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
        $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/lib-src/../src/config.h \
@@ -382,6 +383,7 @@ $(BLD)/ctags.$(O) : \
 
 $(BLD)/emacsclient.$(O) : \
        $(SRC)/emacsclient.c \
+       $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
        $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/lib-src/../src/config.h
@@ -389,6 +391,7 @@ $(BLD)/emacsclient.$(O) : \
 $(BLD)/etags.$(O) : \
        $(SRC)/etags.c \
        $(EMACS_ROOT)/nt/inc/sys/param.h \
+       $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
        $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/lib-src/../src/config.h \
@@ -429,6 +432,7 @@ $(BLD)/movemail.$(O) : \
        $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/lib-src/../src/config.h \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
+       $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/lib-src/../src/syswait.h \
        $(EMACS_ROOT)/nt/inc/pwd.h \
        $(SRC)/ntlib.h
@@ -437,6 +441,7 @@ $(BLD)/movemail.$(O) : \
 $(BLD)/ntlib.$(O) : \
        $(SRC)/ntlib.c \
        $(SRC)/ntlib.h \
+       $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/nt/inc/pwd.h
 
 $(BLD)/pop.$(O) : \
index 02953c9..f1071c9 100644 (file)
@@ -28,7 +28,8 @@ GNULIBOBJS = $(BLD)/dtoastr.$(O) \
             $(BLD)/getopt1.$(O) \
             $(BLD)/strftime.$(O) \
             $(BLD)/time_r.$(O) \
-            $(BLD)/md5.$(O)
+            $(BLD)/md5.$(O) \
+            $(BLD)/filemode.$(O)
 
 #
 # Build the library
@@ -95,17 +96,26 @@ $(BLD)/time_r.$(O) : \
        $(EMACS_ROOT)/src/config.h
 
 $(BLD)/md5.$(O) : \
-       $(EMACS_ROOT)/lib/md5.c \
+       $(SRC)/md5.c \
+       $(SRC)/md5.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
        $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
-       $(EMACS_ROOT)/lib/md5.h
+       $(EMACS_ROOT)/src/config.h
+
+$(BLD)/filemode.$(O) : \
+       $(SRC)/filemode.c \
+       $(SRC)/filemode.h \
+       $(EMACS_ROOT)/nt/inc/sys/stat.h \
+       $(EMACS_ROOT)/src/s/ms-w32.h \
+       $(EMACS_ROOT)/src/m/intel386.h \
+       $(EMACS_ROOT)/src/config.h
 
 # The following dependencies are for supporting parallel builds, where
 # we must make sure $(BLD) exists before any compilation starts.
 #
 $(BLD)/dtoastr.$(O) $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O): stamp_BLD
 $(BLD)/strftime.$(O) $(BLD)/time_r.$(O) $(BLD)/md5.$(O): stamp_BLD
+$(BLD)/filemode.$(O): stamp_BLD
 
 #
 # Headers we would preprocess if we could.
index 4127311..b89e330 100644 (file)
@@ -1,3 +1,11 @@
+2011-02-21  Eli Zaretskii  <eliz@gnu.org>
+
+       * inc/sys/stat.h (S_ISUID, S_ISGID, S_ISVTX, S_IRGRP, S_IROTH)
+       (S_IWGRP, S_IWOTH, S_IXGRP, S_IXOTH, S_ISSOCK, S_ISLNK, S_ISCTG)
+       (S_ISDOOR, S_ISMPB, S_ISMPC, S_ISNWK, S_ISPORT, S_ISWHT)
+       (S_TYPEISMQ, S_TYPEISSEM, S_TYPEISSHM, S_TYPEISTMO): Define.
+       (lstat): Define to stat.
+
 2011-02-09  Eli Zaretskii  <eliz@gnu.org>
 
        * makefile.w32-in (bootstrap-nmake, bootstrap-gmake): Make the
index a217dea..7f0bbec 100644 (file)
@@ -56,6 +56,31 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #define        S_ISCHR(m)      (((m) & S_IFMT) == S_IFCHR)
 #define        S_ISFIFO(m)     (((m) & S_IFMT) == S_IFIFO)
 
+/* These don't exist on Windows, but lib/filemode.c wants them.  */
+#define S_ISUID 0
+#define S_ISGID 0
+#define S_ISVTX 0
+#define S_IRGRP (S_IRUSR >> 3)
+#define S_IROTH (S_IRUSR >> 6)
+#define S_IWGRP (S_IWUSR >> 3)
+#define S_IWOTH (S_IWUSR >> 6)
+#define S_IXGRP (S_IXUSR >> 3)
+#define S_IXOTH (S_IXUSR >> 6)
+
+#define S_ISSOCK(m)    0
+#define S_ISLNK(m)     0
+#define S_ISCTG(p)     0
+#define S_ISDOOR(m)    0
+#define S_ISMPB(m)     0
+#define S_ISMPC(m)     0
+#define S_ISNWK(m)     0
+#define S_ISPORT(m)    0
+#define S_ISWHT(m)     0
+#define S_TYPEISMQ(p)  0
+#define S_TYPEISSEM(p) 0
+#define S_TYPEISSHM(p) 0
+#define S_TYPEISTMO(p) 0
+
 struct stat {
   unsigned __int64 st_ino;     /* ino_t in sys/types.h is too narrow */
   dev_t st_dev;
@@ -76,5 +101,8 @@ _CRTIMP int __cdecl __MINGW_NOTHROW  fstat (int, struct stat*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    chmod (const char*, int);
 _CRTIMP int __cdecl __MINGW_NOTHROW    stat (const char*, struct stat*);
 
+/* fileio.c and dired.c want lstat.  */
+#define lstat stat
+
 #endif /* INC_SYS_STAT_H_ */
 
index d95ebb3..9713a4a 100644 (file)
@@ -1,3 +1,11 @@
+2011-02-21  Eli Zaretskii  <eliz@gnu.org>
+
+       * makefile.w32-in ($(BLD)/filemode.$(O)): Move recipe to
+       lib/makefilw.w32-in.
+       ($(BLD)/dired.$(O)): Depend on $(EMACS_ROOT)/lib/filemode.h.
+       (GLOBAL_SOURCES): Remove filemode.c.
+       (OBJ1): Remove $(BLD)/filemode.$(O).
+
 2011-02-21  Paul Eggert  <eggert@cs.ucla.edu>
 
        Import filemode module from gnulib.
index ca7fdca..7a702fd 100644 (file)
@@ -72,7 +72,6 @@ OBJ1 =  $(BLD)/alloc.$(O)             \
        $(BLD)/eval.$(O)                \
        $(BLD)/fileio.$(O)              \
        $(BLD)/filelock.$(O)            \
-       $(BLD)/filemode.$(O)            \
        $(BLD)/fns.$(O)                 \
        $(BLD)/indent.$(O)              \
        $(BLD)/insdel.$(O)              \
@@ -213,7 +212,7 @@ GLOBAL_SOURCES =   dosfns.c msdos.c \
        cm.c term.c terminal.c xfaces.c \
        emacs.c keyboard.c macros.c keymap.c sysdep.c \
        buffer.c filelock.c insdel.c marker.c \
-       minibuf.c fileio.c dired.c filemode.c \
+       minibuf.c fileio.c dired.c \
        cmds.c casetab.c casefiddle.c indent.c search.c regex.c undo.c \
        alloc.c data.c doc.c editfns.c callint.c \
        eval.c floatfns.c fns.c print.c lread.c \
@@ -663,6 +662,7 @@ $(BLD)/dired.$(O) : \
        $(SRC)/coding.h \
        $(SRC)/commands.h \
        $(SRC)/composite.h \
+       $(EMACS_ROOT)/lib/filemode.h \
        $(SRC)/ndir.h \
        $(SRC)/regex.h \
        $(SRC)/systime.h
@@ -821,10 +821,6 @@ $(BLD)/filelock.$(O) : \
        $(SRC)/composite.h \
        $(SRC)/systime.h
 
-$(BLD)/filemode.$(O) : \
-       $(SRC)/filemode.c \
-       $(CONFIG_H)
-
 $(BLD)/firstfile.$(O) : \
        $(SRC)/firstfile.c \
        $(CONFIG_H)