1/* config.h.W32 -- hand-massaged config.h file for Windows builds -*-C-*- 2 3Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 42006 Free Software Foundation, Inc. 5This file is part of GNU Make. 6 7GNU Make is free software; you can redistribute it and/or modify it under the 8terms of the GNU General Public License as published by the Free Software 9Foundation; either version 2, or (at your option) any later version. 10 11GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15You should have received a copy of the GNU General Public License along with 16GNU Make; see the file COPYING. If not, write to the Free Software 17Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 18 19#ifndef ___config_h_win 20#define ___config_h_win 21 22/* Suppress some Visual C++ warnings. 23 Maybe after the code cleanup for ISO C we can remove some/all of these. */ 24#if _MSC_VER > 1000 25# pragma warning(disable:4100) /* unreferenced formal parameter */ 26# pragma warning(disable:4102) /* unreferenced label */ 27# pragma warning(disable:4127) /* conditional expression is constant */ 28# pragma warning(disable:4131) /* uses old-style declarator */ 29# pragma warning(disable:4702) /* unreachable code */ 30#endif 31 32/* Define to 1 if the `closedir' function returns void instead of `int'. */ 33/* #undef CLOSEDIR_VOID */ 34 35/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP 36 systems. This function is required for `alloca.c' support on those systems. 37 */ 38/* #undef CRAY_STACKSEG_END */ 39 40/* Define to 1 if using `alloca.c'. */ 41/* #undef C_ALLOCA */ 42 43/* Define to 1 if using `getloadavg.c'. */ 44/*#define C_GETLOADAVG 1*/ 45 46/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */ 47/* #undef DGUX */ 48 49/* Define to 1 if translation of program messages to the user's native 50 language is requested. */ 51/* #undef ENABLE_NLS */ 52 53/* Use high resolution file timestamps if nonzero. */ 54#define FILE_TIMESTAMP_HI_RES 0 55 56/* Define to 1 if the `getloadavg' function needs to be run setuid or setgid. 57 */ 58/* #undef GETLOADAVG_PRIVILEGED */ 59 60/* Define to 1 if you have `alloca', as a function or macro. */ 61#define HAVE_ALLOCA 1 62 63/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). 64 */ 65/* #undef HAVE_ALLOCA_H */ 66 67/* Define if your compiler conforms to the ANSI C standard. */ 68#define HAVE_ANSI_COMPILER 1 69 70/* Define to 1 if you have the `bsd_signal' function. */ 71/* #undef HAVE_BSD_SIGNAL */ 72 73/* Use case insensitive file names */ 74/* #undef HAVE_CASE_INSENSITIVE_FS */ 75 76/* Define if you have the clock_gettime function. */ 77/* #undef HAVE_CLOCK_GETTIME */ 78 79/* Define if the GNU dcgettext() function is already present or preinstalled. 80 */ 81/* #undef HAVE_DCGETTEXT */ 82 83/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. 84 */ 85#define HAVE_DIRENT_H 1 86 87/* Define to 1 if you have the <direct.h> header file, and it defines getcwd() 88 and chdir(). 89 */ 90#if (defined(_MSC_VER) || defined(__BORLANDC__)) && !defined(__INTERIX) 91# define HAVE_DIRECT_H 1 92#endif 93 94/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ 95/* #undef HAVE_DOPRNT */ 96 97/* Use platform specific coding */ 98#define HAVE_DOS_PATHS 1 99 100/* Define to 1 if you have the `dup2' function. */ 101#define HAVE_DUP2 1 102 103/* Define to 1 if you have the <fcntl.h> header file. */ 104#define HAVE_FCNTL_H 1 105 106/* Define to 1 if you have the `fdopen' function. */ 107/*#define HAVE_FDOPEN 1*/ 108 109/* Define to 1 if you have the `fork' function. */ 110/* #undef HAVE_FORK */ 111 112/* Define to 1 if you have the `getcwd' function. */ 113#define HAVE_GETCWD 1 114 115/* Define to 1 if you have the `getgroups' function. */ 116/* #undef HAVE_GETGROUPS */ 117 118/* Define to 1 if you have the `gethostbyname' function. */ 119/* #undef HAVE_GETHOSTBYNAME */ 120 121/* Define to 1 if you have the `gethostname' function. */ 122/* #undef HAVE_GETHOSTNAME */ 123 124/* Define to 1 if you have the `getloadavg' function. */ 125/* #undef HAVE_GETLOADAVG */ 126 127/* Define to 1 if you have the `getrlimit' function. */ 128/* #undef HAVE_GETRLIMIT */ 129 130/* Define if the GNU gettext() function is already present or preinstalled. */ 131/* #undef HAVE_GETTEXT */ 132 133/* Define if you have a standard gettimeofday function */ 134/* #undef HAVE_GETTIMEOFDAY */ 135 136/* Define if you have the iconv() function. */ 137/* #undef HAVE_ICONV */ 138 139/* Define to 1 if you have the <inttypes.h> header file. */ 140/*#define HAVE_INTTYPES_H 1*/ 141 142/* Define to 1 if you have the `dgc' library (-ldgc). */ 143/* #undef HAVE_LIBDGC */ 144 145/* Define to 1 if you have the `kstat' library (-lkstat). */ 146/* #undef HAVE_LIBKSTAT */ 147 148/* Define to 1 if you have the <limits.h> header file. */ 149#define HAVE_LIMITS_H 1 150 151/* Define to 1 if you have the <locale.h> header file. */ 152#define HAVE_LOCALE_H 1 153 154/* Define to 1 if you have the <mach/mach.h> header file. */ 155/* #undef HAVE_MACH_MACH_H */ 156 157/* Define to 1 if you have the `memmove' function. */ 158#define HAVE_MEMMOVE 1 159 160/* Define to 1 if you have the <memory.h> header file. */ 161#define HAVE_MEMORY_H 1 162 163/* Define to 1 if you have the `mkstemp' function. */ 164/* #undef HAVE_MKSTEMP */ 165 166/* Define to 1 if you have the `mktemp' function. */ 167#define HAVE_MKTEMP 1 168 169/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ 170/* #undef HAVE_NDIR_H */ 171 172/* Define to 1 if you have the <nlist.h> header file. */ 173/* #undef HAVE_NLIST_H */ 174 175/* Define to 1 if you have the `pipe' function. */ 176/* #undef HAVE_PIPE */ 177 178/* Define to 1 if you have the `pstat_getdynamic' function. */ 179/* #undef HAVE_PSTAT_GETDYNAMIC */ 180 181/* Define to 1 if you have the `realpath' function. */ 182/* #undef HAVE_REALPATH */ 183 184/* Define if <signal.h> defines the SA_RESTART constant. */ 185/* #undef HAVE_SA_RESTART */ 186 187/* Define to 1 if you have the `setegid' function. */ 188/* #undef HAVE_SETEGID */ 189 190/* Define to 1 if you have the `seteuid' function. */ 191/* #undef HAVE_SETEUID */ 192 193/* Define to 1 if you have the `setlinebuf' function. */ 194/* #undef HAVE_SETLINEBUF */ 195 196/* Define to 1 if you have the `setlocale' function. */ 197/*#define HAVE_SETLOCALE 1*/ 198 199/* Define to 1 if you have the `setregid' function. */ 200/* #undef HAVE_SETREGID */ 201 202/* Define to 1 if you have the `setreuid' function. */ 203/* #undef HAVE_SETREUID */ 204 205/* Define to 1 if you have the `setrlimit' function. */ 206/* #undef HAVE_SETRLIMIT */ 207 208/* Define to 1 if you have the `setvbuf' function. */ 209/*#define HAVE_SETVBUF 1 */ 210 211/* Define to 1 if you have the `sigaction' function. */ 212/* #undef HAVE_SIGACTION */ 213 214/* Define to 1 if you have the `sigsetmask' function. */ 215/* #undef HAVE_SIGSETMASK */ 216 217/* Define to 1 if you have the `socket' function. */ 218/* #undef HAVE_SOCKET */ 219 220/* Define to 1 if you have the <stdarg.h> header file. */ 221#define HAVE_STDARG_H 1 222 223/* Define to 1 if you have the <stdint.h> header file. */ 224#if _MSC_VER >= 1600 225# define HAVE_STDINT_H 1 226#endif 227 228/* Define to 1 if you have the <stdlib.h> header file. */ 229#define HAVE_STDLIB_H 1 230 231/* Define to 1 if you have the `strcasecmp' function. */ 232/* #undef HAVE_STRCASECMP */ 233 234/* Define to 1 if you have the `strcmpi' function. */ 235#define HAVE_STRCMPI 1 236 237/* Define to 1 if you have the `stricmp' function. */ 238/* #undef HAVE_STRICMP */ 239 240/* Define to 1 if you have the `strchr' function. */ 241#define HAVE_STRCHR 1 242 243/* Define to 1 if you have the `strcoll' function and it is properly defined. 244 */ 245#define HAVE_STRCOLL 1 246 247/* Define to 1 if you have the `strdup' function. */ 248#define HAVE_STRDUP 1 /* bird */ 249 250/* Define to 1 if you have the `strerror' function. */ 251#define HAVE_STRERROR 1 252 253/* Define to 1 if you have the <strings.h> header file. */ 254/* #define HAVE_STRINGS_H 1 */ 255 256/* Define to 1 if you have the <string.h> header file. */ 257#define HAVE_STRING_H 1 258 259/* Define to 1 if you have the `strsignal' function. */ 260/* #undef HAVE_STRSIGNAL */ 261 262/* Define to 1 if `n_un.n_name' is member of `struct nlist'. */ 263/* #undef HAVE_STRUCT_NLIST_N_UN_N_NAME */ 264 265/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. 266 */ 267/* #undef HAVE_SYS_DIR_H */ 268 269/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'. 270 */ 271/* #undef HAVE_SYS_NDIR_H */ 272 273/* Define to 1 if you have the <sys/param.h> header file. */ 274/* #define HAVE_SYS_PARAM_H 1 */ 275 276/* Define to 1 if you have the <sys/resource.h> header file. */ 277/* #undef HAVE_SYS_RESOURCE_H */ 278 279/* Define to 1 if you have the <sys/stat.h> header file. */ 280#define HAVE_SYS_STAT_H 1 281 282/* Define to 1 if you have the <sys/timeb.h> header file. */ 283/*#define HAVE_SYS_TIMEB_H 1*/ 284 285/* Define to 1 if you have the <sys/time.h> header file. */ 286/*#define HAVE_SYS_TIME_H 1*/ 287 288/* Define to 1 if you have the <sys/types.h> header file. */ 289/*#define HAVE_SYS_TYPES_H 1*/ 290 291/* Define to 1 if you have the <sys/wait.h> header file. */ 292/* #undef HAVE_SYS_WAIT_H */ 293 294/* Define this if you have the \`union wait' type in <sys/wait.h>. */ 295/* #undef HAVE_UNION_WAIT */ 296 297/* Define to 1 if you have the <unistd.h> header file. */ 298/* #define HAVE_UNISTD_H 1*/ 299 300/* Define to 1 if you have the <varargs.h> header file. */ 301/* #undef HAVE_VARARGS_H */ 302 303/* Define to 1 if you have the `vfork' function. */ 304/* #undef HAVE_VFORK */ 305 306/* Define to 1 if you have the <vfork.h> header file. */ 307/* #undef HAVE_VFORK_H */ 308 309/* Define to 1 if you have the `vprintf' function. */ 310#define HAVE_VPRINTF 1 311 312 313/* Define to 1 if you have the `wait3' function. */ 314/* #undef HAVE_WAIT3 */ 315 316/* Define to 1 if you have the `waitpid' function. */ 317/* #undef HAVE_WAITPID */ 318 319/* Define to 1 if `fork' works. */ 320/* #undef HAVE_WORKING_FORK */ 321 322/* Define to 1 if `vfork' works. */ 323/* #undef HAVE_WORKING_VFORK */ 324 325/* Build host information. (not used by kmk) */ 326#define MAKE_HOST "Windows32" 327 328/* Define this to enable job server support in GNU make. */ 329/* #undef MAKE_JOBSERVER */ 330 331/* Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend 332 on `HAVE_STRUCT_NLIST_N_UN_N_NAME */ 333/* #undef NLIST_NAME_UNION */ 334 335/* Define if struct nlist.n_name is a pointer rather than an array. */ 336/* #undef NLIST_STRUCT */ 337 338/* Define to 1 if your C compiler doesn't accept -c and -o together. */ 339/* #undef NO_MINUS_C_MINUS_O */ 340 341/* Name of this package (needed by automake) */ 342#define PACKAGE "make" 343 344/* Define to the address where bug reports for this package should be sent. */ 345#define PACKAGE_BUGREPORT "bug-make@gnu.org" 346 347/* Define to the full name of this package. */ 348#define PACKAGE_NAME "GNU make" 349 350/* Define to the full name and version of this package. */ 351#define PACKAGE_STRING "GNU make 3.82" 352 353/* Define to the one symbol short name of this package. */ 354#define PACKAGE_TARNAME "make" 355 356/* Define to the version of this package. */ 357#define PACKAGE_VERSION "3.82" 358 359/* Define to 1 if the C compiler supports function prototypes. */ 360#define PROTOTYPES 1 361 362/* Define as the return type of signal handlers (`int' or `void'). */ 363#define RETSIGTYPE void 364 365/* Define to the name of the SCCS 'get' command. */ 366#define SCCS_GET "echo no sccs get" 367 368/* Define this if the SCCS 'get' command understands the '-G<file>' option. */ 369/* #undef SCCS_GET_MINUS_G */ 370 371/* Define to 1 if the `setvbuf' function takes the buffering type as its 372 second argument and the buffer pointer as the third, as on System V before 373 release 3. */ 374/* #undef SETVBUF_REVERSED */ 375 376/* If using the C implementation of alloca, define if you know the 377 direction of stack growth for your system; otherwise it will be 378 automatically deduced at run-time. 379 STACK_DIRECTION > 0 => grows toward higher addresses 380 STACK_DIRECTION < 0 => grows toward lower addresses 381 STACK_DIRECTION = 0 => direction of growth unknown */ 382/* #undef STACK_DIRECTION */ 383 384/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */ 385/* #undef STAT_MACROS_BROKEN */ 386 387/* Define to 1 if you have the ANSI C header files. */ 388#define STDC_HEADERS 1 389 390/* Define if struct stat contains a nanoseconds field */ 391#define ST_MTIM_NSEC tv_nsec 392 393/* Define to 1 on System V Release 4. */ 394/* #undef SVR4 */ 395 396/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ 397/* #define TIME_WITH_SYS_TIME 1 */ 398 399/* Define to 1 for Encore UMAX. */ 400/* #undef UMAX */ 401 402/* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of 403 <sys/cpustats.h>. */ 404/* #undef UMAX4_3 */ 405 406/* Version number of package */ 407#define VERSION "3.82" 408 409/* Define if using the dmalloc debugging malloc package */ 410/* #undef WITH_DMALLOC */ 411 412/* Define to 1 if on AIX 3. 413 System headers sometimes define this. 414 We just want to avoid a redefinition error message. */ 415#ifndef _ALL_SOURCE 416/* # undef _ALL_SOURCE */ 417#endif 418 419/* Number of bits in a file offset, on hosts where this is settable. */ 420/* #undef _FILE_OFFSET_BITS */ 421 422/* Define for large files, on AIX-style hosts. */ 423/* #undef _LARGE_FILES */ 424 425/* Define to 1 if on MINIX. */ 426/* #undef _MINIX */ 427 428/* Define to 2 if the system does not provide POSIX.1 features except with 429 this defined. */ 430/* #undef _POSIX_1_SOURCE */ 431 432/* Define to 1 if you need to in order for `stat' and other things to work. */ 433#define _POSIX_SOURCE 1 434 435/* Define like PROTOTYPES; this can be used by system headers. */ 436/*#define __PROTOTYPES 1*/ 437 438/* Define to empty if `const' does not conform to ANSI C. */ 439/* #undef const */ 440 441/* Define to `int' if <sys/types.h> doesn't define. */ 442#define gid_t int 443 444/* Define to `int' if <sys/types.h> does not define. */ 445/* Note (bird)! sub_proc.c needs this to be pointer sized. */ 446#define pid_t intptr_t 447 448/* Define to `int' if <sys/types.h> doesn't define. */ 449#define uid_t int 450 451/* Define uintmax_t if not defined in <stdint.h> or <inttypes.h>. */ 452#if _MSC_VER < 1600 453# if 0 454# define uintmax_t unsigned long 455# else 456# define uintmax_t unsigned __int64 457# endif 458#endif 459 460/* Define as `fork' if `vfork' does not work. */ 461/*#define vfork fork*/ 462 463#if 0/* see above */ 464/* Define to `unsigned long' or `unsigned long long' 465 if <inttypes.h> doesn't define. */ 466#define uintmax_t unsigned long 467#endif 468 469/* Define if you support file names longer than 14 characters. */ 470#define HAVE_LONG_FILE_NAMES 1 471 472/* Define if your struct stat has st_rdev. */ 473#undef HAVE_ST_RDEV 474#define HAVE_ST_RDEV 1 475 476/* Define if you have the strftime function. */ 477#undef HAVE_STRFTIME 478#define HAVE_STRFTIME 1 479 480/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */ 481/* #undef HAVE_SYS_WAIT_H */ 482 483/* Define if your struct tm has tm_zone. */ 484/* #undef HAVE_TM_ZONE */ 485 486/* Define if you don't have tm_zone but do have the external array 487 tzname. */ 488#undef HAVE_TZNAME 489#define HAVE_TZNAME 1 490 491/* Define if utime(file, NULL) sets file's timestamp to the present. */ 492#undef HAVE_UTIME_NULL 493#define HAVE_UTIME_NULL 1 494 495/* Define to the installation directory for locales. */ 496#define LOCALEDIR "" 497 498/* 499 * Refer to README.W32 for info on the following settings 500 */ 501 502 503/* 504 * If you have a shell that does not grok 'sh -c quoted-command-line' 505 * correctly, you need this setting. Please see below for specific 506 * shell support. 507 */ 508/*#define BATCH_MODE_ONLY_SHELL 1 */ 509 510/* 511 * Define if you have the Cygnus "Cygwin" GNU Windows32 tool set. 512 * Do NOT define BATCH_MODE_ONLY_SHELL if you define HAVE_CYGWIN_SHELL 513 */ 514/*#define HAVE_CYGWIN_SHELL 1 */ 515 516/* 517 * Define if you have the MKS tool set or shell. Do NOT define 518 * BATCH_MODE_ONLY_SHELL if you define HAVE_MKS_SHELL 519 */ 520/*#define HAVE_MKS_SHELL 1 */ 521 522/* 523 * Enforce the mutual exclusivity restriction. 524 */ 525#ifdef HAVE_MKS_SHELL 526#undef BATCH_MODE_ONLY_SHELL 527#endif 528 529#ifdef HAVE_CYGWIN_SHELL 530#undef BATCH_MODE_ONLY_SHELL 531#endif 532 533/* bird stat hacks. */ 534#include <io.h> 535#include <direct.h> 536#include "nt/ntstat.h" 537 538/* bird dirent hack. */ 539#define _DIRENT_H /* see w32/dirent.h */ 540#include "nt/ntdir.h" 541#define _DIRENT_HAVE_D_NAMLEN 1 542#define _DIRENT_HAVE_D_TYPE 1 543 544/* bird: Not sure if this is necessary any more... */ 545#define BATCH_MODE_ONLY_SHELL 546 547#include "inlined_memchr.h" 548 549#ifdef CONFIG_WITH_FAST_IS_SPACE 550# include <ctype.h> 551# if _MSC_VER >= 1400 552# include <intrin.h> 553# pragma intrinsic(_bittest) 554# pragma intrinsic(_bittestandset) 555# define space_map_size 32 556# define set_space_map_entry(ch) _bittestandset((long *)&space_map[0], (unsigned char)(ch)) 557# define isspace(ch) _bittest((long *)&space_map[0], (unsigned char)(ch)) 558# else 559# define space_map_size 256 560# define set_space_map_entry(ch) (space_map[(unsigned char)(ch)] = 1) 561# define isspace(ch) (space_map[(unsigned char)(ch)]) 562# endif 563extern char space_map[space_map_size]; 564#endif 565 566/* bird: Include mscfakes.h to make sure we have all it's tricks applied. */ 567#ifndef ___mscfakes_h 568# include "kmkbuiltin/mscfakes.h" 569#endif 570 571#endif /* bird */ 572 573