Mercurial > hg > xemacs-beta
comparison src/unexnt.c @ 2500:3d8143fc88e1
[xemacs-hg @ 2005-01-24 23:33:30 by ben]
get working with VC7
config.inc.samp: Declare OPTIONAL_LIBRARY_DIR as root of library directories.
Redo all graphics library defaults to mirror the versions and
directories in the current binary aux distribution on xemacs
web site. Enable TIFF and COMPFACE by default since you can
now compile with them and binary libs are provided.
xemacs.mak: Put our own directories first in case of conflict (e.g. config.h
in compface).
xemacs.mak: Use MSVCRT to avoid link problems.
s/windowsnt.h:
bytecode.c, print.c: Add casts to avoid warning.
compiler.h: Add MSC_VERSION and include definitions of DOESNT_RETURN and
friends here, like for GCC. Need different definitions for VC7
and VC6.
s/windowsnt.h: Remove stuff moved to compiler.h. Disable warning 4646 ("function
declared with __declspec(noreturn) has non-void return type")
on VC7 since lots of Lisp primitives trigger this and there is
no easy way to kludge around the warning.
glyphs-eimage.c: Some really nasty hacks to allow TIFF and JPEG to both be compiled.
#### The better solution is to move the TIFF and JPEG code to
different files.
glyphs-msw.c: Define __STDC__ to avoid problems with compface.h.
intl-auto-encap-win32.c, intl-auto-encap-win32.h, intl-encap-win32.c, syswindows.h: Those wankers at Microsoft cannot leave well enough alone.
Various functions change parameter types semi-randomly between
VC6 and VC7, so we need to include our own versions that
can handle both kinds with appropriate casting.
EmacsFrame.c, EmacsShell-sub.c, EmacsShell.c, alloc.c, alloca.c, buffer.c, bytecode.c, charset.h, chartab.c, cm.c, console-stream.c, console.c, data.c, debug.h, device-msw.c, device-tty.c, device-x.c, doprnt.c, dumper.c, dynarr.c, elhash.c, emacs.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, extents.c, faces.c, file-coding.c, fileio.c, fns.c, font-lock.c, frame-gtk.c, frame-x.c, frame.c, free-hook.c, gccache-gtk.c, glyphs-eimage.c, glyphs-gtk.c, glyphs-msw.c, glyphs-x.c, glyphs.c, gtk-glue.c, gutter.c, input-method-xlib.c, insdel.c, intl-win32.c, keymap.c, lisp.h, lread.c, lstream.c, macros.c, malloc.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, mule-coding.c, native-gtk-toolbar.c, number.c, objects-msw.c, objects.c, print.c, process-nt.c, process-unix.c, process.c, ralloc.c, rangetab.c, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-tty.c, redisplay-x.c, redisplay.c, regex.c, scrollbar-gtk.c, scrollbar-x.c, search.c, select-x.c, signal.c, specifier.c, specifier.h, strftime.c, sunplay.c, symbols.c, sysdep.c, sysproc.h, text.c, text.h, toolbar-common.c, toolbar-msw.c, toolbar.c, ui-gtk.c, unexnt.c, unicode.c, win32.c, window.c, xgccache.c, s/windowsnt.h: abort() -> ABORT(). Eliminate preprocessor games with abort()
since it creates huge problems in VC7, solvable only by including
massive amounts of files in every compile (and not worth it).
author | ben |
---|---|
date | Mon, 24 Jan 2005 23:34:34 +0000 |
parents | ab71ad6ff3dd |
children | 95c4ced5c07c |
comparison
equal
deleted
inserted
replaced
2499:4c5ee4d2e921 | 2500:3d8143fc88e1 |
---|---|
524 unsigned long index, n_read; | 524 unsigned long index, n_read; |
525 | 525 |
526 file = qxeCreateFile (filename, GENERIC_READ, FILE_SHARE_READ, NULL, | 526 file = qxeCreateFile (filename, GENERIC_READ, FILE_SHARE_READ, NULL, |
527 OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); | 527 OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); |
528 if (file == INVALID_HANDLE_VALUE) | 528 if (file == INVALID_HANDLE_VALUE) |
529 abort (); | 529 ABORT (); |
530 | 530 |
531 /* Seek to where the .bss section is tucked away after the heap... */ | 531 /* Seek to where the .bss section is tucked away after the heap... */ |
532 index = heap_index_in_executable + get_committed_heap_size (); | 532 index = heap_index_in_executable + get_committed_heap_size (); |
533 if (SetFilePointer (file, index, NULL, FILE_BEGIN) == 0xFFFFFFFF) | 533 if (SetFilePointer (file, index, NULL, FILE_BEGIN) == 0xFFFFFFFF) |
534 abort (); | 534 ABORT (); |
535 | 535 |
536 /* Ok, read in the saved .bss section and initialize all | 536 /* Ok, read in the saved .bss section and initialize all |
537 uninitialized variables. */ | 537 uninitialized variables. */ |
538 if (!ReadFile (file, bss_start, bss_size, &n_read, NULL)) | 538 if (!ReadFile (file, bss_start, bss_size, &n_read, NULL)) |
539 abort (); | 539 ABORT (); |
540 | 540 |
541 CloseHandle (file); | 541 CloseHandle (file); |
542 #endif | 542 #endif |
543 } | 543 } |
544 | 544 |
552 unsigned long size, upper_size, n_read; | 552 unsigned long size, upper_size, n_read; |
553 | 553 |
554 file = qxeCreateFile (filename, GENERIC_READ, FILE_SHARE_READ, NULL, | 554 file = qxeCreateFile (filename, GENERIC_READ, FILE_SHARE_READ, NULL, |
555 OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); | 555 OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); |
556 if (file == INVALID_HANDLE_VALUE) | 556 if (file == INVALID_HANDLE_VALUE) |
557 abort (); | 557 ABORT (); |
558 | 558 |
559 size = GetFileSize (file, &upper_size); | 559 size = GetFileSize (file, &upper_size); |
560 file_mapping = qxeCreateFileMapping (file, NULL, PAGE_WRITECOPY, | 560 file_mapping = qxeCreateFileMapping (file, NULL, PAGE_WRITECOPY, |
561 0, size, NULL); | 561 0, size, NULL); |
562 if (!file_mapping) | 562 if (!file_mapping) |
563 abort (); | 563 ABORT (); |
564 | 564 |
565 size = get_committed_heap_size (); | 565 size = get_committed_heap_size (); |
566 file_base = MapViewOfFileEx (file_mapping, FILE_MAP_COPY, 0, | 566 file_base = MapViewOfFileEx (file_mapping, FILE_MAP_COPY, 0, |
567 heap_index_in_executable, size, | 567 heap_index_in_executable, size, |
568 get_heap_start ()); | 568 get_heap_start ()); |
576 | 576 |
577 CloseHandle (file_mapping); | 577 CloseHandle (file_mapping); |
578 | 578 |
579 if (VirtualAlloc (get_heap_start (), get_committed_heap_size (), | 579 if (VirtualAlloc (get_heap_start (), get_committed_heap_size (), |
580 MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE) == NULL) | 580 MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE) == NULL) |
581 abort (); | 581 ABORT (); |
582 | 582 |
583 /* Seek to the location of the heap data in the executable. */ | 583 /* Seek to the location of the heap data in the executable. */ |
584 if (SetFilePointer (file, heap_index_in_executable, | 584 if (SetFilePointer (file, heap_index_in_executable, |
585 NULL, FILE_BEGIN) == 0xFFFFFFFF) | 585 NULL, FILE_BEGIN) == 0xFFFFFFFF) |
586 abort (); | 586 ABORT (); |
587 | 587 |
588 /* Read in the data. */ | 588 /* Read in the data. */ |
589 if (!ReadFile (file, get_heap_start (), | 589 if (!ReadFile (file, get_heap_start (), |
590 get_committed_heap_size (), &n_read, NULL)) | 590 get_committed_heap_size (), &n_read, NULL)) |
591 abort (); | 591 ABORT (); |
592 | 592 |
593 CloseHandle (file); | 593 CloseHandle (file); |
594 } | 594 } |