From 25c51af3a920a21ddfc08e6551690c18b679751f Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 21 Feb 2011 22:00:19 +0200 Subject: [PATCH] Adapt MS-Windows build to import of filemode.c from gnulib. 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 | 6 ++++++ lib-src/ChangeLog | 6 ++++++ lib-src/makefile.w32-in | 5 +++++ lib/makefile.w32-in | 18 ++++++++++++++---- nt/ChangeLog | 8 ++++++++ nt/inc/sys/stat.h | 28 ++++++++++++++++++++++++++++ src/ChangeLog | 8 ++++++++ src/makefile.w32-in | 8 ++------ 8 files changed, 77 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index db173ddd9a..2b18f8177d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-02-21 Eli Zaretskii + + * 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 Import filemode module from gnulib. diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index ad8ffa8b75..01352adf4e 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,9 @@ +2011-02-21 Eli Zaretskii + + * 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 (tiny change) * make-docfile.c (scan_c_file): Adapt DEFVAR_PER_BUFFER case to diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in index 77931c1a36..bc7b1b27ba 100644 --- a/lib-src/makefile.w32-in +++ b/lib-src/makefile.w32-in @@ -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) : \ diff --git a/lib/makefile.w32-in b/lib/makefile.w32-in index 02953c9863..f1071c9dbf 100644 --- a/lib/makefile.w32-in +++ b/lib/makefile.w32-in @@ -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. diff --git a/nt/ChangeLog b/nt/ChangeLog index 4127311442..b89e33074f 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,11 @@ +2011-02-21 Eli Zaretskii + + * 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 * makefile.w32-in (bootstrap-nmake, bootstrap-gmake): Make the diff --git a/nt/inc/sys/stat.h b/nt/inc/sys/stat.h index a217dea9d4..7f0bbeccb1 100644 --- a/nt/inc/sys/stat.h +++ b/nt/inc/sys/stat.h @@ -56,6 +56,31 @@ along with GNU Emacs. If not, see . */ #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_ */ diff --git a/src/ChangeLog b/src/ChangeLog index d95ebb32de..9713a4a6ed 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2011-02-21 Eli Zaretskii + + * 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 Import filemode module from gnulib. diff --git a/src/makefile.w32-in b/src/makefile.w32-in index ca7fdcac02..7a702fd45b 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in @@ -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) -- 2.20.1