aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2013-03-30 20:00:51 +0300
committerEli Zaretskii2013-03-30 20:00:51 +0300
commit7c4026b6ad03974a55a175af17c8e76c61931b69 (patch)
treeeac656e59e5aa55044323a4f7fbea7377fb83d0a
parentfff1aa4e84d0568c0295711f58fa18028d100744 (diff)
downloademacs-7c4026b6ad03974a55a175af17c8e76c61931b69.tar.gz
emacs-7c4026b6ad03974a55a175af17c8e76c61931b69.zip
Finished with lib-src compilation, except emacsclientw and emacsclient.res.
Next -- compilation in nt/, and then problems in src/.
-rw-r--r--configure.ac15
-rw-r--r--lib-src/Makefile.in38
-rw-r--r--lib-src/ntlib.c26
-rw-r--r--lib-src/ntlib.h4
-rw-r--r--lib-src/update-game-score.c4
-rw-r--r--nt/inc/ms-w32.h4
6 files changed, 68 insertions, 23 deletions
diff --git a/configure.ac b/configure.ac
index 5ed6aed23d5..c41a0914607 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1026,6 +1026,8 @@ AC_SUBST(C_SWITCH_SYSTEM)
1026 1026
1027 1027
1028LIBS_SYSTEM= 1028LIBS_SYSTEM=
1029LIB_WSOCK32=
1030NTLIB_O=
1029case "$opsys" in 1031case "$opsys" in
1030 ## IBM's X11R5 uses -lIM and -liconv in AIX 3.2.2. 1032 ## IBM's X11R5 uses -lIM and -liconv in AIX 3.2.2.
1031 aix4-2) LIBS_SYSTEM="-lrts -lIM -liconv" ;; 1033 aix4-2) LIBS_SYSTEM="-lrts -lIM -liconv" ;;
@@ -1038,9 +1040,16 @@ case "$opsys" in
1038 1040
1039 ## Motif needs -lgen. 1041 ## Motif needs -lgen.
1040 unixware) LIBS_SYSTEM="-lsocket -lnsl -lelf -lgen" ;; 1042 unixware) LIBS_SYSTEM="-lsocket -lnsl -lelf -lgen" ;;
1043
1044 mingw32) LIBS_SYSTEM="-lcomctl32"
1045 LIB_WSOCK32="$LIB_WSOCK32 -lwsock32"
1046 NTLIB_O="ntlib.$ac_objext"
1047 ;;
1041esac 1048esac
1042AC_SUBST(LIBS_SYSTEM)
1043 1049
1050AC_SUBST(LIBS_SYSTEM)
1051AC_SUBST(LIB_WSOCK32)
1052AC_SUBST(NTLIB_O)
1044 1053
1045### Make sure subsequent tests use flags consistent with the build flags. 1054### Make sure subsequent tests use flags consistent with the build flags.
1046 1055
@@ -1574,8 +1583,8 @@ if test "${HAVE_W32}" = "yes"; then
1574 W32_RES_LINK="-Wl,-bpe-i386 -Wl,emacs.res" 1583 W32_RES_LINK="-Wl,-bpe-i386 -Wl,emacs.res"
1575 else 1584 else
1576 W32_OBJ="$W32_OBJ w32.o w32console.o w32heap.o w32inevt.o w32proc.o" 1585 W32_OBJ="$W32_OBJ w32.o w32console.o w32heap.o w32inevt.o w32proc.o"
1577 W32_LIBS="$W32_LIBS -lwinmm -ladvapi32 -lgdi32 -lcomdlg32 -luser32" 1586 W32_LIBS="$W32_LIBS -lwinmm -lgdi32 -lcomdlg32"
1578 W32_LIBS="$W32_LIBS -lmpr -lshell32 -lwinspool -lole32 -lcomctl32 -lusp10" 1587 W32_LIBS="$W32_LIBS -lmpr -lwinspool -lole32 -lusp10"
1579 fi 1588 fi
1580fi 1589fi
1581AC_SUBST(W32_OBJ) 1590AC_SUBST(W32_OBJ)
diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in
index 7069af9767a..903dbfcf7b9 100644
--- a/lib-src/Makefile.in
+++ b/lib-src/Makefile.in
@@ -163,11 +163,16 @@ LIBS_MAIL=@LIBS_MAIL@
163LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ 163LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
164## empty or -lrt or -lposix4 if HAVE_FDATASYNC 164## empty or -lrt or -lposix4 if HAVE_FDATASYNC
165LIB_FDATASYNC = @LIB_FDATASYNC@ 165LIB_FDATASYNC = @LIB_FDATASYNC@
166## empty of -lwsock32 for MinGW
167LIB_WSOCK32 = @LIB_WSOCK32@
166 168
167## Extra libraries to use when linking movemail. 169## Extra libraries to use when linking movemail.
168LIBS_MOVE = $(LIBS_MAIL) $(KRB4LIB) $(DESLIB) $(KRB5LIB) $(CRYPTOLIB) \ 170LIBS_MOVE = $(LIBS_MAIL) $(KRB4LIB) $(DESLIB) $(KRB5LIB) $(CRYPTOLIB) \
169 $(COM_ERRLIB) $(LIBHESIOD) $(LIBRESOLV) 171 $(COM_ERRLIB) $(LIBHESIOD) $(LIBRESOLV)
170 172
173## Extra object files for linking emacsclient
174NTLIB_O = @NTLIB_O@
175
171## Some systems define this to request special libraries. 176## Some systems define this to request special libraries.
172LIBS_SYSTEM = @LIBS_SYSTEM@ 177LIBS_SYSTEM = @LIBS_SYSTEM@
173 178
@@ -292,7 +297,7 @@ TAGS: etags${EXEEXT}
292## distribute Emacs. If they were clobbered, all the .elc files were 297## distribute Emacs. If they were clobbered, all the .elc files were
293## clobbered too. 298## clobbered too.
294test-distrib${EXEEXT}: ${srcdir}/test-distrib.c 299test-distrib${EXEEXT}: ${srcdir}/test-distrib.c
295 $(CC) ${ALL_CFLAGS} -o test-distrib ${srcdir}/test-distrib.c 300 $(CC) ${ALL_CFLAGS} -o test-distrib${EXEEXT} ${srcdir}/test-distrib.c
296 ./test-distrib ${srcdir}/testfile 301 ./test-distrib ${srcdir}/testfile
297 302
298../lib/libgnu.a: $(config_h) 303../lib/libgnu.a: $(config_h)
@@ -305,44 +310,49 @@ regex.o: $(srcdir)/../src/regex.c $(srcdir)/../src/regex.h $(config_h)
305etags${EXEEXT}: ${srcdir}/etags.c regex.o $(config_h) 310etags${EXEEXT}: ${srcdir}/etags.c regex.o $(config_h)
306 $(CC) ${ALL_CFLAGS} -DEMACS_NAME="\"GNU Emacs\"" \ 311 $(CC) ${ALL_CFLAGS} -DEMACS_NAME="\"GNU Emacs\"" \
307 -DVERSION="\"${version}\"" ${srcdir}/etags.c \ 312 -DVERSION="\"${version}\"" ${srcdir}/etags.c \
308 regex.o $(LOADLIBES) -o etags 313 regex.o $(LOADLIBES) -o etags${EXEEXT}
309 314
310ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(config_h) 315ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(config_h)
311 $(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" \ 316 $(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" \
312 ${srcdir}/ebrowse.c $(LOADLIBES) -o ebrowse 317 ${srcdir}/ebrowse.c $(LOADLIBES) -o ebrowse${EXEEXT}
313 318
314## We depend on etags to assure that parallel makes do not write two 319## We depend on etags to assure that parallel makes do not write two
315## etags.o files on top of each other. 320## etags.o files on top of each other.
316ctags${EXEEXT}: etags${EXEEXT} 321ctags${EXEEXT}: etags${EXEEXT}
317 $(CC) ${ALL_CFLAGS} -DCTAGS -DEMACS_NAME="\"GNU Emacs\"" \ 322 $(CC) ${ALL_CFLAGS} -DCTAGS -DEMACS_NAME="\"GNU Emacs\"" \
318 -DVERSION="\"${version}\"" ${srcdir}/etags.c \ 323 -DVERSION="\"${version}\"" ${srcdir}/etags.c \
319 regex.o $(LOADLIBES) -o ctags 324 regex.o $(LOADLIBES) -o ctags${EXEEXT}
320 325
321profile${EXEEXT}: ${srcdir}/profile.c $(config_h) 326profile${EXEEXT}: ${srcdir}/profile.c $(config_h)
322 $(CC) ${ALL_CFLAGS} ${srcdir}/profile.c \ 327 $(CC) ${ALL_CFLAGS} ${srcdir}/profile.c \
323 $(LOADLIBES) $(LIB_CLOCK_GETTIME) -o profile 328 $(LOADLIBES) $(LIB_CLOCK_GETTIME) -o profile${EXEEXT}
324 329
325make-docfile${EXEEXT}: ${srcdir}/make-docfile.c $(config_h) 330make-docfile${EXEEXT}: ${srcdir}/make-docfile.c $(config_h)
326 $(CC) ${ALL_CFLAGS} ${srcdir}/make-docfile.c $(LOADLIBES) \ 331 $(CC) ${ALL_CFLAGS} ${srcdir}/make-docfile.c $(LOADLIBES) \
327 -o make-docfile 332 -o make-docfile${EXEEXT}
328 333
329movemail${EXEEXT}: ${srcdir}/movemail.c pop.o $(config_h) 334movemail${EXEEXT}: ${srcdir}/movemail.c pop.o $(NTLIB_O) $(config_h)
330 $(CC) ${ALL_CFLAGS} ${MOVE_FLAGS} ${srcdir}/movemail.c pop.o \ 335 $(CC) ${ALL_CFLAGS} ${MOVE_FLAGS} ${srcdir}/movemail.c pop.o \
331 $(LOADLIBES) $(LIBS_MOVE) -o movemail 336 $(NTLIB_O) $(LIB_WSOCK32) $(LOADLIBES) $(LIBS_MOVE) \
337 -o movemail${EXEEXT}
332 338
333pop.o: ${srcdir}/pop.c ${srcdir}/../lib/min-max.h $(config_h) 339pop.o: ${srcdir}/pop.c ${srcdir}/../lib/min-max.h $(config_h)
334 $(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} ${srcdir}/pop.c 340 $(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} ${srcdir}/pop.c
335 341
336emacsclient${EXEEXT}: ${srcdir}/emacsclient.c $(config_h) 342emacsclient${EXEEXT}: ${srcdir}/emacsclient.c $(NTLIB_O) $(config_h)
337 $(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c \ 343 $(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c \
338 -DVERSION="\"${version}\"" \ 344 -DVERSION="\"${version}\"" $(LIB_WSOCK32) \
339 $(LOADLIBES) $(LIB_FDATASYNC) -o emacsclient 345 $(LOADLIBES) $(LIB_FDATASYNC) -o emacsclient${EXEEXT}
346
347ntlib.o: ${srcdir}/ntlib.c ${srcdir}/ntlib.h
348 $(CC) -c ${CPP_CFLAGS} ${srcdir}/ntlib.c
340 349
341hexl${EXEEXT}: ${srcdir}/hexl.c $(config_h) 350hexl${EXEEXT}: ${srcdir}/hexl.c $(config_h)
342 $(CC) ${ALL_CFLAGS} ${srcdir}/hexl.c $(LOADLIBES) -o hexl 351 $(CC) ${ALL_CFLAGS} ${srcdir}/hexl.c $(LOADLIBES) -o hexl${EXEEXT}
343 352
344update-game-score${EXEEXT}: ${srcdir}/update-game-score.c $(config_h) 353update-game-score${EXEEXT}: ${srcdir}/update-game-score.c $(NTLIB_O) $(config_h)
345 $(CC) ${ALL_CFLAGS} -DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" \ 354 $(CC) ${ALL_CFLAGS} -DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" \
346 ${srcdir}/update-game-score.c $(LOADLIBES) -o update-game-score 355 ${srcdir}/update-game-score.c $(NTLIB_O) $(LOADLIBES) \
356 -o update-game-score${EXEEXT}
347 357
348## Makefile ends here. 358## Makefile ends here.
diff --git a/lib-src/ntlib.c b/lib-src/ntlib.c
index 849abc2ede5..9dbfda90e00 100644
--- a/lib-src/ntlib.c
+++ b/lib-src/ntlib.c
@@ -20,6 +20,20 @@ GNU General Public License for more details.
20You should have received a copy of the GNU General Public License 20You should have received a copy of the GNU General Public License
21along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 21along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22 22
23#ifdef __MINGW32__
24/* A kludge to avoid including header files in lib/. They cannot be
25 configured-out, and their stuff interferes with what we have
26 defined in this header and in other headers in nt/inc. Yuck! */
27#define __need_system_fcntl_h
28#define _GL_FCNTL_H
29#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
30#define _GL_ALREADY_INCLUDING_SIGNAL_H
31#define _GL_ALREADY_INCLUDING_STDIO_H
32#define __need_system_stdlib_h
33#define _GL_TIME_H
34#define __need_system_sys_stat_h
35#endif
36
23#include <windows.h> 37#include <windows.h>
24#include <stdlib.h> 38#include <stdlib.h>
25#include <stdio.h> 39#include <stdio.h>
@@ -49,10 +63,11 @@ struct timezone
49/* Emulate sleep...we could have done this with a define, but that 63/* Emulate sleep...we could have done this with a define, but that
50 would necessitate including windows.h in the files that used it. 64 would necessitate including windows.h in the files that used it.
51 This is much easier. */ 65 This is much easier. */
52void 66unsigned
53sleep (unsigned long seconds) 67sleep (unsigned seconds)
54{ 68{
55 Sleep (seconds * 1000); 69 Sleep (seconds * 1000);
70 return 0;
56} 71}
57 72
58/* Get the current working directory. */ 73/* Get the current working directory. */
@@ -138,6 +153,12 @@ getuid (void)
138} 153}
139 154
140unsigned 155unsigned
156geteuid (void)
157{
158 return getuid ();
159}
160
161unsigned
141getgid (void) 162getgid (void)
142{ 163{
143 return 0; 164 return 0;
@@ -415,4 +436,3 @@ lstat (const char * path, struct stat * buf)
415{ 436{
416 return stat (path, buf); 437 return stat (path, buf);
417} 438}
418
diff --git a/lib-src/ntlib.h b/lib-src/ntlib.h
index 1b2f57f35e5..3e48d2997e0 100644
--- a/lib-src/ntlib.h
+++ b/lib-src/ntlib.h
@@ -16,7 +16,6 @@ GNU General Public License for more details.
16You should have received a copy of the GNU General Public License 16You should have received a copy of the GNU General Public License
17along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 17along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
18 18
19
20#include <pwd.h> 19#include <pwd.h>
21#include <malloc.h> 20#include <malloc.h>
22 21
@@ -29,12 +28,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
29#ifdef sleep 28#ifdef sleep
30#undef sleep 29#undef sleep
31#endif 30#endif
32void sleep (unsigned long seconds); 31unsigned sleep (unsigned seconds);
33char *getwd (char *dir); 32char *getwd (char *dir);
34int getppid (void); 33int getppid (void);
35char * getlogin (void); 34char * getlogin (void);
36char * cuserid (char * s); 35char * cuserid (char * s);
37unsigned getuid (void); 36unsigned getuid (void);
37unsigned geteuid (void);
38unsigned getegid (void); 38unsigned getegid (void);
39unsigned getgid (void); 39unsigned getgid (void);
40int setuid (unsigned uid); 40int setuid (unsigned uid);
diff --git a/lib-src/update-game-score.c b/lib-src/update-game-score.c
index 29c81a8936c..ec8b4317770 100644
--- a/lib-src/update-game-score.c
+++ b/lib-src/update-game-score.c
@@ -46,6 +46,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
46#include <sys/stat.h> 46#include <sys/stat.h>
47#include <getopt.h> 47#include <getopt.h>
48 48
49#ifdef WINDOWSNT
50#include "ntlib.h"
51#endif
52
49#define MAX_ATTEMPTS 5 53#define MAX_ATTEMPTS 5
50#define MAX_SCORES 200 54#define MAX_SCORES 200
51#define MAX_DATA_LEN 1024 55#define MAX_DATA_LEN 1024
diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h
index 9817cd78cad..ce2b5662775 100644
--- a/nt/inc/ms-w32.h
+++ b/nt/inc/ms-w32.h
@@ -368,9 +368,11 @@ typedef int sigset_t;
368typedef int ssize_t; 368typedef int ssize_t;
369#endif 369#endif
370 370
371#ifndef _POSIX /* MinGW64 */ 371#ifdef _W64 /* MinGW64 */
372#ifndef _POSIX
372typedef _sigset_t sigset_t; 373typedef _sigset_t sigset_t;
373#endif 374#endif
375#endif
374 376
375typedef void (_CALLBACK_ *signal_handler) (int); 377typedef void (_CALLBACK_ *signal_handler) (int);
376extern signal_handler sys_signal (int, signal_handler); 378extern signal_handler sys_signal (int, signal_handler);