2007-09-14 17:07:53 +00:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
|
|
|
<group>
|
2009-11-17 17:00:01 +00:00
|
|
|
<module name="win32k" type="kernelmodedriver" installbase="system32" installname="win32k.sys" crt="libcntpr">
|
|
|
|
<importlibrary definition="win32k.pspec" />
|
|
|
|
<library>pseh</library>
|
|
|
|
<library>ntoskrnl</library>
|
|
|
|
<library>hal</library>
|
|
|
|
<library>ftfd</library>
|
|
|
|
<library>dxguid</library>
|
|
|
|
<file>win32k.rc</file>
|
|
|
|
<include base="win32k">.</include>
|
|
|
|
<include base="win32k">include</include>
|
|
|
|
<include base="win32k" root="intermediate">.</include>
|
!!! ATTENTION EVERYONE - do a make clean after getting this revision !!!
!!! ATTENTION PSEH USERS - new features & a change in rules !!!
modified include/reactos/libs/pseh/framebased.h
modified include/reactos/libs/pseh/framebased/internal.h
deleted include/reactos/libs/pseh/setjmp.h
modified lib/pseh/framebased.c
deleted lib/pseh/i386/setjmp.asm
modified lib/pseh/pseh.rbuild
Big PSEH revamp. If God is kind and merciful, this might be the last revision to PSEH ever
!!! RULE CHANGE !!! Obsoleted _SEH_NO_NATIVE_NLG, do NOT use it anymore, it will now cause fatal compile-time errors
!!! RULE CHANGE !!! As a side effect to the fix for a bug where a _SEH_TRY nested in a _SEH_HANDLE would lead to stack corruption, using "return" or "goto" from anywhere inside a PSEH block is now FORBIDDEN; all code that already did has been fixed in this revision
!!! NEW FEATURE !!! To leave a PSEH block from anywhere inside it, use the new _SEH_YIELD(<statement>) macro; examples: _SEH_YIELD(return value), _SEH_YIELD(goto label), _SEH_YIELD(returnvalue = value; goto label); ALWAYS ensure a _SEH_YIELD() leads outside the top-level _SEH_TRY block - do NOT goto into an ancestor _SEH_TRY block!!! Also note that _SEH_YIELD() disables SEH protection for the enclosed statement, so do NOT perform operations that might throw exceptions inside a _SEH_YIELD(); finally, ensure the enclosed statement does NOT allow execution to continue, or _SEH_YIELD() will get in an infinite loop; bear with me, for I have done the impossible, so don't expect miracles
Don't use a fake setjmp/longjmp *ever*, too dangerous; removed _SEHLongJmp & _SEHSetJmp, obsoleted _SEH_NO_NATIVE_NLG
On GCC, use __builtin_setjmp/__builtin_longjmp instead of setjmp/longjmp; they produce efficient code that plays well with optimizations, require no external library and are designed specifically for exception handling; should result in faster code and no hidden bugs
Use inline code to enter/leave trylevels; yields much better binary code
Inline handlers inside _SEH_PortableFrame_t instead of pointing to them; yields better code for the most common usages
Turn all top-level statements generated by macros from bare scopes into for loops, to ensure they are used correctly as stand-alone statements
Removed bitrotten old syntax, because it wasn't being used nor maintained
modified dll/3rdparty/freetype/freetype.rbuild
modified dll/win32/kernel32/kernel32.rbuild
modified drivers/network/tcpip/tcpip.rbuild
modified lib/drivers/ip/ip.rbuild
modified lib/rtl/rtl.rbuild
modified ntoskrnl/ntoskrnl.rbuild
modified subsystems/win32/win32k/win32k.rbuild
Removed obsolete _SEH_NO_NATIVE_NLG define
modified drivers/network/afd/afd/lock.c
modified drivers/network/afd/afd/tdi.c
modified subsystems/csr/csrsrv/api.c
modified subsystems/win32/win32k/ntuser/clipboard.c
modified subsystems/win32/win32k/ntuser/window.c
Use the new _SEH_YIELD macro to return/goto from SEH blocks
modified tools/rbuild/backend/mingw/modulehandler.cpp
modified tools/rbuild/backend/mingw/modulehandler.h
modified tools/rbuild/module.cpp
modified tools/rbuild/project.dtd
modified tools/rbuild/rbuild.h
Don't use the obsolete _SEH_NO_NATIVE_NLG flag anymore
Only add underscores to imported symbols when module is marked underscoresymbols="true"; fixes debugsup and, indirectly, PSEH tracing
modified lib/3rdparty/mingw/mingw.rbuild
Build with underscoresymbols="true"
svn path=/trunk/; revision=26224
2007-04-01 00:07:25 +00:00
|
|
|
<include base="ntoskrnl">include</include>
|
2005-07-24 21:42:00 +00:00
|
|
|
<include base="freetype">include</include>
|
2006-02-18 13:19:40 +00:00
|
|
|
<include base="ReactOS">include/reactos/subsys</include>
|
|
|
|
<include base="ReactOS">include/reactos/drivers</include>
|
2009-06-27 23:33:57 +00:00
|
|
|
<compilerflag compilerset="gcc">-fms-extensions</compilerflag>
|
2009-08-02 20:35:19 +00:00
|
|
|
<compilerflag compilerset="msc">/wd4276</compilerflag>
|
2007-08-30 20:18:38 +00:00
|
|
|
<define name="LANGPACK" />
|
2005-07-24 21:42:00 +00:00
|
|
|
<define name="_WIN32K_" />
|
2008-11-30 05:49:18 +00:00
|
|
|
<pch>pch.h</pch>
|
2006-08-26 21:18:33 +00:00
|
|
|
|
2007-08-03 11:54:33 +00:00
|
|
|
<directory name="dib" root="intermediate">
|
|
|
|
<file>dib8gen.c</file>
|
|
|
|
<file>dib16gen.c</file>
|
|
|
|
<file>dib32gen.c</file>
|
|
|
|
</directory>
|
|
|
|
|
2005-07-24 21:42:00 +00:00
|
|
|
<directory name="dib">
|
|
|
|
<file>dib1bpp.c</file>
|
|
|
|
<file>dib4bpp.c</file>
|
|
|
|
<file>dib8bpp.c</file>
|
|
|
|
<file>dib16bpp.c</file>
|
|
|
|
<file>dib24bpp.c</file>
|
|
|
|
<file>dib32bpp.c</file>
|
|
|
|
<file>dib.c</file>
|
2009-07-31 15:41:09 +00:00
|
|
|
<file>floodfill.c</file>
|
2009-08-02 15:49:17 +00:00
|
|
|
<file>stretchblt.c</file>
|
2006-08-26 21:18:33 +00:00
|
|
|
|
2007-07-19 12:55:58 +00:00
|
|
|
<if property="ARCH" value="i386">
|
|
|
|
<directory name="i386">
|
|
|
|
<file>dib24bpp_hline.s</file>
|
|
|
|
<file>dib32bpp_hline.s</file>
|
|
|
|
<file>dib32bpp_colorfill.s</file>
|
|
|
|
</directory>
|
|
|
|
</if>
|
|
|
|
<ifnot property="ARCH" value="i386">
|
|
|
|
<file>dib24bppc.c</file>
|
|
|
|
<file>dib32bppc.c</file>
|
|
|
|
</ifnot>
|
2005-07-24 21:42:00 +00:00
|
|
|
</directory>
|
|
|
|
<directory name="eng">
|
2009-04-10 23:53:09 +00:00
|
|
|
<file>alphablend.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>bitblt.c</file>
|
|
|
|
<file>engbrush.c</file>
|
2009-06-30 13:42:42 +00:00
|
|
|
<file>engevent.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>clip.c</file>
|
|
|
|
<file>copybits.c</file>
|
|
|
|
<file>debug.c</file>
|
|
|
|
<file>device.c</file>
|
|
|
|
<file>driverobj.c</file>
|
|
|
|
<file>error.c</file>
|
|
|
|
<file>float.c</file>
|
2008-08-30 01:01:52 +00:00
|
|
|
<if property="ARCH" value="i386">
|
|
|
|
<directory name="i386">
|
|
|
|
<file>floatobj.S</file>
|
|
|
|
</directory>
|
|
|
|
</if>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>gradient.c</file>
|
2010-01-30 21:12:42 +00:00
|
|
|
<file>ldevobj.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>lineto.c</file>
|
2009-08-10 20:19:33 +00:00
|
|
|
<file>mapping.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>mem.c</file>
|
|
|
|
<file>engmisc.c</file>
|
|
|
|
<file>mouse.c</file>
|
|
|
|
<file>paint.c</file>
|
2010-01-30 21:12:42 +00:00
|
|
|
<file>pdevobj.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>perfcnt.c</file>
|
|
|
|
<file>semaphor.c</file>
|
|
|
|
<file>sort.c</file>
|
2007-12-25 19:52:42 +00:00
|
|
|
<file>string.c</file>
|
2009-04-10 23:53:09 +00:00
|
|
|
<file>stretchblt.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>surface.c</file>
|
|
|
|
<file>transblt.c</file>
|
|
|
|
<file>engwindow.c</file>
|
|
|
|
<file>xlate.c</file>
|
2005-07-24 21:42:00 +00:00
|
|
|
</directory>
|
|
|
|
<directory name="ldr">
|
|
|
|
<file>loader.c</file>
|
|
|
|
</directory>
|
|
|
|
<directory name="main">
|
|
|
|
<file>dllmain.c</file>
|
|
|
|
</directory>
|
|
|
|
<directory name="misc">
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>driver.c</file>
|
|
|
|
<file>err.c</file>
|
2009-06-25 02:43:38 +00:00
|
|
|
<file>file.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>math.c</file>
|
2009-01-05 03:34:10 +00:00
|
|
|
<file>rtlstr.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>copy.c</file>
|
2009-06-25 02:43:38 +00:00
|
|
|
<file>registry.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>usrheap.c</file>
|
|
|
|
<if property="ARCH" value="i386">
|
2008-08-30 01:01:52 +00:00
|
|
|
<directory name="i386">
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>cos_asm.s</file>
|
|
|
|
<file>sin_asm.s</file>
|
|
|
|
<file>atan2_asm.s</file>
|
|
|
|
<file>floor_asm.s</file>
|
|
|
|
<file>ceil_asm.s</file>
|
|
|
|
</directory>
|
|
|
|
</if>
|
2005-07-24 21:42:00 +00:00
|
|
|
</directory>
|
|
|
|
<directory name="ntddraw">
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>ddraw.c</file>
|
|
|
|
<file>dd.c</file>
|
|
|
|
<file>ddsurf.c</file>
|
2007-10-14 12:07:23 +00:00
|
|
|
<file>d3d.c</file>
|
2007-10-14 15:18:29 +00:00
|
|
|
<file>dvp.c</file>
|
2007-10-14 12:07:23 +00:00
|
|
|
<file>mocomp.c</file>
|
2007-10-15 12:38:50 +00:00
|
|
|
<file>eng.c</file>
|
|
|
|
<file>dxeng.c</file>
|
2005-07-24 21:42:00 +00:00
|
|
|
</directory>
|
|
|
|
<directory name="ntuser">
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>accelerator.c</file>
|
|
|
|
<file>callback.c</file>
|
|
|
|
<file>callproc.c</file>
|
|
|
|
<file>caret.c</file>
|
|
|
|
<file>class.c</file>
|
|
|
|
<file>clipboard.c</file>
|
|
|
|
<file>csr.c</file>
|
|
|
|
<file>cursoricon.c</file>
|
2008-07-13 23:31:00 +00:00
|
|
|
<file>defwnd.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>desktop.c</file>
|
2008-05-11 23:51:55 +00:00
|
|
|
<file>display.c</file>
|
2008-04-17 01:48:34 +00:00
|
|
|
<file>event.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>focus.c</file>
|
|
|
|
<file>guicheck.c</file>
|
|
|
|
<file>hook.c</file>
|
|
|
|
<file>hotkey.c</file>
|
|
|
|
<file>input.c</file>
|
|
|
|
<file>keyboard.c</file>
|
|
|
|
<file>kbdlayout.c</file>
|
|
|
|
<file>menu.c</file>
|
|
|
|
<file>message.c</file>
|
|
|
|
<file>metric.c</file>
|
|
|
|
<file>misc.c</file>
|
|
|
|
<file>monitor.c</file>
|
|
|
|
<file>msgqueue.c</file>
|
2008-03-21 00:07:06 +00:00
|
|
|
<file>ntstubs.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>ntuser.c</file>
|
|
|
|
<file>painting.c</file>
|
|
|
|
<file>prop.c</file>
|
|
|
|
<file>scrollbar.c</file>
|
|
|
|
<file>session.c</file>
|
2008-03-21 00:07:06 +00:00
|
|
|
<file>simplecall.c</file>
|
|
|
|
<file>sysparams.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>timer.c</file>
|
|
|
|
<file>useratom.c</file>
|
|
|
|
<file>vis.c</file>
|
|
|
|
<file>windc.c</file>
|
|
|
|
<file>window.c</file>
|
|
|
|
<file>winpos.c</file>
|
|
|
|
<file>winsta.c</file>
|
|
|
|
<file>object.c</file>
|
2005-07-24 21:42:00 +00:00
|
|
|
</directory>
|
|
|
|
<directory name="objects">
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>arc.c</file>
|
|
|
|
<file>bezier.c</file>
|
2007-08-23 16:38:23 +00:00
|
|
|
<file>bitblt.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>bitmaps.c</file>
|
|
|
|
<file>brush.c</file>
|
|
|
|
<file>cliprgn.c</file>
|
|
|
|
<file>coord.c</file>
|
2009-03-23 03:43:11 +00:00
|
|
|
<file>dcattr.c</file>
|
|
|
|
<file>dclife.c</file>
|
|
|
|
<file>dcobjs.c</file>
|
|
|
|
<file>dcstate.c</file>
|
2007-08-21 05:01:00 +00:00
|
|
|
<file>dcutil.c</file>
|
2009-03-23 03:43:11 +00:00
|
|
|
<file>device.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>dibobj.c</file>
|
2008-06-29 01:19:46 +00:00
|
|
|
<file>drawing.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>fillshap.c</file>
|
2008-10-29 21:57:04 +00:00
|
|
|
<file>font.c</file>
|
|
|
|
<file>freetype.c</file>
|
2007-11-02 04:23:31 +00:00
|
|
|
<file>gdibatch.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>gdiobj.c</file>
|
|
|
|
<file>icm.c</file>
|
|
|
|
<file>line.c</file>
|
2008-06-01 05:40:53 +00:00
|
|
|
<file>metafile.c</file>
|
2009-07-04 00:18:32 +00:00
|
|
|
<file>palette.c</file>
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>path.c</file>
|
|
|
|
<file>pen.c</file>
|
|
|
|
<file>polyfill.c</file>
|
|
|
|
<file>print.c</file>
|
|
|
|
<file>rect.c</file>
|
|
|
|
<file>region.c</file>
|
|
|
|
<file>stockobj.c</file>
|
|
|
|
<file>text.c</file>
|
|
|
|
<file>wingl.c</file>
|
2008-08-30 01:01:52 +00:00
|
|
|
<file>xformobj.c</file>
|
2005-07-24 21:42:00 +00:00
|
|
|
</directory>
|
|
|
|
<directory name="stubs">
|
2007-07-19 12:55:58 +00:00
|
|
|
<file>stubs.c</file>
|
2009-08-10 22:20:28 +00:00
|
|
|
<file>umpdstubs.c</file>
|
2005-07-24 21:42:00 +00:00
|
|
|
</directory>
|
|
|
|
</module>
|
2007-09-14 17:07:53 +00:00
|
|
|
</group>
|