diff options
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | lib-src/ChangeLog | 19 | ||||
| -rw-r--r-- | lib-src/makefile.w32-in | 51 | ||||
| -rw-r--r-- | lib-src/ntlib.c | 2 | ||||
| -rw-r--r-- | lib-src/ntlib.h | 2 | ||||
| -rw-r--r-- | lib/getopt_.h | 280 | ||||
| -rw-r--r-- | lib/makefile.w32-in | 154 | ||||
| -rw-r--r-- | nt/ChangeLog | 17 | ||||
| -rw-r--r-- | nt/config.nt | 67 | ||||
| -rwxr-xr-x | nt/configure.bat | 1 | ||||
| -rw-r--r-- | nt/makefile.w32-in | 22 | ||||
| -rw-r--r-- | src/ChangeLog | 10 | ||||
| -rw-r--r-- | src/makefile.w32-in | 9 | ||||
| -rw-r--r-- | src/s/ms-w32.h | 1 |
14 files changed, 591 insertions, 49 deletions
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-01-29 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * lib/makefile.w32-in: | ||
| 4 | * lib/getopt_.h: New files. | ||
| 5 | |||
| 1 | 2011-01-28 Paul Eggert <eggert@cs.ucla.edu> | 6 | 2011-01-28 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 7 | ||
| 3 | improve fix for MS-DOS file name clash | 8 | improve fix for MS-DOS file name clash |
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 2abfd6c8062..bc76c253ab3 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,22 @@ | |||
| 1 | 2011-01-29 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * makefile.w32-in (LOCAL_FLAGS): Add -I../lib. | ||
| 4 | (GETOPTOBJS, GETOPTDEPS): Remove targets. | ||
| 5 | (MOVEMAILOBJS): Replace $(GETOPTOBJS) with ../lib/$(BLD)/libgnu.$(A). | ||
| 6 | ($(BLD)/movemail.exe): Depend on ../lib/getopt.h. | ||
| 7 | (ECLIENTOBJS, ETAGSOBJ, CTAGSOBJ, EBROWSEOBJ): Replace getopt.o | ||
| 8 | and getopt1.o with ../lib/$(BLD)/libgnu.$(A). | ||
| 9 | (clean): Don't remove getopt.h. | ||
| 10 | (getopt.h, $(BLD)/getopt.$(O), $(BLD)/getopt1.$(O)): Remove targets. | ||
| 11 | ($(BLD)/ctags.$(O), $(BLD)/etags.$(O)): Replace getopt.h with | ||
| 12 | $(EMACS_ROOT)/lib/getopt.h. | ||
| 13 | |||
| 14 | 2011-01-28 Chong Yidong <cyd@stupidchicken.com> | ||
| 15 | |||
| 16 | * ntlib.c (setregid): New stub, renamed from setegid. | ||
| 17 | |||
| 18 | * ntlib.h: Update prototype. | ||
| 19 | |||
| 1 | 2011-01-25 Chong Yidong <cyd@stupidchicken.com> | 20 | 2011-01-25 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 21 | ||
| 3 | * movemail.c (main): Use setregid instead of setegid, which is | 22 | * movemail.c (main): Use setregid instead of setegid, which is |
diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in index 80931fc3ca2..3685d0e71be 100644 --- a/lib-src/makefile.w32-in +++ b/lib-src/makefile.w32-in | |||
| @@ -24,8 +24,8 @@ ALL = make-docfile hexl ctags etags movemail ebrowse emacsclient | |||
| 24 | VERSION = 24.0.50 | 24 | VERSION = 24.0.50 |
| 25 | 25 | ||
| 26 | LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \ | 26 | LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \ |
| 27 | -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \ | 27 | -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../lib \ |
| 28 | -I../src | 28 | -I../nt/inc -I../src |
| 29 | 29 | ||
| 30 | LIBS = $(BASE_LIBS) $(ADVAPI32) | 30 | LIBS = $(BASE_LIBS) $(ADVAPI32) |
| 31 | 31 | ||
| @@ -50,22 +50,19 @@ emacsclient: stamp_BLD $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe | |||
| 50 | test-distrib: stamp_BLD $(BLD)/test-distrib.exe | 50 | test-distrib: stamp_BLD $(BLD)/test-distrib.exe |
| 51 | "$(BLD)/test-distrib.exe" "$(SRC)/testfile" | 51 | "$(BLD)/test-distrib.exe" "$(SRC)/testfile" |
| 52 | 52 | ||
| 53 | GETOPTOBJS = $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O) | ||
| 54 | GETOPTDEPS = $(GETOPTOBJS) getopt.h | ||
| 55 | MOVEMAILOBJS = $(BLD)/movemail.$(O) \ | 53 | MOVEMAILOBJS = $(BLD)/movemail.$(O) \ |
| 56 | $(BLD)/pop.$(O) \ | 54 | $(BLD)/pop.$(O) \ |
| 57 | $(BLD)/ntlib.$(O) \ | 55 | ../lib/$(BLD)/libgnu.$(A) \ |
| 58 | $(GETOPTOBJS) | 56 | $(BLD)/ntlib.$(O) |
| 59 | 57 | ||
| 60 | $(BLD)/movemail.exe: $(MOVEMAILOBJS) getopt.h | 58 | $(BLD)/movemail.exe: $(MOVEMAILOBJS) ../lib/getopt.h |
| 61 | # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib | 59 | # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib |
| 62 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(MOVEMAILOBJS) $(WSOCK32) $(LIBS) | 60 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(MOVEMAILOBJS) $(WSOCK32) $(LIBS) |
| 63 | 61 | ||
| 64 | ECLIENT_CFLAGS = -DHAVE_GETCWD -DHAVE_STRERROR -DVERSION="\"$(VERSION)\"" | 62 | ECLIENT_CFLAGS = -DHAVE_GETCWD -DHAVE_STRERROR -DVERSION="\"$(VERSION)\"" |
| 65 | ECLIENTOBJS = $(BLD)/emacsclient.$(O) \ | 63 | ECLIENTOBJS = $(BLD)/emacsclient.$(O) \ |
| 66 | $(BLD)/getopt.$(O) \ | 64 | $(BLD)/ntlib.$(O) \ |
| 67 | $(BLD)/getopt1.$(O) \ | 65 | ../lib/$(BLD)/libgnu.$(A) |
| 68 | $(BLD)/ntlib.$(O) | ||
| 69 | CLIENTRES = ../nt/$(BLD)/emacsclient.res | 66 | CLIENTRES = ../nt/$(BLD)/emacsclient.res |
| 70 | 67 | ||
| 71 | $(CLIENTRES): ../nt/emacsclient.rc | 68 | $(CLIENTRES): ../nt/emacsclient.rc |
| @@ -86,8 +83,7 @@ $(BLD)/emacsclient.$(O): emacsclient.c makefile.w32-in | |||
| 86 | $(CC) $(CFLAGS) $(ECLIENT_CFLAGS) $(CC_OUT)$@ emacsclient.c | 83 | $(CC) $(CFLAGS) $(ECLIENT_CFLAGS) $(CC_OUT)$@ emacsclient.c |
| 87 | 84 | ||
| 88 | ETAGSOBJ = $(BLD)/etags.$(O) \ | 85 | ETAGSOBJ = $(BLD)/etags.$(O) \ |
| 89 | $(BLD)/getopt.$(O) \ | 86 | ../lib/$(BLD)/libgnu.$(A) \ |
| 90 | $(BLD)/getopt1.$(O) \ | ||
| 91 | $(BLD)/ntlib.$(O) \ | 87 | $(BLD)/ntlib.$(O) \ |
| 92 | $(BLD)/regex.$(O) | 88 | $(BLD)/regex.$(O) |
| 93 | 89 | ||
| @@ -96,8 +92,7 @@ $(BLD)/etags.exe: $(ETAGSOBJ) | |||
| 96 | 92 | ||
| 97 | 93 | ||
| 98 | EBROWSEOBJ = $(BLD)/ebrowse.$(O) \ | 94 | EBROWSEOBJ = $(BLD)/ebrowse.$(O) \ |
| 99 | $(BLD)/getopt.$(O) \ | 95 | ../lib/$(BLD)/libgnu.$(A) \ |
| 100 | $(BLD)/getopt1.$(O) \ | ||
| 101 | $(BLD)/ntlib.$(O) | 96 | $(BLD)/ntlib.$(O) |
| 102 | 97 | ||
| 103 | $(BLD)/ebrowse.exe: $(EBROWSEOBJ) | 98 | $(BLD)/ebrowse.exe: $(EBROWSEOBJ) |
| @@ -112,8 +107,7 @@ $(BLD)/etags.$(O): etags.c | |||
| 112 | $(CC) $(CFLAGS) $(ETAGS_CFLAGS) $(CC_OUT)$@ etags.c | 107 | $(CC) $(CFLAGS) $(ETAGS_CFLAGS) $(CC_OUT)$@ etags.c |
| 113 | 108 | ||
| 114 | CTAGSOBJ = $(BLD)/ctags.$(O) \ | 109 | CTAGSOBJ = $(BLD)/ctags.$(O) \ |
| 115 | $(BLD)/getopt.$(O) \ | 110 | ../lib/$(BLD)/libgnu.$(A) \ |
| 116 | $(BLD)/getopt1.$(O) \ | ||
| 117 | $(BLD)/ntlib.$(O) \ | 111 | $(BLD)/ntlib.$(O) \ |
| 118 | $(BLD)/regex.$(O) | 112 | $(BLD)/regex.$(O) |
| 119 | 113 | ||
| @@ -340,7 +334,6 @@ install: $(INSTALL_FILES) | |||
| 340 | clean: | 334 | clean: |
| 341 | - $(DEL) DOC* $(COMPILER_TEMP_FILES) | 335 | - $(DEL) DOC* $(COMPILER_TEMP_FILES) |
| 342 | - $(DEL) ctags.c | 336 | - $(DEL) ctags.c |
| 343 | - $(DEL) getopt.h | ||
| 344 | - $(DEL_TREE) $(OBJDIR) | 337 | - $(DEL_TREE) $(OBJDIR) |
| 345 | - $(DEL) stamp_BLD | 338 | - $(DEL) stamp_BLD |
| 346 | - $(DEL) echolisp.tmp | 339 | - $(DEL) echolisp.tmp |
| @@ -365,9 +358,6 @@ cleanall: clean | |||
| 365 | echo $(CONFIG_H) has changed. Re-run configure.bat. | 358 | echo $(CONFIG_H) has changed. Re-run configure.bat. |
| 366 | exit -1 | 359 | exit -1 |
| 367 | 360 | ||
| 368 | getopt.h: getopt_.h | ||
| 369 | $(CP) $(ALL_DEPS) $@ | ||
| 370 | |||
| 371 | ### TAGS ### | 361 | ### TAGS ### |
| 372 | 362 | ||
| 373 | TAGS: $(BLD)/etags.exe *.c *.h | 363 | TAGS: $(BLD)/etags.exe *.c *.h |
| @@ -392,7 +382,7 @@ $(BLD)/ctags.$(O) : \ | |||
| 392 | $(EMACS_ROOT)/src/m/intel386.h \ | 382 | $(EMACS_ROOT)/src/m/intel386.h \ |
| 393 | $(EMACS_ROOT)/lib-src/../src/config.h \ | 383 | $(EMACS_ROOT)/lib-src/../src/config.h \ |
| 394 | $(SRC)/ntlib.h \ | 384 | $(SRC)/ntlib.h \ |
| 395 | $(SRC)/getopt.h | 385 | $(EMACS_ROOT)/lib/getopt.h |
| 396 | 386 | ||
| 397 | $(BLD)/emacsclient.$(O) : \ | 387 | $(BLD)/emacsclient.$(O) : \ |
| 398 | $(SRC)/emacsclient.c \ | 388 | $(SRC)/emacsclient.c \ |
| @@ -407,7 +397,7 @@ $(BLD)/etags.$(O) : \ | |||
| 407 | $(EMACS_ROOT)/src/m/intel386.h \ | 397 | $(EMACS_ROOT)/src/m/intel386.h \ |
| 408 | $(EMACS_ROOT)/lib-src/../src/config.h \ | 398 | $(EMACS_ROOT)/lib-src/../src/config.h \ |
| 409 | $(SRC)/ntlib.h \ | 399 | $(SRC)/ntlib.h \ |
| 410 | $(SRC)/getopt.h | 400 | $(EMACS_ROOT)/lib/getopt.h |
| 411 | 401 | ||
| 412 | $(BLD)/fakemail.$(O) : \ | 402 | $(BLD)/fakemail.$(O) : \ |
| 413 | $(SRC)/fakemail.c \ | 403 | $(SRC)/fakemail.c \ |
| @@ -424,21 +414,6 @@ $(BLD)/getdate.$(O) : \ | |||
| 424 | $(EMACS_ROOT)/src/config.h \ | 414 | $(EMACS_ROOT)/src/config.h \ |
| 425 | $(MSTOOLS_SYS)/types.h | 415 | $(MSTOOLS_SYS)/types.h |
| 426 | 416 | ||
| 427 | $(BLD)/getopt.$(O) : \ | ||
| 428 | $(SRC)/getopt.c \ | ||
| 429 | $(EMACS_ROOT)/src/s/ms-w32.h \ | ||
| 430 | $(EMACS_ROOT)/src/m/intel386.h \ | ||
| 431 | $(EMACS_ROOT)/src/config.h \ | ||
| 432 | $(SRC)/ntlib.h \ | ||
| 433 | $(SRC)/getopt.h | ||
| 434 | |||
| 435 | $(BLD)/getopt1.$(O) : \ | ||
| 436 | $(SRC)/getopt1.c \ | ||
| 437 | $(EMACS_ROOT)/src/s/ms-w32.h \ | ||
| 438 | $(EMACS_ROOT)/src/m/intel386.h \ | ||
| 439 | $(EMACS_ROOT)/src/config.h \ | ||
| 440 | $(SRC)/getopt.h | ||
| 441 | |||
| 442 | $(BLD)/hexl.$(O) : \ | 417 | $(BLD)/hexl.$(O) : \ |
| 443 | $(SRC)/hexl.c | 418 | $(SRC)/hexl.c |
| 444 | 419 | ||
| @@ -500,7 +475,7 @@ $(BLD)/timer.$(O) : \ | |||
| 500 | # | 475 | # |
| 501 | $(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O): stamp_BLD | 476 | $(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O): stamp_BLD |
| 502 | 477 | ||
| 503 | $(BLD)/test-distrib.$(O) $(GETOPTOBJS) $(MOVEMAILOBJS): stamp_BLD | 478 | $(BLD)/test-distrib.$(O) $(MOVEMAILOBJS): stamp_BLD |
| 504 | 479 | ||
| 505 | $(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O): stamp_BLD | 480 | $(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O): stamp_BLD |
| 506 | 481 | ||
diff --git a/lib-src/ntlib.c b/lib-src/ntlib.c index 02db2afdd37..0ecd4177d2c 100644 --- a/lib-src/ntlib.c +++ b/lib-src/ntlib.c | |||
| @@ -143,7 +143,7 @@ setuid (unsigned uid) | |||
| 143 | } | 143 | } |
| 144 | 144 | ||
| 145 | int | 145 | int |
| 146 | setegid (unsigned gid) | 146 | setregid (unsigned rgid, unsigned gid) |
| 147 | { | 147 | { |
| 148 | return 0; | 148 | return 0; |
| 149 | } | 149 | } |
diff --git a/lib-src/ntlib.h b/lib-src/ntlib.h index d328913d71d..be8d2a58a50 100644 --- a/lib-src/ntlib.h +++ b/lib-src/ntlib.h | |||
| @@ -38,7 +38,7 @@ unsigned getuid (void); | |||
| 38 | unsigned getegid (void); | 38 | unsigned getegid (void); |
| 39 | unsigned getgid (void); | 39 | unsigned getgid (void); |
| 40 | int setuid (unsigned uid); | 40 | int setuid (unsigned uid); |
| 41 | int setegid (unsigned gid); | 41 | int setregid (unsigned rgid, unsigned gid); |
| 42 | char * getpass (const char * prompt); | 42 | char * getpass (const char * prompt); |
| 43 | int fchown (int fd, unsigned uid, unsigned gid); | 43 | int fchown (int fd, unsigned uid, unsigned gid); |
| 44 | 44 | ||
diff --git a/lib/getopt_.h b/lib/getopt_.h new file mode 100644 index 00000000000..0b7ea2c3e9d --- /dev/null +++ b/lib/getopt_.h | |||
| @@ -0,0 +1,280 @@ | |||
| 1 | /* Declarations for getopt. | ||
| 2 | Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2011 Free Software | ||
| 3 | Foundation, Inc. | ||
| 4 | This file is part of the GNU C Library. | ||
| 5 | |||
| 6 | This program is free software: you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 3 of the License, or | ||
| 9 | (at your option) any later version. | ||
| 10 | |||
| 11 | This program is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ | ||
| 18 | |||
| 19 | #ifndef _GL_GETOPT_H | ||
| 20 | |||
| 21 | #if __GNUC__ >= 3 | ||
| 22 | #pragma GCC system_header | ||
| 23 | #endif | ||
| 24 | |||
| 25 | |||
| 26 | /* The include_next requires a split double-inclusion guard. We must | ||
| 27 | also inform the replacement unistd.h to not recursively use | ||
| 28 | <getopt.h>; our definitions will be present soon enough. */ | ||
| 29 | #if HAVE_GETOPT_H | ||
| 30 | # define _GL_SYSTEM_GETOPT | ||
| 31 | # ifndef __GNUC__ | ||
| 32 | # include <next_getopt.h> | ||
| 33 | # else | ||
| 34 | # include_next <getopt.h> | ||
| 35 | # endif | ||
| 36 | # undef _GL_SYSTEM_GETOPT | ||
| 37 | #endif | ||
| 38 | |||
| 39 | #ifndef _GL_GETOPT_H | ||
| 40 | |||
| 41 | #ifndef __need_getopt | ||
| 42 | # define _GL_GETOPT_H 1 | ||
| 43 | #endif | ||
| 44 | |||
| 45 | /* Standalone applications should #define __GETOPT_PREFIX to an | ||
| 46 | identifier that prefixes the external functions and variables | ||
| 47 | defined in this header. When this happens, include the | ||
| 48 | headers that might declare getopt so that they will not cause | ||
| 49 | confusion if included after this file (if the system had <getopt.h>, | ||
| 50 | we have already included it). Then systematically rename | ||
| 51 | identifiers so that they do not collide with the system functions | ||
| 52 | and variables. Renaming avoids problems with some compilers and | ||
| 53 | linkers. */ | ||
| 54 | #if defined __GETOPT_PREFIX && !defined __need_getopt | ||
| 55 | # if !HAVE_GETOPT_H | ||
| 56 | # include <stdlib.h> | ||
| 57 | # include <stdio.h> | ||
| 58 | # include <unistd.h> | ||
| 59 | # endif | ||
| 60 | # undef __need_getopt | ||
| 61 | # undef getopt | ||
| 62 | # undef getopt_long | ||
| 63 | # undef getopt_long_only | ||
| 64 | # undef optarg | ||
| 65 | # undef opterr | ||
| 66 | # undef optind | ||
| 67 | # undef optopt | ||
| 68 | # undef option | ||
| 69 | # define __GETOPT_CONCAT(x, y) x ## y | ||
| 70 | # define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y) | ||
| 71 | # define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y) | ||
| 72 | # define getopt __GETOPT_ID (getopt) | ||
| 73 | # define getopt_long __GETOPT_ID (getopt_long) | ||
| 74 | # define getopt_long_only __GETOPT_ID (getopt_long_only) | ||
| 75 | # define optarg __GETOPT_ID (optarg) | ||
| 76 | # define opterr __GETOPT_ID (opterr) | ||
| 77 | # define optind __GETOPT_ID (optind) | ||
| 78 | # define optopt __GETOPT_ID (optopt) | ||
| 79 | # define option __GETOPT_ID (option) | ||
| 80 | # define _getopt_internal __GETOPT_ID (getopt_internal) | ||
| 81 | #endif | ||
| 82 | |||
| 83 | /* Standalone applications get correct prototypes for getopt_long and | ||
| 84 | getopt_long_only; they declare "char **argv". libc uses prototypes | ||
| 85 | with "char *const *argv" that are incorrect because getopt_long and | ||
| 86 | getopt_long_only can permute argv; this is required for backward | ||
| 87 | compatibility (e.g., for LSB 2.0.1). | ||
| 88 | |||
| 89 | This used to be `#if defined __GETOPT_PREFIX && !defined __need_getopt', | ||
| 90 | but it caused redefinition warnings if both unistd.h and getopt.h were | ||
| 91 | included, since unistd.h includes getopt.h having previously defined | ||
| 92 | __need_getopt. | ||
| 93 | |||
| 94 | The only place where __getopt_argv_const is used is in definitions | ||
| 95 | of getopt_long and getopt_long_only below, but these are visible | ||
| 96 | only if __need_getopt is not defined, so it is quite safe to rewrite | ||
| 97 | the conditional as follows: | ||
| 98 | */ | ||
| 99 | #if !defined __need_getopt | ||
| 100 | # if defined __GETOPT_PREFIX | ||
| 101 | # define __getopt_argv_const /* empty */ | ||
| 102 | # else | ||
| 103 | # define __getopt_argv_const const | ||
| 104 | # endif | ||
| 105 | #endif | ||
| 106 | |||
| 107 | /* If __GNU_LIBRARY__ is not already defined, either we are being used | ||
| 108 | standalone, or this is the first header included in the source file. | ||
| 109 | If we are being used with glibc, we need to include <features.h>, but | ||
| 110 | that does not exist if we are standalone. So: if __GNU_LIBRARY__ is | ||
| 111 | not defined, include <ctype.h>, which will pull in <features.h> for us | ||
| 112 | if it's from glibc. (Why ctype.h? It's guaranteed to exist and it | ||
| 113 | doesn't flood the namespace with stuff the way some other headers do.) */ | ||
| 114 | #if !defined __GNU_LIBRARY__ | ||
| 115 | # include <ctype.h> | ||
| 116 | #endif | ||
| 117 | |||
| 118 | #ifndef __THROW | ||
| 119 | # ifndef __GNUC_PREREQ | ||
| 120 | # define __GNUC_PREREQ(maj, min) (0) | ||
| 121 | # endif | ||
| 122 | # if defined __cplusplus && __GNUC_PREREQ (2,8) | ||
| 123 | # define __THROW throw () | ||
| 124 | # else | ||
| 125 | # define __THROW | ||
| 126 | # endif | ||
| 127 | #endif | ||
| 128 | |||
| 129 | /* The definition of _GL_ARG_NONNULL is copied here. */ | ||
| 130 | /* A C macro for declaring that specific arguments must not be NULL. | ||
| 131 | Copyright (C) 2009-2011 Free Software Foundation, Inc. | ||
| 132 | |||
| 133 | This program is free software: you can redistribute it and/or modify it | ||
| 134 | under the terms of the GNU General Public License as published | ||
| 135 | by the Free Software Foundation; either version 3 of the License, or | ||
| 136 | (at your option) any later version. | ||
| 137 | |||
| 138 | This program is distributed in the hope that it will be useful, | ||
| 139 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 140 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 141 | Lesser General Public License for more details. | ||
| 142 | |||
| 143 | You should have received a copy of the GNU General Public License | ||
| 144 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ | ||
| 145 | |||
| 146 | /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools | ||
| 147 | that the values passed as arguments n, ..., m must be non-NULL pointers. | ||
| 148 | n = 1 stands for the first argument, n = 2 for the second argument etc. */ | ||
| 149 | #ifndef _GL_ARG_NONNULL | ||
| 150 | # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 | ||
| 151 | # define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) | ||
| 152 | # else | ||
| 153 | # define _GL_ARG_NONNULL(params) | ||
| 154 | # endif | ||
| 155 | #endif | ||
| 156 | |||
| 157 | #ifdef __cplusplus | ||
| 158 | extern "C" { | ||
| 159 | #endif | ||
| 160 | |||
| 161 | /* For communication from `getopt' to the caller. | ||
| 162 | When `getopt' finds an option that takes an argument, | ||
| 163 | the argument value is returned here. | ||
| 164 | Also, when `ordering' is RETURN_IN_ORDER, | ||
| 165 | each non-option ARGV-element is returned here. */ | ||
| 166 | |||
| 167 | extern char *optarg; | ||
| 168 | |||
| 169 | /* Index in ARGV of the next element to be scanned. | ||
| 170 | This is used for communication to and from the caller | ||
| 171 | and for communication between successive calls to `getopt'. | ||
| 172 | |||
| 173 | On entry to `getopt', zero means this is the first call; initialize. | ||
| 174 | |||
| 175 | When `getopt' returns -1, this is the index of the first of the | ||
| 176 | non-option elements that the caller should itself scan. | ||
| 177 | |||
| 178 | Otherwise, `optind' communicates from one call to the next | ||
| 179 | how much of ARGV has been scanned so far. */ | ||
| 180 | |||
| 181 | extern int optind; | ||
| 182 | |||
| 183 | /* Callers store zero here to inhibit the error message `getopt' prints | ||
| 184 | for unrecognized options. */ | ||
| 185 | |||
| 186 | extern int opterr; | ||
| 187 | |||
| 188 | /* Set to an option character which was unrecognized. */ | ||
| 189 | |||
| 190 | extern int optopt; | ||
| 191 | |||
| 192 | #ifndef __need_getopt | ||
| 193 | /* Describe the long-named options requested by the application. | ||
| 194 | The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector | ||
| 195 | of `struct option' terminated by an element containing a name which is | ||
| 196 | zero. | ||
| 197 | |||
| 198 | The field `has_arg' is: | ||
| 199 | no_argument (or 0) if the option does not take an argument, | ||
| 200 | required_argument (or 1) if the option requires an argument, | ||
| 201 | optional_argument (or 2) if the option takes an optional argument. | ||
| 202 | |||
| 203 | If the field `flag' is not NULL, it points to a variable that is set | ||
| 204 | to the value given in the field `val' when the option is found, but | ||
| 205 | left unchanged if the option is not found. | ||
| 206 | |||
| 207 | To have a long-named option do something other than set an `int' to | ||
| 208 | a compiled-in constant, such as set a value from `optarg', set the | ||
| 209 | option's `flag' field to zero and its `val' field to a nonzero | ||
| 210 | value (the equivalent single-letter option character, if there is | ||
| 211 | one). For long options that have a zero `flag' field, `getopt' | ||
| 212 | returns the contents of the `val' field. */ | ||
| 213 | |||
| 214 | struct option | ||
| 215 | { | ||
| 216 | const char *name; | ||
| 217 | /* has_arg can't be an enum because some compilers complain about | ||
| 218 | type mismatches in all the code that assumes it is an int. */ | ||
| 219 | int has_arg; | ||
| 220 | int *flag; | ||
| 221 | int val; | ||
| 222 | }; | ||
| 223 | |||
| 224 | /* Names for the values of the `has_arg' field of `struct option'. */ | ||
| 225 | |||
| 226 | # define no_argument 0 | ||
| 227 | # define required_argument 1 | ||
| 228 | # define optional_argument 2 | ||
| 229 | #endif /* need getopt */ | ||
| 230 | |||
| 231 | |||
| 232 | /* Get definitions and prototypes for functions to process the | ||
| 233 | arguments in ARGV (ARGC of them, minus the program name) for | ||
| 234 | options given in OPTS. | ||
| 235 | |||
| 236 | Return the option character from OPTS just read. Return -1 when | ||
| 237 | there are no more options. For unrecognized options, or options | ||
| 238 | missing arguments, `optopt' is set to the option letter, and '?' is | ||
| 239 | returned. | ||
| 240 | |||
| 241 | The OPTS string is a list of characters which are recognized option | ||
| 242 | letters, optionally followed by colons, specifying that that letter | ||
| 243 | takes an argument, to be placed in `optarg'. | ||
| 244 | |||
| 245 | If a letter in OPTS is followed by two colons, its argument is | ||
| 246 | optional. This behavior is specific to the GNU `getopt'. | ||
| 247 | |||
| 248 | The argument `--' causes premature termination of argument | ||
| 249 | scanning, explicitly telling `getopt' that there are no more | ||
| 250 | options. | ||
| 251 | |||
| 252 | If OPTS begins with `-', then non-option arguments are treated as | ||
| 253 | arguments to the option '\1'. This behavior is specific to the GNU | ||
| 254 | `getopt'. If OPTS begins with `+', or POSIXLY_CORRECT is set in | ||
| 255 | the environment, then do not permute arguments. */ | ||
| 256 | |||
| 257 | extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) | ||
| 258 | __THROW _GL_ARG_NONNULL ((2, 3)); | ||
| 259 | |||
| 260 | #ifndef __need_getopt | ||
| 261 | extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv, | ||
| 262 | const char *__shortopts, | ||
| 263 | const struct option *__longopts, int *__longind) | ||
| 264 | __THROW _GL_ARG_NONNULL ((2, 3)); | ||
| 265 | extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv, | ||
| 266 | const char *__shortopts, | ||
| 267 | const struct option *__longopts, int *__longind) | ||
| 268 | __THROW _GL_ARG_NONNULL ((2, 3)); | ||
| 269 | |||
| 270 | #endif | ||
| 271 | |||
| 272 | #ifdef __cplusplus | ||
| 273 | } | ||
| 274 | #endif | ||
| 275 | |||
| 276 | /* Make sure we later can get all the definitions and declarations. */ | ||
| 277 | #undef __need_getopt | ||
| 278 | |||
| 279 | #endif /* getopt.h */ | ||
| 280 | #endif /* getopt.h */ | ||
diff --git a/lib/makefile.w32-in b/lib/makefile.w32-in new file mode 100644 index 00000000000..cf74288e2cf --- /dev/null +++ b/lib/makefile.w32-in | |||
| @@ -0,0 +1,154 @@ | |||
| 1 | # -*- Makefile -*- for GNU Emacs on the Microsoft W32 API. | ||
| 2 | # Copyright (C) 2011 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | # This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | # GNU Emacs is free software: you can redistribute it and/or modify | ||
| 7 | # it under the terms of the GNU General Public License as published by | ||
| 8 | # the Free Software Foundation, either version 3 of the License, or | ||
| 9 | # (at your option) any later version. | ||
| 10 | |||
| 11 | # GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | # GNU General Public License for more details. | ||
| 15 | |||
| 16 | # You should have received a copy of the GNU General Public License | ||
| 17 | # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 18 | |||
| 19 | ALL = gnulib | ||
| 20 | |||
| 21 | .PHONY: $(ALL) | ||
| 22 | |||
| 23 | LOCAL_FLAGS = -DHAVE_CONFIG_H=1 -I. -I../nt/inc -I../src | ||
| 24 | LIBS = | ||
| 25 | |||
| 26 | GNULIBOBJS = $(BLD)/dtoastr.$(O) $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O) | ||
| 27 | |||
| 28 | # | ||
| 29 | # Build the library | ||
| 30 | # | ||
| 31 | $(BLD)/libgnu.$(A): $(GNULIBOBJS) | ||
| 32 | - $(DEL) $@ | ||
| 33 | $(AR) $(AR_OUT)$@ $(ALL_DEPS) | ||
| 34 | |||
| 35 | gnulib: stamp_BLD $(BLD)/libgnu.$(A) | ||
| 36 | |||
| 37 | # | ||
| 38 | # Build everything | ||
| 39 | # | ||
| 40 | all: stamp_BLD $(ALL) | ||
| 41 | |||
| 42 | ### TAGS ### | ||
| 43 | |||
| 44 | TAGS: | ||
| 45 | ../lib-src/$(BLD)/etags.exe *.c *.h | ||
| 46 | |||
| 47 | ### DEPENDENCIES ### | ||
| 48 | |||
| 49 | EMACS_ROOT = .. | ||
| 50 | SRC = . | ||
| 51 | |||
| 52 | $(BLD)/dtoastr.$(O) : \ | ||
| 53 | $(SRC)/dtoastr.c \ | ||
| 54 | $(SRC)/ftoastr.c \ | ||
| 55 | $(SRC)/ftoastr.h \ | ||
| 56 | $(SRC)/intprops.h \ | ||
| 57 | $(EMACS_ROOT)/src/config.h | ||
| 58 | |||
| 59 | $(BLD)/getopt.$(O) : \ | ||
| 60 | $(SRC)/getopt.c \ | ||
| 61 | $(SRC)/getopt.h \ | ||
| 62 | $(SRC)/getopt_int.h \ | ||
| 63 | $(EMACS_ROOT)/src/s/ms-w32.h \ | ||
| 64 | $(EMACS_ROOT)/src/m/intel386.h \ | ||
| 65 | $(EMACS_ROOT)/src/config.h | ||
| 66 | |||
| 67 | $(BLD)/getopt1.$(O) : \ | ||
| 68 | $(SRC)/getopt1.c \ | ||
| 69 | $(SRC)/getopt.h \ | ||
| 70 | $(SRC)/getopt_int.h \ | ||
| 71 | $(EMACS_ROOT)/src/s/ms-w32.h \ | ||
| 72 | $(EMACS_ROOT)/src/m/intel386.h \ | ||
| 73 | $(EMACS_ROOT)/src/config.h | ||
| 74 | |||
| 75 | # The following dependencies are for supporting parallel builds, where | ||
| 76 | # we must make sure $(BLD) exists before any compilation starts. | ||
| 77 | # | ||
| 78 | $(BLD)/dtoastr.$(O) $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O): stamp_BLD | ||
| 79 | |||
| 80 | # | ||
| 81 | # Headers we would preprocess if we could. | ||
| 82 | # | ||
| 83 | getopt.h: getopt_.h | ||
| 84 | $(CP) $(ALL_DEPS) $@ | ||
| 85 | |||
| 86 | # | ||
| 87 | # Maintenance | ||
| 88 | # | ||
| 89 | clean: | ||
| 90 | - $(DEL) $(COMPILER_TEMP_FILES) | ||
| 91 | - $(DEL) getopt.h | ||
| 92 | - $(DEL_TREE) $(OBJDIR) | ||
| 93 | - $(DEL) stamp_BLD | ||
| 94 | |||
| 95 | distclean: cleanall | ||
| 96 | - $(DEL) TAGS | ||
| 97 | - $(DEL) Makefile | ||
| 98 | |||
| 99 | maintainer-clean: distclean | ||
| 100 | - $(DEL) getopt_.h | ||
| 101 | |||
| 102 | cleanall: clean | ||
| 103 | - $(DEL_TREE) obj | ||
| 104 | - $(DEL_TREE) obj-spd | ||
| 105 | - $(DEL_TREE) oo | ||
| 106 | - $(DEL_TREE) oo-spd | ||
| 107 | |||
| 108 | # A dummy target to force other targets to be evaluated. | ||
| 109 | doit: | ||
| 110 | |||
| 111 | getopt_.h: getopt.in.h $(ARG_NONNULL_H) | ||
| 112 | $(MAKE) $(MFLAGS) getopt_.h-$(SHELLTYPE) | ||
| 113 | |||
| 114 | getopt_.h-CMD: doit | ||
| 115 | @echo getopt.in.h or $(ARG_NONNULL_H) is newer than getopt_.h. | ||
| 116 | @echo Run "$(MAKETYPE) getopt_h" in the lib/ subdirectory. | ||
| 117 | @echo You will need GNU Sed to be installed. | ||
| 118 | exit -1 | ||
| 119 | |||
| 120 | getopt_.h-SH: doit | ||
| 121 | @echo getopt.in.h or $(ARG_NONNULL_H) is newer than getopt_.h. | ||
| 122 | @echo Run '"$(MAKETYPE) getopt_h"' in the lib/ subdirectory. | ||
| 123 | @echo You will need GNU Sed to be installed. | ||
| 124 | exit -1 | ||
| 125 | |||
| 126 | # Generating getopt_.h from getopt.in.h. | ||
| 127 | # | ||
| 128 | # To avoid requiring all end users to install Sed, we have below | ||
| 129 | # a maintainer-only target that produces getopt_.h from getopt.in.h. | ||
| 130 | # For easier maintenance, all the strings that replace the @FOO@ | ||
| 131 | # placeholder are defined as Make macros below. | ||
| 132 | |||
| 133 | HAVE_GETOPT_H = HAVE_GETOPT_H | ||
| 134 | INCLUDE_NEXT = include_next | ||
| 135 | PRAGMA_SYSTEM_HEADER = \#pragma GCC system_header | ||
| 136 | PRAGMA_COLUMNS = | ||
| 137 | NEXT_GETOPT_H = <getopt.h> | ||
| 138 | ARG_NONNULL_H = ../arg-nonnull.h | ||
| 139 | |||
| 140 | getopt_h: | ||
| 141 | - $(DEL) getopt_.h-t getopt_.h | ||
| 142 | sed -e "s!@HAVE_GETOPT_H@!$(HAVE_GETOPT_H)!g" \ | ||
| 143 | -e "s!@INCLUDE_NEXT@!$(INCLUDE_NEXT)!g" \ | ||
| 144 | -e "s!@PRAGMA_SYSTEM_HEADER@!$(PRAGMA_SYSTEM_HEADER)!g" \ | ||
| 145 | -e "s!@PRAGMA_COLUMNS@!$(PRAGMA_COLUMNS)!g" \ | ||
| 146 | -e "s!@NEXT_GETOPT_H@!$(NEXT_GETOPT_H)!g" \ | ||
| 147 | -e "/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)" \ | ||
| 148 | -e "/^\# include_next/i # ifndef __GNUC__" \ | ||
| 149 | -e "/^\# include_next/i # include <next_getopt.h>" \ | ||
| 150 | -e "/^\# include_next/i # else" \ | ||
| 151 | -e "/^\# include_next/a # endif" \ | ||
| 152 | < getopt.in.h > getopt_.h-t | ||
| 153 | $(CP) getopt_.h-t getopt_.h | ||
| 154 | - $(DEL) getopt_.h-t | ||
diff --git a/nt/ChangeLog b/nt/ChangeLog index e0c5aa2f756..d7301e8ff23 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog | |||
| @@ -1,3 +1,20 @@ | |||
| 1 | 2011-01-29 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * makefile.w32-in (all-other-dirs-nmake, all-other-dirs-gmake) | ||
| 4 | (bootstrap-nmake, bootstrap-gmake, bootstrap-clean-nmake) | ||
| 5 | (bootstrap-clean-gmake, clean-other-dirs-nmake) | ||
| 6 | (clean-other-dirs-gmake, cleanall-other-dirs-nmake) | ||
| 7 | (cleanall-other-dirs-gmake, distclean-other-dirs-nmake) | ||
| 8 | (distclean-other-dirs-gmake, maintainer-clean-other-dirs-nmake) | ||
| 9 | (maintainer-clean-other-dirs-gmake): Recurse into ../lib as well. | ||
| 10 | |||
| 11 | * configure.bat: Create lib/makefile. | ||
| 12 | |||
| 13 | * config.nt (HAVE_MKTIME, BROKEN_MKTIME): Remove. | ||
| 14 | (HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE_DECL_GETENV) | ||
| 15 | (HAVE_DECL_LOCALTIME_R, HAVE_WCHAR_T, PACKAGE, VERSION, inline) | ||
| 16 | (_GL_UNUSED, _UNUSED_PARAMETER_): Add definitions, for gnulib. | ||
| 17 | |||
| 1 | 2011-01-07 Eli Zaretskii <eliz@gnu.org> | 18 | 2011-01-07 Eli Zaretskii <eliz@gnu.org> |
| 2 | 19 | ||
| 3 | * config.nt (HAVE___BUILTIN_UNWIND_INIT) [GCC >= 2.8]: Define. | 20 | * config.nt (HAVE___BUILTIN_UNWIND_INIT) [GCC >= 2.8]: Define. |
diff --git a/nt/config.nt b/nt/config.nt index 6e10c758d3f..53d89701c69 100644 --- a/nt/config.nt +++ b/nt/config.nt | |||
| @@ -224,7 +224,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 224 | #undef HAVE_SETSID | 224 | #undef HAVE_SETSID |
| 225 | #undef HAVE_FPATHCONF | 225 | #undef HAVE_FPATHCONF |
| 226 | #undef HAVE_SELECT | 226 | #undef HAVE_SELECT |
| 227 | #undef HAVE_MKTIME | ||
| 228 | #undef HAVE_EUIDACCESS | 227 | #undef HAVE_EUIDACCESS |
| 229 | #undef HAVE_GETPAGESIZE | 228 | #undef HAVE_GETPAGESIZE |
| 230 | #undef HAVE_GET_CURRENT_DIR_NAME | 229 | #undef HAVE_GET_CURRENT_DIR_NAME |
| @@ -273,6 +272,67 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 273 | /* Define to 1 if you have the `getopt_long_only' function. */ | 272 | /* Define to 1 if you have the `getopt_long_only' function. */ |
| 274 | #undef HAVE_GETOPT_LONG_ONLY | 273 | #undef HAVE_GETOPT_LONG_ONLY |
| 275 | 274 | ||
| 275 | /* Preprocessor macros needed for gnulib imports. */ | ||
| 276 | |||
| 277 | /* Define to 1 if GCC-style __attribute__ ((__aligned__ (expr))) works. */ | ||
| 278 | #ifdef __GNUC__ | ||
| 279 | #define HAVE_ATTRIBUTE_ALIGNED 1 | ||
| 280 | #else | ||
| 281 | #undef HAVE_ATTRIBUTE_ALIGNED | ||
| 282 | #endif | ||
| 283 | |||
| 284 | /* Define to 1 if strtold conforms to C99. */ | ||
| 285 | #ifdef __GNUC__ | ||
| 286 | #define HAVE_C99_STRTOLD 1 | ||
| 287 | #else | ||
| 288 | #undef HAVE_C99_STRTOLD | ||
| 289 | #endif | ||
| 290 | |||
| 291 | /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. | ||
| 292 | */ | ||
| 293 | #define HAVE_DECL_GETENV 1 | ||
| 294 | |||
| 295 | /* Define to 1 if you have the declaration of `localtime_r', and to 0 if you | ||
| 296 | don't. */ | ||
| 297 | #undef HAVE_DECL_LOCALTIME_R | ||
| 298 | |||
| 299 | /* Define to 1 if you have the `localtime_r' function. */ | ||
| 300 | #undef HAVE_LOCALTIME_R | ||
| 301 | |||
| 302 | /* Define if you have the 'wchar_t' type. */ | ||
| 303 | #define HAVE_WCHAR_T 1 | ||
| 304 | |||
| 305 | /* Name of package */ | ||
| 306 | #define PACKAGE "emacs" | ||
| 307 | |||
| 308 | /* FIXME: This is defined by the various makefile.w32-in files for | ||
| 309 | now. Revisit if/when VERSION from config.h is used by any | ||
| 310 | Makefile.in files. */ | ||
| 311 | #if 0 | ||
| 312 | /* Version number of package */ | ||
| 313 | #define VERSION "24.0.50" | ||
| 314 | #endif | ||
| 315 | |||
| 316 | /* Define to `__inline__' or `__inline' if that's what the C compiler | ||
| 317 | calls it, or to nothing if 'inline' is not supported under any name. */ | ||
| 318 | #ifndef __cplusplus | ||
| 319 | #undef inline | ||
| 320 | #endif | ||
| 321 | |||
| 322 | /* Define as a marker that can be attached to declarations that might not | ||
| 323 | be used. This helps to reduce warnings, such as from | ||
| 324 | GCC -Wunused-parameter. */ | ||
| 325 | #if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) | ||
| 326 | # define _GL_UNUSED __attribute__ ((__unused__)) | ||
| 327 | #else | ||
| 328 | # define _GL_UNUSED | ||
| 329 | #endif | ||
| 330 | /* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name | ||
| 331 | is a misnomer outside of parameter lists. */ | ||
| 332 | #define _UNUSED_PARAMETER_ _GL_UNUSED | ||
| 333 | |||
| 334 | /* End of gnulib-related stuff. */ | ||
| 335 | |||
| 276 | /* If using GNU, then support inline function declarations. */ | 336 | /* If using GNU, then support inline function declarations. */ |
| 277 | #ifdef __GNUC__ | 337 | #ifdef __GNUC__ |
| 278 | #define INLINE __inline__ | 338 | #define INLINE __inline__ |
| @@ -344,11 +404,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 344 | #define RE_TRANSLATE_P(TBL) (XFASTINT (TBL) != 0) | 404 | #define RE_TRANSLATE_P(TBL) (XFASTINT (TBL) != 0) |
| 345 | #endif | 405 | #endif |
| 346 | 406 | ||
| 347 | /* Avoid link-time collision with system mktime if we will use our own. */ | ||
| 348 | #if ! HAVE_MKTIME || BROKEN_MKTIME | ||
| 349 | #define mktime emacs_mktime | ||
| 350 | #endif | ||
| 351 | |||
| 352 | #define my_strftime nstrftime /* for strftime.c */ | 407 | #define my_strftime nstrftime /* for strftime.c */ |
| 353 | 408 | ||
| 354 | #ifndef WINDOWSNT | 409 | #ifndef WINDOWSNT |
diff --git a/nt/configure.bat b/nt/configure.bat index a2ec2ca700f..1450650304d 100755 --- a/nt/configure.bat +++ b/nt/configure.bat | |||
| @@ -679,6 +679,7 @@ if exist config.tmp del config.tmp | |||
| 679 | copy /b config.settings+%MAKECMD%.defs+..\nt\makefile.w32-in ..\nt\makefile | 679 | copy /b config.settings+%MAKECMD%.defs+..\nt\makefile.w32-in ..\nt\makefile |
| 680 | if exist ..\admin\unidata copy /b config.settings+%MAKECMD%.defs+..\admin\unidata\makefile.w32-in ..\admin\unidata\makefile | 680 | if exist ..\admin\unidata copy /b config.settings+%MAKECMD%.defs+..\admin\unidata\makefile.w32-in ..\admin\unidata\makefile |
| 681 | copy /b config.settings+%MAKECMD%.defs+..\lib-src\makefile.w32-in ..\lib-src\makefile | 681 | copy /b config.settings+%MAKECMD%.defs+..\lib-src\makefile.w32-in ..\lib-src\makefile |
| 682 | copy /b config.settings+%MAKECMD%.defs+..\lib\makefile.w32-in ..\lib\makefile | ||
| 682 | copy /b config.settings+%MAKECMD%.defs+..\src\makefile.w32-in ..\src\makefile | 683 | copy /b config.settings+%MAKECMD%.defs+..\src\makefile.w32-in ..\src\makefile |
| 683 | copy /b config.settings+%MAKECMD%.defs+..\doc\emacs\makefile.w32-in ..\doc\emacs\makefile | 684 | copy /b config.settings+%MAKECMD%.defs+..\doc\emacs\makefile.w32-in ..\doc\emacs\makefile |
| 684 | copy /b config.settings+%MAKECMD%.defs+..\doc\misc\makefile.w32-in ..\doc\misc\makefile | 685 | copy /b config.settings+%MAKECMD%.defs+..\doc\misc\makefile.w32-in ..\doc\misc\makefile |
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in index 5ad398fd725..0ce8a5a052e 100644 --- a/nt/makefile.w32-in +++ b/nt/makefile.w32-in | |||
| @@ -92,6 +92,8 @@ $(BLD)/addpm.$(O) $(BLD)/ddeclient.$(O) $(BLD)/runemacs.$(O) $(BLD)/cmdproxy.$(O | |||
| 92 | all: which-sh stamp_BLD $(ALL) $(CLIENTRES) maybe-bootstrap all-other-dirs-$(MAKETYPE) | 92 | all: which-sh stamp_BLD $(ALL) $(CLIENTRES) maybe-bootstrap all-other-dirs-$(MAKETYPE) |
| 93 | 93 | ||
| 94 | all-other-dirs-nmake: addsection | 94 | all-other-dirs-nmake: addsection |
| 95 | cd ..\lib | ||
| 96 | $(MAKE) $(MFLAGS) all | ||
| 95 | cd ..\lib-src | 97 | cd ..\lib-src |
| 96 | $(MAKE) $(MFLAGS) all | 98 | $(MAKE) $(MFLAGS) all |
| 97 | cd ..\src | 99 | cd ..\src |
| @@ -103,6 +105,7 @@ all-other-dirs-nmake: addsection | |||
| 103 | cd ..\nt | 105 | cd ..\nt |
| 104 | 106 | ||
| 105 | all-other-dirs-gmake: addsection | 107 | all-other-dirs-gmake: addsection |
| 108 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all | ||
| 106 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src all | 109 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src all |
| 107 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src all | 110 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src all |
| 108 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp all | 111 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp all |
| @@ -158,6 +161,8 @@ bootstrap-nmake: addsection cmdproxy | |||
| 158 | $(MAKE) $(MFLAGS) clean | 161 | $(MAKE) $(MFLAGS) clean |
| 159 | cd ..\lib-src | 162 | cd ..\lib-src |
| 160 | $(MAKE) $(MFLAGS) clean | 163 | $(MAKE) $(MFLAGS) clean |
| 164 | cd ..\lib | ||
| 165 | $(MAKE) $(MFLAGS) clean | ||
| 161 | cd ..\src | 166 | cd ..\src |
| 162 | $(MAKE) $(MFLAGS) bootstrap | 167 | $(MAKE) $(MFLAGS) bootstrap |
| 163 | $(MAKE) $(MFLAGS) bootstrap-clean | 168 | $(MAKE) $(MFLAGS) bootstrap-clean |
| @@ -173,6 +178,7 @@ bootstrap-gmake: addsection cmdproxy | |||
| 173 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean | 178 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean |
| 174 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean | 179 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean |
| 175 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean | 180 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean |
| 181 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean | ||
| 176 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap | 182 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap |
| 177 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean | 183 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean |
| 178 | $(CP) $(BLD)/cmdproxy.exe ../bin | 184 | $(CP) $(BLD)/cmdproxy.exe ../bin |
| @@ -184,11 +190,14 @@ bootstrap-clean: bootstrap-clean-$(MAKETYPE) | |||
| 184 | bootstrap-clean-nmake: | 190 | bootstrap-clean-nmake: |
| 185 | cd ..\src | 191 | cd ..\src |
| 186 | $(MAKE) $(MFLAGS) bootstrap-clean | 192 | $(MAKE) $(MFLAGS) bootstrap-clean |
| 193 | cd ..\lib | ||
| 194 | $(MAKE) $(MFLAGS) clean | ||
| 187 | cd ..\lisp | 195 | cd ..\lisp |
| 188 | $(MAKE) $(MFLAGS) bootstrap-clean | 196 | $(MAKE) $(MFLAGS) bootstrap-clean |
| 189 | 197 | ||
| 190 | bootstrap-clean-gmake: | 198 | bootstrap-clean-gmake: |
| 191 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean | 199 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean |
| 200 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean | ||
| 192 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean | 201 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean |
| 193 | 202 | ||
| 194 | $(INSTALL_DIR): | 203 | $(INSTALL_DIR): |
| @@ -297,6 +306,8 @@ clean: clean-other-dirs-$(MAKETYPE) | |||
| 297 | - $(DEL) ../etc/DOC ../etc/DOC-X | 306 | - $(DEL) ../etc/DOC ../etc/DOC-X |
| 298 | 307 | ||
| 299 | clean-other-dirs-nmake: | 308 | clean-other-dirs-nmake: |
| 309 | cd ..\lib | ||
| 310 | $(MAKE) $(MFLAGS) clean | ||
| 300 | cd ..\lib-src | 311 | cd ..\lib-src |
| 301 | $(MAKE) $(MFLAGS) clean | 312 | $(MAKE) $(MFLAGS) clean |
| 302 | cd ..\src | 313 | cd ..\src |
| @@ -314,6 +325,7 @@ clean-other-dirs-nmake: | |||
| 314 | cd ..\nt | 325 | cd ..\nt |
| 315 | 326 | ||
| 316 | clean-other-dirs-gmake: | 327 | clean-other-dirs-gmake: |
| 328 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean | ||
| 317 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean | 329 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean |
| 318 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean | 330 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean |
| 319 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim clean | 331 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim clean |
| @@ -323,6 +335,8 @@ clean-other-dirs-gmake: | |||
| 323 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref clean | 335 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref clean |
| 324 | 336 | ||
| 325 | cleanall-other-dirs-nmake: | 337 | cleanall-other-dirs-nmake: |
| 338 | cd ..\lib | ||
| 339 | $(MAKE) $(MFLAGS) cleanall | ||
| 326 | cd ..\lib-src | 340 | cd ..\lib-src |
| 327 | $(MAKE) $(MFLAGS) cleanall | 341 | $(MAKE) $(MFLAGS) cleanall |
| 328 | cd ..\src | 342 | cd ..\src |
| @@ -330,6 +344,7 @@ cleanall-other-dirs-nmake: | |||
| 330 | cd ..\nt | 344 | cd ..\nt |
| 331 | 345 | ||
| 332 | cleanall-other-dirs-gmake: | 346 | cleanall-other-dirs-gmake: |
| 347 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib cleanall | ||
| 333 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src cleanall | 348 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src cleanall |
| 334 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src cleanall | 349 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src cleanall |
| 335 | 350 | ||
| @@ -355,6 +370,8 @@ top-distclean: | |||
| 355 | distclean: distclean-other-dirs-$(MAKETYPE) top-distclean | 370 | distclean: distclean-other-dirs-$(MAKETYPE) top-distclean |
| 356 | 371 | ||
| 357 | distclean-other-dirs-nmake: | 372 | distclean-other-dirs-nmake: |
| 373 | cd ..\lib | ||
| 374 | $(MAKE) $(MFLAGS) distclean | ||
| 358 | cd ..\lib-src | 375 | cd ..\lib-src |
| 359 | $(MAKE) $(MFLAGS) distclean | 376 | $(MAKE) $(MFLAGS) distclean |
| 360 | cd ..\src | 377 | cd ..\src |
| @@ -374,6 +391,7 @@ distclean-other-dirs-nmake: | |||
| 374 | cd ..\nt | 391 | cd ..\nt |
| 375 | 392 | ||
| 376 | distclean-other-dirs-gmake: | 393 | distclean-other-dirs-gmake: |
| 394 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib distclean | ||
| 377 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src distclean | 395 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src distclean |
| 378 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src distclean | 396 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src distclean |
| 379 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp distclean | 397 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp distclean |
| @@ -386,6 +404,8 @@ distclean-other-dirs-gmake: | |||
| 386 | maintainer-clean: maintainer-clean-other-dirs-$(MAKETYPE) top-distclean | 404 | maintainer-clean: maintainer-clean-other-dirs-$(MAKETYPE) top-distclean |
| 387 | 405 | ||
| 388 | maintainer-clean-other-dirs-nmake: | 406 | maintainer-clean-other-dirs-nmake: |
| 407 | cd ..\lib | ||
| 408 | $(MAKE) $(MFLAGS) maintainer-clean | ||
| 389 | cd ..\lib-src | 409 | cd ..\lib-src |
| 390 | $(MAKE) $(MFLAGS) maintainer-clean | 410 | $(MAKE) $(MFLAGS) maintainer-clean |
| 391 | cd ..\src | 411 | cd ..\src |
| @@ -405,6 +425,7 @@ maintainer-clean-other-dirs-nmake: | |||
| 405 | cd ..\nt | 425 | cd ..\nt |
| 406 | 426 | ||
| 407 | maintainer-clean-other-dirs-gmake: | 427 | maintainer-clean-other-dirs-gmake: |
| 428 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib maintainer-clean | ||
| 408 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src maintainer-clean | 429 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src maintainer-clean |
| 409 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src maintainer-clean | 430 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src maintainer-clean |
| 410 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp maintainer-clean | 431 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp maintainer-clean |
| @@ -424,6 +445,7 @@ TAGS-gmake: frc | |||
| 424 | ../lib-src/$(BLD)/etags $(CURDIR)/*.c | 445 | ../lib-src/$(BLD)/etags $(CURDIR)/*.c |
| 425 | $(MAKE) $(MFLAGS) -C ../src TAGS TAGS-LISP | 446 | $(MAKE) $(MFLAGS) -C ../src TAGS TAGS-LISP |
| 426 | $(MAKE) $(MFLAGS) -C ../lib-src TAGS | 447 | $(MAKE) $(MFLAGS) -C ../lib-src TAGS |
| 448 | $(MAKE) $(MFLAGS) -C ../lib TAGS | ||
| 427 | 449 | ||
| 428 | TAGS-nmake: | 450 | TAGS-nmake: |
| 429 | echo This target is not supported with NMake | 451 | echo This target is not supported with NMake |
diff --git a/src/ChangeLog b/src/ChangeLog index 340ca37aae4..7f19b02ef38 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2011-01-29 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * s/ms-w32.h (HAVE_MKTIME): Remove. | ||
| 4 | |||
| 5 | * makefile.w32-in (LOCAL_FLAGS): Add -I../lib. | ||
| 6 | (GNULIB): New variable. | ||
| 7 | (LIBS): Add $(GNULIB). | ||
| 8 | $(TEMACS): Depend on $(GNULIB). | ||
| 9 | <top-level>: Fix font-lock disrupted by a lone `"'. | ||
| 10 | |||
| 1 | 2011-01-29 Jan Djärv <jan.h.d@swipnet.se> | 11 | 2011-01-29 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 12 | ||
| 3 | * nsselect.m (ns_string_from_pasteboard): Get length of string | 13 | * nsselect.m (ns_string_from_pasteboard): Get length of string |
diff --git a/src/makefile.w32-in b/src/makefile.w32-in index 549acf8f6b3..ad21419ca7f 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in | |||
| @@ -28,7 +28,7 @@ EMACSLOADPATH=$(CURDIR)/../lisp | |||
| 28 | # HAVE_CONFIG_H is required by some generic gnu sources stuck into | 28 | # HAVE_CONFIG_H is required by some generic gnu sources stuck into |
| 29 | # the emacs source tree. | 29 | # the emacs source tree. |
| 30 | # | 30 | # |
| 31 | LOCAL_FLAGS = -Demacs=1 -DHAVE_CONFIG_H -I../nt/inc -DHAVE_NTGUI=1 $(EMACS_EXTRA_C_FLAGS) | 31 | LOCAL_FLAGS = -Demacs=1 -DHAVE_CONFIG_H -I../lib -I../nt/inc -DHAVE_NTGUI=1 $(EMACS_EXTRA_C_FLAGS) |
| 32 | 32 | ||
| 33 | SRC = . | 33 | SRC = . |
| 34 | EMACS = $(BLD)/emacs.exe | 34 | EMACS = $(BLD)/emacs.exe |
| @@ -40,6 +40,7 @@ TLIB2 = $(BLD)/temacs2.$(A) | |||
| 40 | TOBJ = $(BLD)/firstfile.$(O) | 40 | TOBJ = $(BLD)/firstfile.$(O) |
| 41 | TRES = $(BLD)/emacs.res | 41 | TRES = $(BLD)/emacs.res |
| 42 | TLASTLIB = $(BLD)/lastfile.$(A) | 42 | TLASTLIB = $(BLD)/lastfile.$(A) |
| 43 | GNULIB = ../lib/$(BLD)/libgnu.$(A) | ||
| 43 | 44 | ||
| 44 | DOC = $(OBJDIR)/etc/DOC-X | 45 | DOC = $(OBJDIR)/etc/DOC-X |
| 45 | 46 | ||
| @@ -140,6 +141,7 @@ LIBS = $(TLIB0) \ | |||
| 140 | $(TLIB1) \ | 141 | $(TLIB1) \ |
| 141 | $(TLIB2) \ | 142 | $(TLIB2) \ |
| 142 | $(TLASTLIB) \ | 143 | $(TLASTLIB) \ |
| 144 | $(GNULIB) \ | ||
| 143 | $(WINMM) \ | 145 | $(WINMM) \ |
| 144 | $(ADVAPI32) \ | 146 | $(ADVAPI32) \ |
| 145 | $(GDI32) \ | 147 | $(GDI32) \ |
| @@ -174,7 +176,7 @@ $(EMACS): $(DOC) $(TEMACS) | |||
| 174 | # | 176 | # |
| 175 | temacs: stamp_BLD $(TEMACS) | 177 | temacs: stamp_BLD $(TEMACS) |
| 176 | $(TEMACS): $(TLIB0) $(TLIB1) $(TLIB2) $(TLASTLIB) $(TOBJ) $(TRES) \ | 178 | $(TEMACS): $(TLIB0) $(TLIB1) $(TLIB2) $(TLASTLIB) $(TOBJ) $(TRES) \ |
| 177 | ../nt/$(BLD)/addsection.exe | 179 | ../nt/$(BLD)/addsection.exe $(GNULIB) |
| 178 | $(LINK) $(LINK_OUT)$(TEMACS_TMP) $(FULL_LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS) | 180 | $(LINK) $(LINK_OUT)$(TEMACS_TMP) $(FULL_LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS) |
| 179 | "../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP 21 | 181 | "../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP 21 |
| 180 | 182 | ||
| @@ -192,6 +194,9 @@ make-buildobj-CMD: | |||
| 192 | echo $(OBJ2) \>> buildobj.h | 194 | echo $(OBJ2) \>> buildobj.h |
| 193 | echo ^">> buildobj.h | 195 | echo ^">> buildobj.h |
| 194 | 196 | ||
| 197 | # " | ||
| 198 | # The above line is here to countermand the single quote | ||
| 199 | # on the last "echo" command above, wrt font-lock. | ||
| 195 | make-buildobj-SH: | 200 | make-buildobj-SH: |
| 196 | echo '#define BUILDOBJ $(DQUOTE)\' > buildobj.h | 201 | echo '#define BUILDOBJ $(DQUOTE)\' > buildobj.h |
| 197 | echo $(OBJ0) '\' >> buildobj.h | 202 | echo $(OBJ0) '\' >> buildobj.h |
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h index e9a580629af..d247cf866f9 100644 --- a/src/s/ms-w32.h +++ b/src/s/ms-w32.h | |||
| @@ -150,7 +150,6 @@ struct sigaction { | |||
| 150 | #undef HAVE_SETSID | 150 | #undef HAVE_SETSID |
| 151 | #undef HAVE_FPATHCONF | 151 | #undef HAVE_FPATHCONF |
| 152 | #define HAVE_SELECT 1 | 152 | #define HAVE_SELECT 1 |
| 153 | #define HAVE_MKTIME 1 | ||
| 154 | #undef HAVE_EUIDACCESS | 153 | #undef HAVE_EUIDACCESS |
| 155 | #define HAVE_GETPAGESIZE 1 | 154 | #define HAVE_GETPAGESIZE 1 |
| 156 | #define HAVE_TZSET 1 | 155 | #define HAVE_TZSET 1 |