comparison notes.txt @ 5920:0f2338afbabf cygwin

Minimum necessary to get started: sufficient to compile OK, run -nw, but not with window
author Henry Thompson <ht@markup.co.uk>
date Mon, 21 Apr 2014 11:42:50 +0100
parents
children 68639fb08af8
comparison
equal deleted inserted replaced
5919:2800105fcc9f 5920:0f2338afbabf
1 Brute-forced a set of changes which allowed
2 make unicode-encapsulate
3 to work
4 1) Patched make-mswin-unicode.pl to match macros with pointer return types;
5 2) Updated intl-encap-win32.c to deal with
6 a) added functions;
7 b) refactoring of w32api include files.
8
9 Renamed DEVICE_TYPE to DEVICE_TYPE_X in device-impl.h and everywhere
10 it is used to avoid collision with DEVICE_TYPE in winioctl.h
11
12 Minimal fixes to get to compile wrt int vs. intptr_t in
13 event-msw.c
14
15 event-msw.c:67:3: error: #error Something is wrong -- you are neither
16 Windows native (possibly MinGW) nor Cygwin. # error Something is
17 wrong -- you are neither Windows native (possibly MinGW) nor Cygwin.
18
19 Ah, need a more up-to-date config.{sub,guess}, got one from somewhere
20 dated timestamp='2013-06-10'
21
22 Copy src/s/cygwin32.h to cygwin64.h and src/m/intel386.h to x86_64.h
23
24 And a configure.ac which recognises cygwin64
25
26 Remove cygwin_conv_to_posix_path from lib-src/gnuclient.c
27
28 Replace calls to qxeGetWindowLong(... GWL_..) with
29 qxeGetWindowLongPtr(... GWLP_...) (w. LONG_PTR result if used)
30 after re-making unicode-encapsulate
31 And one LONG l = qxeGetWindowLong (hwnd, XWL_FRAMEOBJ) to LONG_PTR l = qxeGetWindowLongPtr (hwnd, XWL_FRAMEOBJ)
32
33 Ah, several bugs in new header files in w32api, required some
34 additions to wfun_re in make-mswin-unicode.pl
35
36 That's enough to get event-msw.c to compile, although there are some
37 size-related warnings.
38
39 similar problem in frame-msw.c:
40 qxeSetClassLong (FRAME_MSWINDOWS_HANDLE (f), GCL_HICON
41
42 and in glyphs-msw.c:
43 qxeGetWindowLong
44 (FRAME_MSWINDOWS_HANDLE (XFRAME (frame)),
45 GWL_HINSTANCE),
46
47 and scrollbar-msw.c
48 also
49 (void *) opaque =
50 (void *)qxeGetWindowLong (SCROLLBAR_MSW_HANDLE (sb), GWL_USERDATA);
51
52 LONG_PTR opaque =
53 qxeGetWindowLongPtr (SCROLLBAR_MSW_HANDLE (sb), GWLP_USERDATA);
54
55 and dialog-msw.c:197:31: error: ‘DWL_USER’ undeclared (first use in this function)
56 qxeSetWindowLong (hwnd, DWL_USER, l_param);
57
58 Compiles all the way through, links OK, temacs runs!
59 Build completes
60 xemacs -nw works
61 but xemacs as such does not:
62 > ./xemacs
63 Fatal error: assertion failed, file event-msw.c, line 4149, !NILP (Vmswindows_frame_being_created)