* dir.c (directory_contents_hash_1, directory_contents_hash_1)
[WINDOWS32]: Initialize hash.
+2003-06-19 Earnie Boyd <earnie@uses.sf.net>
+
+ * dir.c (read_dirstream): Provide a workaround for broken versions of
+ the MinGW dirent structure.
+
+2003-05-30 Earnie Boyd <earnie@users.sf.net>
+
+ * w32/include/dirent.h: Add __MINGW32__ filter.
+
+2003-05-30 Earnie Boyd <earnie@users.sf.net>
+
+ * make.h: Add global declaration of *make_host.
+ * main.c (print_usage): Remove local declaration of *make_host.
+ (print_version): Display "This program built for ..." after Copyright
+ notice.
+
+2003-05-30 Earnie Boyd <earnie@users.sf.net>
+
+ * doc/make.texi: Change "ifinfo" to "ifnottex" as suggested by the
+ execution of "makeinfo --html make.texi".
+
2003-04-30 Paul D. Smith <psmith@gnu.org>
* build.template: Make some changes to maybe allow this script to
buf = xmalloc (bufsz);
}
d = (struct dirent *) buf;
+#ifdef __MINGW32__
+# if __MINGW32_VERSION_MAJOR < 3 || (__MINGW32_VERSION_MAJOR == 3 && \
+ __MINGW32_VERSION_MINOR == 0)
+ d->d_name = xmalloc(len);
+# endif
+#endif
FAKE_DIR_ENTRY (d);
#ifdef _DIRENT_HAVE_D_NAMLEN
d->d_namlen = len - 1;
* Make: (make). Remake files automatically.
@end direntry
-@ifinfo
+@ifnottex
This file documents the GNU Make utility, which determines
automatically which pieces of a large program need to be recompiled,
and issues the commands to recompile them.
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
``GNU Free Documentation License''.
-@end ifinfo
+@end ifnottex
@iftex
@shorttitlepage GNU Make
@end titlepage
@page
-@ifinfo
+@ifnottex
@node Top, Overview, (dir), (dir)
@top Make
documents GNU @code{make} Version @value{VERSION}.@refill
This manual describes @code{make} and contains the following chapters:@refill
-@end ifinfo
+@end ifnottex
@menu
* Overview:: Overview of @code{make}.
@end menu
@node Preparing, Reading, Overview, Overview
-@ifinfo
+@ifnottex
@heading Preparing and Running Make
-@end ifinfo
+@end ifnottex
To prepare to use @code{make}, you must write a file called
the @dfn{makefile} that describes the relationships among files
later sections. In each chapter, the first few sections contain
introductory or general information and the later sections contain
specialized or technical information.
-@ifinfo
+@ifnottex
The exception is the second chapter, @ref{Introduction, ,An
Introduction to Makefiles}, all of which is introductory.
-@end ifinfo
+@end ifnottex
@iftex
The exception is @ref{Introduction, ,An Introduction to Makefiles},
all of which is introductory.
prerequisites from source files themselves.
@end menu
-@ifinfo
+@ifnottex
@node Rule Example, Rule Syntax, Rules, Rules
@section Rule Example
that @file{foo.c} includes it, and that that is why @file{defs.h} was
added to the prerequisites.
@end itemize
-@end ifinfo
+@end ifnottex
@node Rule Syntax, Prerequisite Types, Rule Example, Rules
@section Rule Syntax
Actually it is possible to obtain the desired result with wildcard
expansion, but you need more sophisticated techniques, including the
@code{wildcard} function and string substitution.
-@ifinfo
+@ifnottex
@xref{Wildcard Function, ,The Function @code{wildcard}}.
-@end ifinfo
+@end ifnottex
@iftex
These are described in the following section.
@end iftex
@iftex
See the next section.
@end iftex
-@ifinfo
+@ifnottex
@xref{Options/Recursion}.
-@end ifinfo
+@end ifnottex
Variables are @emph{not} normally passed down if they were created by
default by @code{make} (@pxref{Implicit Variables, ,Variables Used by
@iftex
See the next section for information about @code{define}.
@end iftex
-@ifinfo
+@ifnottex
@xref{Defining, ,Defining Variables Verbatim}.
-@end ifinfo
+@end ifnottex
@node Defining, Environment, Override Directive, Using Variables
@section Defining Variables Verbatim
static void
print_usage (int bad)
{
- extern char *make_host;
const char *const *cpp;
FILE *usageto;
word "Copyright", so it hardly seems worth it. */
printf ("%sGNU Make %s\n\
-%sCopyright (C) 2002 Free Software Foundation, Inc.\n",
+%sCopyright (C) 2003 Free Software Foundation, Inc.\n",
precede, version_string, precede);
printf (_("%sThis is free software; see the source for copying conditions.\n\
%sPARTICULAR PURPOSE.\n"),
precede, precede, precede);
+ if (!remote_description || *remote_description == '\0')
+ printf (_("\n%sThis program built for %s\n"), precede, make_host);
+ else
+ printf (_("\n%sThis program built for %s (%s)\n"),
+ precede, make_host, remote_description);
+
printed_version = 1;
/* Flush stdout so the user doesn't have to wait to see the
extern char *program;
extern char *starting_directory;
extern unsigned int makelevel;
-extern char *version_string, *remote_description;
+extern char *version_string, *remote_description, *make_host;
extern unsigned int commands_started;
-#ifndef _DIRENT_H\r
-#define _DIRENT_H\r
-\r
-#include <stdlib.h>\r
-#include <windows.h>\r
-#include <limits.h>\r
-#include <sys/types.h>\r
-\r
-#ifndef NAME_MAX\r
-#define NAME_MAX 255\r
-#endif\r
-\r
-#define __DIRENT_COOKIE 0xfefeabab\r
-\r
-\r
-struct dirent\r
-{\r
- ino_t d_ino; /* unused - no equivalent on WINDOWS32 */\r
- char d_name[NAME_MAX+1];\r
-};\r
-\r
-typedef struct dir_struct {\r
- ULONG dir_ulCookie;\r
- HANDLE dir_hDirHandle;\r
- DWORD dir_nNumFiles;\r
- char dir_pDirectoryName[NAME_MAX+1];\r
- struct dirent dir_sdReturn;\r
-} DIR;\r
-\r
-DIR *opendir(const char *);\r
-struct dirent *readdir(DIR *);\r
-void rewinddir(DIR *);\r
-void closedir(DIR *);\r
-int telldir(DIR *);\r
-void seekdir(DIR *, long);\r
-\r
-#endif\r
+/* Windows version of dirent.h
+Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Make is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Make; see the file COPYING. If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+MA 02111-1307, USA. */
+
+#ifndef _DIRENT_H
+#define _DIRENT_H
+
+#ifdef __MINGW32__
+# include <windows.h>
+# include_next <dirent.h>
+#else
+
+#include <stdlib.h>
+#include <windows.h>
+#include <limits.h>
+#include <sys/types.h>
+
+#ifndef NAME_MAX
+#define NAME_MAX 255
+#endif
+
+#define __DIRENT_COOKIE 0xfefeabab
+
+
+struct dirent
+{
+ ino_t d_ino; /* unused - no equivalent on WINDOWS32 */
+ char d_name[NAME_MAX+1];
+};
+
+typedef struct dir_struct {
+ ULONG dir_ulCookie;
+ HANDLE dir_hDirHandle;
+ DWORD dir_nNumFiles;
+ char dir_pDirectoryName[NAME_MAX+1];
+ struct dirent dir_sdReturn;
+} DIR;
+
+DIR *opendir(const char *);
+struct dirent *readdir(DIR *);
+void rewinddir(DIR *);
+void closedir(DIR *);
+int telldir(DIR *);
+void seekdir(DIR *, long);
+
+#endif /* !__MINGW32__ */
+#endif