comparison src/syswindows.h @ 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 902d5bd9b75c
comparison
equal deleted inserted replaced
2499:4c5ee4d2e921 2500:3d8143fc88e1
577 #undef UpdateICMRegKey 577 #undef UpdateICMRegKey
578 #define UpdateICMRegKey error use qxeUpdateICMRegKey or UpdateICMRegKeyA/UpdateICMRegKeyW 578 #define UpdateICMRegKey error use qxeUpdateICMRegKey or UpdateICMRegKeyA/UpdateICMRegKeyW
579 #endif 579 #endif
580 BOOL qxeUpdateICMRegKey (DWORD arg1, Extbyte * arg2, Extbyte * arg3, UINT arg4); 580 BOOL qxeUpdateICMRegKey (DWORD arg1, Extbyte * arg2, Extbyte * arg3, UINT arg4);
581 581
582 /* would be encapsulatable but for header changes in different versions of VC++ */
583
584 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
585 #undef EnumResourceTypes
586 #define EnumResourceTypes error_use_qxeEnumResourceTypes_or_EnumResourceTypesA_and_EnumResourceTypesW
587 #endif
588 #if MSC_VERSION >= 1300
589 BOOL qxeEnumResourceTypes (HMODULE hModule, ENUMRESTYPEPROCW lpEnumFunc, LONG lParam);
590 #else
591 BOOL qxeEnumResourceTypes (HMODULE hModule, ENUMRESTYPEPROC lpEnumFunc, LONG lParam);
592 #endif
593
594 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
595 #undef EnumResourceNames
596 #define EnumResourceNames error_use_qxeEnumResourceNames_or_EnumResourceNamesA_and_EnumResourceNamesW
597 #endif
598 #if MSC_VERSION >= 1300
599 BOOL qxeEnumResourceNames (HMODULE hModule, const Extbyte * lpType, ENUMRESNAMEPROCW lpEnumFunc, LONG lParam);
600 #else
601 BOOL qxeEnumResourceNames (HMODULE hModule, const Extbyte * lpType, ENUMRESNAMEPROC lpEnumFunc, LONG lParam);
602 #endif
603
604 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
605 #undef EnumResourceLanguages
606 #define EnumResourceLanguages error_use_qxeEnumResourceLanguages_or_EnumResourceLanguagesA_and_EnumResourceLanguagesW
607 #endif
608 #if MSC_VERSION >= 1300
609 BOOL qxeEnumResourceLanguages (HMODULE hModule, const Extbyte * lpType, const Extbyte * lpName, ENUMRESLANGPROCW lpEnumFunc, LONG lParam);
610 #else
611 BOOL qxeEnumResourceLanguages (HMODULE hModule, const Extbyte * lpType, const Extbyte * lpName, ENUMRESLANGPROC lpEnumFunc, LONG lParam);
612 #endif
613
582 /* files */ 614 /* files */
583 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED 615 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
584 #undef FindFirstFile 616 #undef FindFirstFile
585 #define FindFirstFile error use qxeFindFirstFile or FindFirstFileA/FindFirstFileW 617 #define FindFirstFile error use qxeFindFirstFile or FindFirstFileA/FindFirstFileW
586 #endif 618 #endif
676 #undef CreateFontIndirect 708 #undef CreateFontIndirect
677 #define CreateFontIndirect error use qxeCreateFontIndirect or CreateFontIndirectA/CreateFontIndirectW 709 #define CreateFontIndirect error use qxeCreateFontIndirect or CreateFontIndirectA/CreateFontIndirectW
678 #endif 710 #endif
679 HFONT qxeCreateFontIndirect (CONST LOGFONTW *lplf); 711 HFONT qxeCreateFontIndirect (CONST LOGFONTW *lplf);
680 712
713 #if defined (HAVE_MS_WINDOWS)
681 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED 714 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
682 #undef ImmSetCompositionFont 715 #undef ImmSetCompositionFont
683 #define ImmSetCompositionFont error use qxeImmSetCompositionFont or ImmSetCompositionFontA/ImmSetCompositionFontW 716 #define ImmSetCompositionFont error use qxeImmSetCompositionFont or ImmSetCompositionFontA/ImmSetCompositionFontW
684 #endif 717 #endif
685 BOOL qxeImmSetCompositionFont (HIMC imc, LOGFONTW *lplf); 718 BOOL qxeImmSetCompositionFont (HIMC imc, LOGFONTW *lplf);
686 719 #endif /* defined (HAVE_MS_WINDOWS) */
720
721 #if defined (HAVE_MS_WINDOWS)
687 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED 722 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
688 #undef ImmGetCompositionFont 723 #undef ImmGetCompositionFont
689 #define ImmGetCompositionFont error use qxeImmGetCompositionFont or ImmGetCompositionFontA/ImmGetCompositionFontW 724 #define ImmGetCompositionFont error use qxeImmGetCompositionFont or ImmGetCompositionFontA/ImmGetCompositionFontW
690 #endif 725 #endif
691 BOOL qxeImmGetCompositionFont (HIMC imc, LOGFONTW *lplf); 726 BOOL qxeImmGetCompositionFont (HIMC imc, LOGFONTW *lplf);
727 #endif /* defined (HAVE_MS_WINDOWS) */
728
729 #if defined (HAVE_MS_WINDOWS)
730 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
731 #undef ImmSetCompositionString
732 #define ImmSetCompositionString error_use_qxeImmSetCompositionString_or_ImmSetCompositionStringA_and_ImmSetCompositionStringW
733 #endif
734 #if MSC_VERSION >= 1300
735 BOOL qxeImmSetCompositionString (HIMC arg1, DWORD dwIndex, LPVOID lpComp, DWORD arg4, LPCVOID lpRead, DWORD arg6);
736 #else
737 BOOL qxeImmSetCompositionString (HIMC arg1, DWORD dwIndex, LPCVOID lpComp, DWORD arg4, LPCVOID lpRead, DWORD arg6);
738 #endif
739 #endif /* defined (HAVE_MS_WINDOWS) */
692 740
693 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED 741 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
694 #undef GetObject 742 #undef GetObject
695 #define GetObject error use qxeGetObject or GetObjectA/GetObjectW 743 #define GetObject error use qxeGetObject or GetObjectA/GetObjectW
696 #endif 744 #endif