From: Bo Y. <tec...@gm...> - 2007-11-30 03:03:18
|
Hi, Finally, I successfully compile Mozilla Trunk on both MinGW in windows and MinGW in Linux. And through this phrase, I make some modification both to w32api header files and Mozilla source code. I have submit two patch to the patch tracker of MinGW. I hope there are some body who review the patches can give me some feedback. I have some more changes and patches waiting to be submitted. But I am not very sure whether they are sane. So, I paste the two patches in this letter too, please give some feedback.(I use git for version control) Also, I think the crypto part of Windows is changing too much. I am now working on this part to make a more complete Mozilla build with MinGW. Regards! Bo diff --git a/include/wingdi.h b/include/wingdi.h index a618fc5..f78490e 100644 --- a/include/wingdi.h +++ b/include/wingdi.h @@ -1316,6 +1316,20 @@ extern "C" { #define DISPLAY_DEVICE_REMOVABLE 0x00000020 #define DISPLAY_DEVICE_MODESPRUNED 0x08000000 +/* ntmFlags field flags */ +#define NTM_REGULAR 0x00000040L +#define NTM_BOLD 0x00000020L +#define NTM_ITALIC 0x00000001L + +/* new in NT 5.0 */ +#define NTM_NONNEGATIVE_AC 0x00010000 +#define NTM_PS_OPENTYPE 0x00020000 +#define NTM_TT_OPENTYPE 0x00040000 +#define NTM_MULTIPLEMASTER 0x00080000 +#define NTM_TYPE1 0x00100000 +#define NTM_DSIG 0x00200000 + + #if (_WIN32_WINNT >= 0x0500) #define GGI_MARK_NONEXISTING_GLYPHS 1 #endif diff --git a/include/winuser.h b/include/winuser.h index aab36cc..1a5c5cd 100644 --- a/include/winuser.h +++ b/include/winuser.h @@ -1457,6 +1457,46 @@ extern "C" { #define WM_MENUGETOBJECT 0x0124 #define WM_MENUDRAG 0x0123 #define WM_APPCOMMAND 0x0319 + +//The appcommand message +#define ACCESS_STICKYKEYS 0x0001 +#define ACCESS_FILTERKEYS 0x0002 +#define ACCESS_MOUSEKEYS 0x0003 + +#define APPCOMMAND_BROWSER_BACKWARD 1 +#define APPCOMMAND_BROWSER_FORWARD 2 +#define APPCOMMAND_BROWSER_REFRESH 3 +#define APPCOMMAND_BROWSER_STOP 4 +#define APPCOMMAND_BROWSER_SEARCH 5 +#define APPCOMMAND_BROWSER_FAVORITES 6 +#define APPCOMMAND_BROWSER_HOME 7 +#define APPCOMMAND_VOLUME_MUTE 8 +#define APPCOMMAND_VOLUME_DOWN 9 +#define APPCOMMAND_VOLUME_UP 10 +#define APPCOMMAND_MEDIA_NEXTTRACK 11 +#define APPCOMMAND_MEDIA_PREVIOUSTRACK 12 +#define APPCOMMAND_MEDIA_STOP 13 +#define APPCOMMAND_MEDIA_PLAY_PAUSE 14 +#define APPCOMMAND_LAUNCH_MAIL 15 +#define APPCOMMAND_LAUNCH_MEDIA_SELECT 16 +#define APPCOMMAND_LAUNCH_APP1 17 +#define APPCOMMAND_LAUNCH_APP2 18 +#define APPCOMMAND_BASS_DOWN 19 +#define APPCOMMAND_BASS_BOOST 20 +#define APPCOMMAND_BASS_UP 21 +#define APPCOMMAND_TREBLE_DOWN 22 +#define APPCOMMAND_TREBLE_UP 23 + +#define FAPPCOMMAND_MOUSE 0x8000 +#define FAPPCOMMAND_KEY 0 +#define FAPPCOMMAND_OEM 0x1000 +#define FAPPCOMMAND_MASK 0xF000 + +#define GET_APPCOMMAND_LPARAM(lParam) ((short)(HIWORD(lParam) & ~FAPPCOMMAND_MASK)) +#define GET_DEVICE_LPARAM(lParam) ((WORD)(HIWORD(lParam) & FAPPCOMMAND_MASK)) +#define GET_MOUSEORKEY_LPARAM GET_DEVICE_LPARAM +#define GET_FLAGS_LPARAM(lParam) (LOWORD(lParam)) +#define GET_KEYSTATE_LPARAM(lParam) GET_FLAGS_LPARAM(lParam) #endif #define WM_MENUCHAR 288 #define WM_MENUSELECT 287 |
From: Jonathan W. <jf...@tp...> - 2007-11-30 03:10:45
|
Any chance of showing us some full build instructions for this build (including links to all the bugzilla bugs containing the patches needed to make it build) |
From: Bo Y. <tec...@gm...> - 2007-11-30 03:21:23
|
Jonathan Wilson : > Any chance of showing us some full build instructions for this build > (including links to all the bugzilla bugs containing the patches needed to > make it build) > Yeah, I am just filling bugs in bugzilla.mozilla.org and I will post a full process here. Regards! Bo |
From: Earnie B. <ea...@us...> - 2007-11-30 12:18:24
|
Quoting Bo Yang <tec...@gm...>: > > diff --git a/include/wingdi.h b/include/wingdi.h > index a618fc5..f78490e 100644 > --- a/include/wingdi.h > +++ b/include/wingdi.h > @@ -1316,6 +1316,20 @@ extern "C" { > #define DISPLAY_DEVICE_REMOVABLE 0x00000020 > #define DISPLAY_DEVICE_MODESPRUNED 0x08000000 > > +/* ntmFlags field flags */ > +#define NTM_REGULAR 0x00000040L > +#define NTM_BOLD 0x00000020L > +#define NTM_ITALIC 0x00000001L > + > +/* new in NT 5.0 */ These need to be moved to > +#define NTM_NONNEGATIVE_AC 0x00010000 > +#define NTM_PS_OPENTYPE 0x00020000 > +#define NTM_TT_OPENTYPE 0x00040000 > +#define NTM_MULTIPLEMASTER 0x00080000 > +#define NTM_TYPE1 0x00100000 > +#define NTM_DSIG 0x00200000 > + > + > #if (_WIN32_WINNT >= 0x0500) > #define GGI_MARK_NONEXISTING_GLYPHS 1 here. The conditional is for adding /* new in NT 5.0 */ so you can remove the comment once you move them to the conditional. > #endif > Remember to define the minimal supported version before including windows.h, e.g. #define WINVER 0x0500. Earnie |
From: Bo Y. <tec...@gm...> - 2007-11-30 13:54:37
|
Earnie Boyd : > Quoting Bo Yang <tec...@gm...>: > > >> diff --git a/include/wingdi.h b/include/wingdi.h >> index a618fc5..f78490e 100644 >> --- a/include/wingdi.h >> +++ b/include/wingdi.h >> @@ -1316,6 +1316,20 @@ extern "C" { >> #define DISPLAY_DEVICE_REMOVABLE 0x00000020 >> #define DISPLAY_DEVICE_MODESPRUNED 0x08000000 >> >> +/* ntmFlags field flags */ >> +#define NTM_REGULAR 0x00000040L >> +#define NTM_BOLD 0x00000020L >> +#define NTM_ITALIC 0x00000001L >> + >> +/* new in NT 5.0 */ >> > > These need to be moved to > >> +#define NTM_NONNEGATIVE_AC 0x00010000 >> +#define NTM_PS_OPENTYPE 0x00020000 >> +#define NTM_TT_OPENTYPE 0x00040000 >> +#define NTM_MULTIPLEMASTER 0x00080000 >> +#define NTM_TYPE1 0x00100000 >> +#define NTM_DSIG 0x00200000 >> + >> + >> #if (_WIN32_WINNT >= 0x0500) >> #define GGI_MARK_NONEXISTING_GLYPHS 1 >> > here. The conditional is for adding /* new in NT 5.0 */ so you can > remove the comment once you move them to the conditional. > > >> #endif >> >> > > Remember to define the minimal supported version before including > windows.h, e.g. #define WINVER 0x0500. > Thank you for your instruction. I will repair the patch and upload a new version. Thanks! Regards! Bo |
From: Chris S. <ir0...@gm...> - 2007-12-02 02:27:50
|
> Thank you for your instruction. I will repair the patch and upload a new > version. Thanks! Please do, as soon as I get the updated patch I will apply it to CVS. Cheers! Chris -- Chris Sutcliffe http://emergedesktop.org |
From: Chris S. <ir0...@gm...> - 2007-12-02 02:31:06
|
One more clarification, and please excuse me if I missed it, but what was the source for these patches? Chris -- Chris Sutcliffe http://emergedesktop.org |
From: Bo Y. <tec...@gm...> - 2007-12-02 06:18:11
|
2007/12/2, Chris Sutcliffe <ir0...@gm...>: > > One more clarification, and please excuse me if I missed it, but what > was the source for these patches? I am sorry, but what do you mean by saying what is the source of these patches? If you mean how I create these patches. I just search with Google or search in the header files on disk when I get a compile error from the Mozilla building phrase. And I find the header files and copy the necessary definition to the MinGW header and then make the patch. I am just wanting to ask about whether this approach is OK to add new features into w32api. Should I make sure all new added macros are recorded in the MSDN? Regards! Bo |
From: Brian D. <br...@de...> - 2007-12-02 12:10:27
|
Bo Yang wrote: > I just search > with Google or search in the header files on disk when I get a compile > error from the Mozilla building phrase. And I find the header files > and copy the necessary definition to the MinGW header and then make > the patch. If you are saying that you have just copied and pasted these from headers in the Microsoft Windows SDK then that's most certainly NOT ok. You cannot use Microsoft's headers as a source because the SDK license doesn't allow it, and it taints the project. Public web pages such as MSDN are fine though since you don't have to agree to any license to view them. Brian |
From: Bo Y. <tec...@gm...> - 2007-12-03 08:18:52
|
2007/12/2, Brian Dessent <br...@de...>: > > Bo Yang wrote: > > > I just search > > with Google or search in the header files on disk when I get a compile > > error from the Mozilla building phrase. And I find the header files > > and copy the necessary definition to the MinGW header and then make > > the patch. > > If you are saying that you have just copied and pasted these from > headers in the Microsoft Windows SDK then that's most certainly NOT ok. > You cannot use Microsoft's headers as a source because the SDK license > doesn't allow it, and it taints the project. Public web pages such as > MSDN are fine though since you don't have to agree to any license to > view them. So, I need to confirm that all the macros I added should appear either MSDN or some other published matierials. I will check and retype the macros and then submit the patches. That is not a easy work! Regards! Bo |